* view.el (view-file-other-window, view-file-other-frame): Don't
kill the buffer if it is modified. Doc fixes.
+ (kill-buffer-if-not-modified): New function.
+ (view-file): Don't kill the buffer if it is modified.
* progmodes/ebrowse.el (ebrowse-view-file-other-window): Delete
function.
\f
;;; 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.
(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)
(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)
(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