summaryrefslogtreecommitdiff
path: root/lisp/files.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>1995-12-25 21:05:31 +0000
committerRichard M. Stallman <rms@gnu.org>1995-12-25 21:05:31 +0000
commitee677087e5feedbca0e939d6bf9139c7b3dffe41 (patch)
treeffea42a112d19eebaebffae9ee274fc6aec644bd /lisp/files.el
parente39291f180cb37b60995e3b8daf7407fed043d1d (diff)
downloademacs-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.el17
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