Don't modify minibuffer variables globally

* lisp/files.el (cd): Use setq-local instead.  (Bug#25260)
This commit is contained in:
Leo Liu 2016-12-25 14:37:51 +08:00
parent 5b5e036651
commit 8b7182626e

View file

@ -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 "./"))))