diff options
author | Richard M. Stallman <rms@gnu.org> | 2003-07-09 16:16:54 +0000 |
---|---|---|
committer | Richard M. Stallman <rms@gnu.org> | 2003-07-09 16:16:54 +0000 |
commit | 90bb2ff45312d2e97571ca45a4fffd1a7ce8f2fd (patch) | |
tree | 6297d88304ba7468b8aa88a0d15c94c074114da8 /lisp/view.el | |
parent | e2cf2d72a2090569726d604da2b9a4987524989f (diff) | |
download | emacs-90bb2ff45312d2e97571ca45a4fffd1a7ce8f2fd.tar.gz |
(view-file): If existing buffer's major mode is special,
don't go into view mode.
Diffstat (limited to 'lisp/view.el')
-rw-r--r-- | lisp/view.el | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/lisp/view.el b/lisp/view.el index 2ef84d23510..281230950bc 100644 --- a/lisp/view.el +++ b/lisp/view.el @@ -243,9 +243,15 @@ For list of all View commands, type H or h while viewing. This command runs the normal hook `view-mode-hook'." (interactive "fView file: ") (unless (file-exists-p file) (error "%s does not exist" file)) - (let ((had-a-buf (get-file-buffer file))) - (view-buffer (find-file-noselect file) - (and (not had-a-buf) 'kill-buffer)))) + (let ((had-a-buf (get-file-buffer file)) + (buffer (find-file-noselect file))) + (if (eq (with-current-buffer buffer + (get major-mode 'mode-class)) + 'special) + (progn + (switch-to-buffer buffer) + (message "Not using View mode because the major mode is special")) + (view-buffer buffer (and (not had-a-buf) 'kill-buffer))))) ;;;###autoload (defun view-file-other-window (file) |