]> git.eshelyaron.com Git - emacs.git/commitdiff
(view-file-other-window, view-file-other-frame): Don't kill the buffer if it
authorEli Zaretskii <eliz@gnu.org>
Sat, 12 Jan 2008 14:15:35 +0000 (14:15 +0000)
committerEli Zaretskii <eliz@gnu.org>
Sat, 12 Jan 2008 14:15:35 +0000 (14:15 +0000)
is modified.  Doc fixes.

lisp/ChangeLog
lisp/view.el

index 19248cb4f4cba5a4cd8e7e8f27d50cf3779088a9..b86777131eb88dffbacf34614cd643dfbda938bc 100644 (file)
@@ -1,5 +1,8 @@
 2008-01-12  Eli Zaretskii  <eliz@gnu.org>
 
+       * view.el (view-file-other-window, view-file-other-frame): Don't
+       kill the buffer if it is modified.  Doc fixes.
+
        * progmodes/ebrowse.el (ebrowse-view-file-other-window): Delete
        function.
        (ebrowse-view/find-file-and-search-pattern): Call
index 8701decf41c6365243fb93783552245dec8d03ee..d2a7d5c9b441e45d2e57f8e5e5baf44918032406 100644 (file)
@@ -263,7 +263,9 @@ This command runs the normal hook `view-mode-hook'."
 ;;;###autoload
 (defun view-file-other-window (file)
   "View FILE in View mode in another window.
-Return that window to its previous buffer when done.
+When done, return that window to its previous buffer, and kill the
+buffer visiting FILE if unmodified and if it wasn't visited before.
+
 Emacs commands editing the buffer contents are not available; instead,
 a special set of commands (mostly letters and punctuation)
 are defined for moving around in the buffer.
@@ -273,14 +275,20 @@ For list of all View commands, type H or h while viewing.
 This command runs the normal hook `view-mode-hook'."
   (interactive "fIn other window view file: ")
   (unless (file-exists-p file) (error "%s does not exist" file))
-  (let ((had-a-buf (get-file-buffer file)))
-    (view-buffer-other-window (find-file-noselect file) nil
-                             (and (not had-a-buf) 'kill-buffer))))
+  (let ((had-a-buf (get-file-buffer file))
+       (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))))
 
 ;;;###autoload
 (defun view-file-other-frame (file)
   "View FILE in View mode in another frame.
-Maybe delete other frame and/or return to previous buffer when done.
+When done, kill the buffer visiting FILE if unmodified and if it wasn't
+visited before; also, maybe delete other frame and/or return to previous
+buffer.
+
 Emacs commands editing the buffer contents are not available; instead,
 a special set of commands (mostly letters and punctuation)
 are defined for moving around in the buffer.
@@ -290,9 +298,12 @@ For list of all View commands, type H or h while viewing.
 This command runs the normal hook `view-mode-hook'."
   (interactive "fIn other frame view file: ")
   (unless (file-exists-p file) (error "%s does not exist" file))
-  (let ((had-a-buf (get-file-buffer file)))
-    (view-buffer-other-frame (find-file-noselect file) nil
-                            (and (not had-a-buf) 'kill-buffer))))
+  (let ((had-a-buf (get-file-buffer file))
+       (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))))
 
 
 ;;;###autoload