Fix for another bit of bug#8095, re dir-locals.

* lisp/help-fns.el (describe-variable): Return consistent results when a
dir-local from a file came from the cache or did not.
If a dir-local has no associated file, say it came from a "directory".
This commit is contained in:
Glenn Morris 2011-02-24 00:26:25 -08:00
parent 07915ed93c
commit 303f9ae014
2 changed files with 18 additions and 8 deletions

View file

@ -1,11 +1,15 @@
2011-02-24 Glenn Morris <rgm@gnu.org>
* help-fns.el (describe-variable): Return consistent results when a
dir-local from a file came from the cache or did not. (Bug#8095)
If a dir-local has no associated file, say it came from a "directory".
* files.el (hack-dir-local-variables): Fix setting of `dir-name'.
(hack-local-variables-confirm, hack-local-variables-filter): Doc fix.
* files.el (dir-locals-find-file): Doc fix.
Fix the check for cache elements that have no associated file,
and the mtime check for those that do.
and the mtime check for those that do. (Bug#8095)
* dired-x.el (dired-hack-local-variables):
Handle interrupts during hacking local variables. (Bug#5216)

View file

@ -748,15 +748,21 @@ it is displayed along with the global value."
(setq extra-line t)
(if (member (cons variable val) dir-local-variables-alist)
(let ((file (and (buffer-file-name)
(not (file-remote-p (buffer-file-name)))
(dir-locals-find-file (buffer-file-name)))))
(not (file-remote-p (buffer-file-name)))
(dir-locals-find-file
(buffer-file-name))))
(type "file"))
(princ " This variable is a directory local variable")
(when file
(princ (concat "\n from the file \""
(if (consp file)
(car file)
file)
"\"")))
(if (consp file) ; result from cache
;; If the cache element has an mtime, we
;; assume it came from a file.
(if (nth 2 file)
(setq file (expand-file-name
dir-locals-file (car file)))
;; Otherwise, assume it was set directly.
(setq type "directory")))
(princ (format "\n from the %s \"%s\"" type file)))
(princ ".\n"))
(princ " This variable is a file local variable.\n")))