diff options
author | Richard M. Stallman <rms@gnu.org> | 1995-12-25 21:05:31 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 1995-12-25 21:05:31 +0000 |
commit | ee677087e5feedbca0e939d6bf9139c7b3dffe41 (patch) | |
tree | ffea42a112d19eebaebffae9ee274fc6aec644bd /lisp/files.el | |
parent | e39291f180cb37b60995e3b8daf7407fed043d1d (diff) | |
download | emacs-ee677087e5feedbca0e939d6bf9139c7b3dffe41.tar.gz |
(revert-buffer): New arg preserve-modes.
(after-find-file): New arg nomodes.
Diffstat (limited to 'lisp/files.el')
-rw-r--r-- | lisp/files.el | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/lisp/files.el b/lisp/files.el index 4ddc8fc23a4..9f3507fbe20 100644 --- a/lisp/files.el +++ b/lisp/files.el @@ -811,7 +811,8 @@ The buffer is not selected, just returned to the caller." (defvar after-find-file-from-revert-buffer nil) (defun after-find-file (&optional error warn noauto - after-find-file-from-revert-buffer) + after-find-file-from-revert-buffer + nomodes) "Called after finding a file and by the default revert function. Sets buffer mode, parses local variables. Optional args ERROR, WARN, and NOAUTO: ERROR non-nil means there was an @@ -820,7 +821,9 @@ exists an auto-save file more recent than the visited file. NOAUTO means don't mess with auto-save mode. Fourth arg AFTER-FIND-FILE-FROM-REVERT-BUFFER non-nil means this call was from `revert-buffer'. -Finishes by calling the functions in `find-file-hooks'." +Fifth arg NOMODES non-nil means don't alter the file's modes. +Finishes by calling the functions in `find-file-hooks' +unless NOMODES is non-nil." (setq buffer-read-only (not (file-writable-p buffer-file-name))) (if noninteractive nil @@ -854,8 +857,10 @@ Finishes by calling the functions in `find-file-hooks'." (or not-serious (sit-for 1 nil t))))) (if (and auto-save-default (not noauto)) (auto-save-mode t))) - (normal-mode t) - (run-hooks 'find-file-hooks)) + (if nomodes + nil + (normal-mode t) + (run-hooks 'find-file-hooks))) (defun normal-mode (&optional find-file) "Choose the major mode for this buffer automatically. @@ -2067,7 +2072,7 @@ hook functions. If `revert-buffer-function' is used to override the normal revert mechanism, this hook is not used.") -(defun revert-buffer (&optional ignore-auto noconfirm) +(defun revert-buffer (&optional ignore-auto noconfirm preserve-modes) "Replace the buffer text with the text of the visited file on disk. This undoes all changes since the file was visited or saved. With a prefix argument, offer to revert from latest auto-save file, if @@ -2147,7 +2152,7 @@ beginning and `after-revert-hook' at the end." ;; have changed the truename. (setq buffer-file-truename (abbreviate-file-name (file-truename buffer-file-name))) - (after-find-file nil nil t t) + (after-find-file nil nil t t preserve-modes) ;; Run after-revert-hook as it was before we reverted. (setq-default revert-buffer-internal-hook global-hook) (if local-hook-p |