Mercurial > emacs
changeset 2375:94e135f2d64d
(local-write-file-hooks): New variable.
(set-visited-file-name): Kill local-write-file-hooks as local var.
(basic-save-buffer): Use local-write-file-hooks.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Fri, 26 Mar 1993 07:28:20 +0000 |
parents | c00b3b357392 |
children | f7a3795bd1c5 |
files | lisp/files.el |
diffstat | 1 files changed, 12 insertions(+), 2 deletions(-) [+] |
line wrap: on
line diff
--- a/lisp/files.el Fri Mar 26 04:17:45 1993 +0000 +++ b/lisp/files.el Fri Mar 26 07:28:20 1993 +0000 @@ -180,6 +180,7 @@ The buffer's local variables (if any) will have been processed before the functions are called.") +;;; In case someone does make it local. (put 'write-file-hooks 'permanent-local t) (defvar write-file-hooks nil "List of functions to be called before writing out a buffer to a file. @@ -187,7 +188,14 @@ and the rest are not called. These hooks are considered to pertain to the visited file. So this list is cleared if you change the visited file name. -See also `write-contents-hooks'.") +See also `write-contents-hooks'. +Don't make this variable buffer-local; instead, use `local-write-file-hooks'.") + +(put 'local-write-file-hooks 'permanent-local t) +(defvar local-write-file-hooks nil + "Just like `write-file-hooks', except intended for per-buffer use. +The functions in this list are called before the ones in +`write-file-hooks'.") (defvar write-contents-hooks nil "List of functions to be called before writing out a buffer to a file. @@ -918,6 +926,7 @@ ;; that visit things that are not local files as if they were files. ;; Changing to visit an ordinary local file instead should flush the hook. (kill-local-variable 'write-file-hooks) + (kill-local-variable 'local-write-file-hooks) (kill-local-variable 'revert-buffer-function) (kill-local-variable 'backup-inhibited) ;; Turn off backup files for certain file names. @@ -1244,7 +1253,8 @@ (save-excursion (goto-char (point-max)) (insert ?\n))) - (let ((hooks (append write-contents-hooks write-file-hooks)) + (let ((hooks (append write-contents-hooks local-write-file-hooks + write-file-hooks)) (done nil)) (while (and hooks (not (setq done (funcall (car hooks)))))