summaryrefslogtreecommitdiff
path: root/lisp/view.el
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2008-01-12 17:16:20 +0000
committerEli Zaretskii <eliz@gnu.org>2008-01-12 17:16:20 +0000
commit4e14510dd68111db5dcd3c6fa468d1b88732def5 (patch)
tree136d5f5e18726696a786b7ba30748f2cc866be96 /lisp/view.el
parente00ce100a19974cb8f2c3edba7390a730c23e116 (diff)
downloademacs-4e14510dd68111db5dcd3c6fa468d1b88732def5.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