summaryrefslogtreecommitdiff
path: root/lisp/view.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2008-01-12 17:17:41 +0000
committerEli Zaretskii <eliz@gnu.org>2008-01-12 17:17:41 +0000
commitdd18f44f3b00001171e7b98b8ca5a8b036e337f2 (patch)
tree68f22c713d15130d0032b3d8dcb8b1cd1a966a3a /lisp/view.el
parent48d93bebd51abdfd8d70c74d3c03bcbc2e3bb036 (diff)
downloademacs-dd18f44f3b00001171e7b98b8ca5a8b036e337f2.tar.gz
(view-file-other-window, view-file-other-frame): Fix last change.
(kill-buffer-if-not-modified): New function. (view-file): Don't kill the buffer if it is modified.
Diffstat (limited to 'lisp/view.el')
-rw-r--r--lisp/view.el14
1 files changed, 9 insertions, 5 deletions
diff --git a/lisp/view.el b/lisp/view.el
index d2a7d5c9b44..bdf7f6a5728 100644
--- a/lisp/view.el
+++ b/lisp/view.el
@@ -238,6 +238,12 @@ This is local in each buffer, once it is used.")
;;; Commands that enter or exit view mode.
+(defun kill-buffer-if-not-modified (buf)
+ "Like `kill-buffer', but does nothing if the buffer is modified."
+ (let ((buf (or (bufferp buf) (get-buffer buf))))
+ (and buf (not (buffer-modified-p buf))
+ (kill-buffer buf))))
+
;;;###autoload
(defun view-file (file)
"View FILE in View mode, returning to previous buffer when done.
@@ -258,7 +264,7 @@ This command runs the normal hook `view-mode-hook'."
(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)))))
+ (view-buffer buffer (and (not had-a-buf) 'kill-buffer-if-not-modified)))))
;;;###autoload
(defun view-file-other-window (file)
@@ -279,8 +285,7 @@ This command runs the normal hook `view-mode-hook'."
(buf-to-view (find-file-noselect file)))
(view-buffer-other-window buf-to-view nil
(and (not had-a-buf)
- (not (buffer-modified-p buf-to-view))
- 'kill-buffer))))
+ 'kill-buffer-if-not-modified))))
;;;###autoload
(defun view-file-other-frame (file)
@@ -302,8 +307,7 @@ This command runs the normal hook `view-mode-hook'."
(buf-to-view (find-file-noselect file)))
(view-buffer-other-frame buf-to-view nil
(and (not had-a-buf)
- (not (buffer-modified-p buf-to-view))
- 'kill-buffer))))
+ 'kill-buffer-if-not-modified))))
;;;###autoload