summaryrefslogtreecommitdiff
path: root/lisp/view.el
diff options
context:
space:
mode:
authorRichard M. Stallman <rms@gnu.org>2003-07-09 16:16:54 +0000
committerRichard M. Stallman <rms@gnu.org>2003-07-09 16:16:54 +0000
commit90bb2ff45312d2e97571ca45a4fffd1a7ce8f2fd (patch)
tree6297d88304ba7468b8aa88a0d15c94c074114da8 /lisp/view.el
parente2cf2d72a2090569726d604da2b9a4987524989f (diff)
downloademacs-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.el12
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)