# HG changeset patch # User Eli Zaretskii # Date 1200147293 0 # Node ID 9cd51e20e318be9104217ffa1c0fc7b675f2d8b7 # Parent 153dde7a0ed33346ef270e173971daee41c1957f (view-file-other-window, view-file-other-frame): Don't kill the buffer if it is modified. Doc fixes. diff -r 153dde7a0ed3 -r 9cd51e20e318 lisp/view.el --- a/lisp/view.el Sat Jan 12 14:04:05 2008 +0000 +++ b/lisp/view.el Sat Jan 12 14:14:53 2008 +0000 @@ -263,7 +263,9 @@ ;;;###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 @@ 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 @@ 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