[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] Changes to emacs/lisp/vc.el,v
From: |
Stefan Monnier |
Subject: |
[Emacs-diffs] Changes to emacs/lisp/vc.el,v |
Date: |
Wed, 17 Oct 2007 16:22:29 +0000 |
CVSROOT: /sources/emacs
Module name: emacs
Changes by: Stefan Monnier <monnier> 07/10/17 16:22:29
Index: vc.el
===================================================================
RCS file: /sources/emacs/emacs/lisp/vc.el,v
retrieving revision 1.471
retrieving revision 1.472
diff -u -b -r1.471 -r1.472
--- vc.el 11 Oct 2007 23:32:32 -0000 1.471
+++ vc.el 17 Oct 2007 16:22:27 -0000 1.472
@@ -1873,24 +1873,17 @@
(make-obsolete 'vc-diff-switches-list 'vc-switches "22.1")
(defun vc-diff-sentinel (verbose rev1-name rev2-name)
- ;; Did changes get generated into the buffer?
- (if (not (zerop (buffer-size (get-buffer "*vc-diff*"))))
- (progn
- (pop-to-buffer "*vc-diff*")
- ;; Gnus-5.8.5 sets up an autoload for diff-mode, even if it's
- ;; not available. Work around that.
- (if (require 'diff-mode nil t) (diff-mode))
+ ;; The empty sync output case has already been handled, so the only
+ ;; possibility of an empty output is for an async process, in which case
+ ;; it's important to insert the "diffs end here" message in the buffer
+ ;; since the user may miss a message in the echo area.
(when verbose
- (let (buffer-read-only)
- (goto-char (point-max))
- (insert (format "\n\nDiffs between %s and %s end here." rev1-name
rev2-name))
+ (let ((inhibit-read-only t))
+ (if (eq (buffer-size) 0)
+ (insert "No differences found.\n")
+ (insert (format "\n\nDiffs between %s and %s end here." rev1-name
rev2-name)))))
(goto-char (point-min))
- (insert (format "Diffs between %s and %s:\n\n" rev1-name
rev2-name))))
- (shrink-window-if-larger-than-buffer)
- t)
- (progn
- (message "No changes between %s and %s" rev1-name rev2-name)
- nil)))
+ (shrink-window-if-larger-than-buffer))
(defun vc-diff-internal (backend async files rev1 rev2 &optional verbose)
"Report diffs between two revisions of a fileset.
@@ -1927,12 +1920,20 @@
(let ((vc-disable-async-diff (not async)))
(vc-call-backend backend 'diff filtered rev1 rev2 "*vc-diff*")))
(set-buffer "*vc-diff*")
- ;; This odd-looking code is because in the non-async case we
- ;; actually want to pass the return value from vc-diff-sentinel
- ;; back to the caller.
- (if async
+ (if (and (zerop (buffer-size))
+ (not (get-buffer-process (current-buffer))))
+ ;; Treat this case specially so as not to pop the buffer.
+ (progn
+ (message "No changes between %s and %s" rev1-name rev2-name)
+ nil)
+ (pop-to-buffer (current-buffer))
+ ;; Gnus-5.8.5 sets up an autoload for diff-mode, even if it's
+ ;; not available. Work around that.
+ (if (require 'diff-mode nil t) (diff-mode))
(vc-exec-after `(vc-diff-sentinel ,verbose ,rev1-name ,rev2-name))
- (vc-diff-sentinel verbose rev1-name rev2-name))))
+ ;; In the async case, we return t even if there are no differences
+ ;; because we don't know that yet.
+ t)))
;;;###autoload
(defun vc-history-diff (backend files rev1 rev2)
@@ -3031,10 +3032,7 @@
(vc-register)))
(defalias 'vc-default-logentry-check 'ignore)
-
-(defun vc-default-check-headers (backend)
- "Default implementation of check-headers; always returns nil."
- nil)
+(defalias 'vc-default-check-headers 'ignore)
(defun vc-default-log-view-mode (backend) (log-view-mode))
@@ -3116,7 +3114,7 @@
(and (not vc-make-backup-files) (delete-file backup-name))))))
(message "Checking out %s...done" file))))
-(defun vc-default-revision-completion-table (backend file) nil)
+(defalias 'vc-default-revision-completion-table 'ignore)
(defun vc-check-headers ()
"Check if the current file has any headers in it."
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, (continued)
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/10/08
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Miles Bader, 2007/10/09
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/10/10
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/10/10
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/10/11
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/10/11
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/10/11
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/10/11
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2007/10/11
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Dan Nicolaescu, 2007/10/11
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v,
Stefan Monnier <=
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Stefan Monnier, 2007/10/19
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/10/20
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Eric S. Raymond, 2007/10/20
- [Emacs-diffs] Changes to emacs/lisp/vc.el,v, Stefan Monnier, 2007/10/23