summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLeo Liu <sdl.web@gmail.com>2016-12-25 14:37:51 +0800
committerLeo Liu <sdl.web@gmail.com>2016-12-25 14:37:51 +0800
commit8b7182626e3dac556d1fc38a1193e7d5e386488e (patch)
tree075445746a74357cbc09654c809eb748fe513f97
parent5b5e03665155c841b775d2d0b97ed16396ffc918 (diff)
downloademacs-8b7182626e3dac556d1fc38a1193e7d5e386488e.tar.gz
Don't modify minibuffer variables globally
* lisp/files.el (cd): Use setq-local instead. (Bug#25260)
-rw-r--r--lisp/files.el14
1 files changed, 7 insertions, 7 deletions
diff --git a/lisp/files.el b/lisp/files.el
index 45646b186af..962ced4f077 100644
--- a/lisp/files.el
+++ b/lisp/files.el
@@ -719,13 +719,13 @@ The path separator is colon in GNU and GNU-like systems."
;; (which will lead to the use of B/a).
(minibuffer-with-setup-hook
(lambda ()
- (setq minibuffer-completion-table
- (apply-partially #'locate-file-completion-table
- cd-path nil))
- (setq minibuffer-completion-predicate
- (lambda (dir)
- (locate-file dir cd-path nil
- (lambda (f) (and (file-directory-p f) 'dir-ok))))))
+ (setq-local minibuffer-completion-table
+ (apply-partially #'locate-file-completion-table
+ cd-path nil))
+ (setq-local minibuffer-completion-predicate
+ (lambda (dir)
+ (locate-file dir cd-path nil
+ (lambda (f) (and (file-directory-p f) 'dir-ok))))))
(unless cd-path
(setq cd-path (or (parse-colon-path (getenv "CDPATH"))
(list "./"))))