Mercurial > emacs
changeset 79829:9cd51e20e318
(view-file-other-window, view-file-other-frame): Don't kill the buffer if it
is modified. Doc fixes.
author | Eli Zaretskii <eliz@gnu.org> |
---|---|
date | Sat, 12 Jan 2008 14:14:53 +0000 |
parents | 153dde7a0ed3 |
children | 7d66f0e4630b |
files | lisp/view.el |
diffstat | 1 files changed, 19 insertions(+), 8 deletions(-) [+] |
line wrap: on
line diff
--- 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