Give permanent-local property to per-buffer variables without defaults.

* doc/emacs/custom.texi (Examining): Update C-h v message.

* lisp/bindings.el: Assign a non-nil permanent-local property to
per-buffer variables which lack a default value.

* lisp/help-fns.el (describe-variable): In the "automatically becomes
local" notice, take note of permanent-local variables.

Fixes: debbugs:11930
This commit is contained in:
Chong Yidong 2012-07-13 22:25:59 +08:00
parent 2277de02b9
commit dea31bd311
5 changed files with 29 additions and 3 deletions

View file

@ -1,5 +1,7 @@
2012-07-13 Chong Yidong <cyd@gnu.org>
* custom.texi (Examining): Update C-h v message.
* buffers.texi (Misc Buffer): Document view-read-only.
2012-07-07 Chong Yidong <cyd@gnu.org>

View file

@ -766,7 +766,7 @@ displays something like this:
fill-column is a variable defined in `C source code'.
fill-column's value is 70
Automatically becomes buffer-local when set in any fashion.
Automatically becomes buffer-local when set.
This variable is safe as a file local variable if its value
satisfies the predicate `integerp'.

View file

@ -1,3 +1,11 @@
2012-07-13 Chong Yidong <cyd@gnu.org>
* bindings.el: Assign a non-nil permanent-local property to
per-buffer variables which lack a default value (Bug#11930).
* help-fns.el (describe-variable): In the "automatically becomes
local" notice, take note of permanent-local variables.
2012-07-13 Chong Yidong <cyd@gnu.org>
* files.el (toggle-read-only): Doc fix and code cleanup. New arg

View file

@ -650,9 +650,22 @@ okay. See `mode-line-format'.")
user-error ;; That's the main one!
))
(make-variable-buffer-local 'indent-tabs-mode)
;; These per-buffer variables are never reset by
;; `kill-all-local-variables', because they have no default value.
;; For consistency, we give them the `permanent-local' property, even
;; though `kill-all-local-variables' does not actually consult it.
(mapcar (lambda (sym) (put sym 'permanent-local t))
'(buffer-file-name default-directory buffer-backed-up
buffer-saved-size buffer-auto-save-file-name
buffer-read-only buffer-undo-list mark-active
point-before-scroll buffer-file-truename
buffer-file-format buffer-auto-save-file-format
buffer-display-count buffer-display-time
enable-multibyte-characters))
;; We have base64, md5 and sha1 functions built in now.
(provide 'base64)
(provide 'md5)

View file

@ -852,7 +852,10 @@ it is displayed along with the global value."
(with-temp-buffer
(local-variable-if-set-p variable))))
(setq extra-line t)
(princ " Automatically becomes buffer-local when set in any fashion.\n"))
(princ " Automatically becomes ")
(if (get variable 'permanent-local)
(princ "permanently "))
(princ "buffer-local when set.\n"))
;; Mention if it's an alias
(unless (eq alias variable)