]> git.eshelyaron.com Git - emacs.git/commitdiff
(diff-buffer-with-file): Check whether associated file exists.
authorMarkus Rost <rost@math.uni-bielefeld.de>
Fri, 13 Sep 2002 20:22:29 +0000 (20:22 +0000)
committerMarkus Rost <rost@math.uni-bielefeld.de>
Fri, 13 Sep 2002 20:22:29 +0000 (20:22 +0000)
Display message for 1 second.  Always return nil.

lisp/ChangeLog
lisp/files.el

index c56b9536f90a623afa6bd74c43a76b30b79c6f1b..ccda6c1344e9dfa3b2b3bb1d066c3233872a8b02 100644 (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.
index 31d2b8762fa4b3e80660b048a40d88bbe73cd75f..020249dbf236db9ebac9d964ee62667745745626 100644 (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