From: Glenn Morris Date: Wed, 22 Nov 2017 21:36:07 +0000 (-0500) Subject: * lisp/bindings.el (buffer-file-coding-system): X-Git-Tag: emacs-26.0.91~263 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=ed2c542920da2a0d99de01e863cbd4ab7dfe13d7;p=emacs.git * lisp/bindings.el (buffer-file-coding-system): Add explicit permanent-local mark. ; * src/buffer.c (init_buffer_once): Comment. --- diff --git a/lisp/bindings.el b/lisp/bindings.el index 3a679f778ab..2b664044de8 100644 --- a/lisp/bindings.el +++ b/lisp/bindings.el @@ -689,6 +689,7 @@ okay. See `mode-line-format'.") ;; `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. +;; See init_buffer_once in buffer.c for the origins of this list. (mapc (lambda (sym) (put sym 'permanent-local t)) '(buffer-file-name default-directory buffer-backed-up @@ -697,7 +698,8 @@ okay. See `mode-line-format'.") point-before-scroll buffer-file-truename buffer-file-format buffer-auto-save-file-format buffer-display-count buffer-display-time - enable-multibyte-characters)) + enable-multibyte-characters + buffer-file-coding-system)) ;; We have base64, md5 and sha1 functions built in now. (provide 'base64) diff --git a/src/buffer.c b/src/buffer.c index 4ae5e811b07..d1c41380188 100644 --- a/src/buffer.c +++ b/src/buffer.c @@ -5079,6 +5079,8 @@ init_buffer_once (void) { int idx; + /* Items flagged permanent get an explicit permanent-local property + added in bindings.el, for clarity. */ memset (buffer_permanent_local_flags, 0, sizeof buffer_permanent_local_flags); /* 0 means not a lisp var, -1 means always local, else mask. */