From 2ee20f24e8b7ed14bdb77c8b6f2ee12638f90a9d Mon Sep 17 00:00:00 2001 From: Juri Linkov Date: Sun, 19 Jul 2009 16:56:22 +0000 Subject: [PATCH] (describe-variable): Add information about file-local and dir-local variables. --- lisp/ChangeLog | 15 +++++++++++++++ lisp/help-fns.el | 12 ++++++++++++ 2 files changed, 27 insertions(+) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index 2d5465a3d4f..042217c637e 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,3 +1,18 @@ +2009-07-19 Juri Linkov + + * files.el (ignored-local-variables): Add `dir-local-variables-alist'. + (dir-local-variables-alist): New buffer-local variable. + (hack-local-variables-filter): If variable is not dir-local, + i.e. `dir-name' is nil, then remove it from `dir-local-variables-alist', + because file-local overrides dir-local. + (c-postprocess-file-styles): + Remove obsolete declaration. + (hack-dir-local-variables): Add dir-local variable/value pair to + `dir-local-variables-alist' and remove duplicates. Doc fix. + + * help-fns.el (describe-variable): Add information about + file-local and dir-local variables. + 2009-07-19 Chong Yidong * files.el (hack-local-variables-filter): Rewrite. diff --git a/lisp/help-fns.el b/lisp/help-fns.el index cbc140255e0..d45976cc8dc 100644 --- a/lisp/help-fns.el +++ b/lisp/help-fns.el @@ -710,6 +710,18 @@ it is displayed along with the global value." (use (format ";\n use `%s' instead." (car obsolete))) (t "."))) (terpri)) + + (when (member (cons variable val) file-local-variables-alist) + (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))))) + (princ " This variable is a directory local variable") + (if file (princ (concat "\n from the file \"" file "\""))) + (princ ".\n")) + (princ " This variable is a file local variable.\n"))) + (when safe-var (setq extra-line t) (princ " This variable is safe as a file local variable ") -- 2.39.2