changeset 104051:a629d51e1d82

* vc-dispatcher.el (vc-resynch-buffers-in-directory): Make sure the buffer we try to sync is current when calling vc-resynch-buffer. * vc-dir.el (vc-dir-resynch-file): Make sure vc-dir-update does not show up to date files.
author Dan Nicolaescu <dann@ics.uci.edu>
date Fri, 24 Jul 2009 05:41:17 +0000
parents 8ee742481c0a
children f317b7c46271
files lisp/ChangeLog lisp/vc-dir.el lisp/vc-dispatcher.el
diffstat 3 files changed, 15 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Jul 24 03:54:25 2009 +0000
+++ b/lisp/ChangeLog	Fri Jul 24 05:41:17 2009 +0000
@@ -1,3 +1,12 @@
+2009-07-24  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* vc-dispatcher.el (vc-resynch-buffers-in-directory): Make sure
+	the buffer we try to sync is current when calling
+	vc-resynch-buffer.
+
+	* vc-dir.el (vc-dir-resynch-file): Make sure vc-dir-update does
+	not show up to date files.
+
 2009-07-24  Glenn Morris  <rgm@gnu.org>
 
 	* emacs-lisp/elint.el (elint-current-buffer, elint-defun):
--- a/lisp/vc-dir.el	Fri Jul 24 03:54:25 2009 +0000
+++ b/lisp/vc-dir.el	Fri Jul 24 05:41:17 2009 +0000
@@ -866,9 +866,10 @@
 	    (when (vc-string-prefix-p ddir file)
 	      (if (file-directory-p file)
 		  (vc-dir-resync-directory-files file)
-		(vc-dir-update
-		 (list (vc-dir-recompute-file-state file ddir))
-		 status-buf)))))))
+		(let ((state (vc-dir-recompute-file-state file ddir)))
+		  (vc-dir-update
+		   (list state)
+		   status-buf (eq (cadr state) 'up-to-date)))))))))
     ;; We didn't find any vc-dir buffers, remove the hook, it is
     ;; not needed.
     (unless found-vc-dir-buf
--- a/lisp/vc-dispatcher.el	Fri Jul 24 03:54:25 2009 +0000
+++ b/lisp/vc-dispatcher.el	Fri Jul 24 05:41:17 2009 +0000
@@ -484,7 +484,8 @@
   (dolist (buffer (buffer-list))
     (let ((fname (buffer-file-name buffer)))
       (when (and fname (vc-string-prefix-p directory fname))
-	(vc-resynch-buffer fname keep noquery)))))
+	(with-current-buffer buffer
+	  (vc-resynch-buffer fname keep noquery))))))
 
 (defun vc-resynch-buffer (file &optional keep noquery)
   "If FILE is currently visited, resynch its buffer."