1
Fork 0
mirror of git://git.sv.gnu.org/emacs.git synced 2025-12-15 10:30:25 -08:00

(diff-buffer-with-file): Check whether associated file exists.

Display message for 1 second.  Always return nil.
This commit is contained in:
Markus Rost 2002-09-13 20:22:29 +00:00
parent 3baada38f8
commit 4e4e95198a
2 changed files with 25 additions and 14 deletions

View file

@ -1,3 +1,8 @@
2002-09-13 Markus Rost <rost@math.ohio-state.edu>
* files.el (diff-buffer-with-file): Check whether associated file
exists. Display message for 1 second. Always return nil.
2002-09-13 Stefan Monnier <monnier@cs.yale.edu>
* derived.el (define-derived-mode): Properly ignore unknown args.
@ -81,8 +86,8 @@
2002-09-11 Vinicius Jose Latorre <vinicius@cpqd.com.br>
* ps-print.el: Adjust ps-print-color-p, ps-default-fg and ps-default-bg
setting.
* ps-print.el: Adjust ps-print-color-p, ps-default-fg and
ps-default-bg setting.
(ps-print-version): New version number (6.5.7).
(ps-mark-active-p): New fun.
(ps-print-preprint-region): Adjust code.

View file

@ -2999,18 +2999,24 @@ After saving the buffer, this function runs `after-save-hook'."
This requires the external program `diff' to be in your `exec-path'."
(interactive "bBuffer: ")
(with-current-buffer (get-buffer (or buffer (current-buffer)))
(if (null buffer-file-name)
(message "Buffer %s has no associated file" (buffer-name))
(let ((tempfile (make-temp-file "buffer-content-")))
(unwind-protect
(save-restriction
(widen)
(write-region (point-min) (point-max) tempfile nil 'nomessage)
(diff buffer-file-name tempfile nil t)
(sit-for 0))
(when (file-exists-p tempfile)
(delete-file tempfile)))
nil))))
(if (and buffer-file-name
(file-exists-p buffer-file-name))
(let ((tempfile (make-temp-file "buffer-content-")))
(unwind-protect
(save-restriction
(widen)
(write-region (point-min) (point-max) tempfile nil 'nomessage)
(diff buffer-file-name tempfile nil t)
(sit-for 0))
(when (file-exists-p tempfile)
(delete-file tempfile))))
(message "Buffer %s has no associated file on disc" (buffer-name))
;; Display that message for 1 second so that user can read it
;; in the minibuffer.
(sit-for 1)))
;; return always nil, so that save-buffers-kill-emacs will not move
;; over to the next unsaved buffer when calling `d'.
nil)
(defvar save-some-buffers-action-alist
'((?\C-r