summaryrefslogtreecommitdiff
path: root/lisp
diff options
context:
space:
mode:
authorDan Nicolaescu <dann@ics.uci.edu>2009-07-24 05:41:17 +0000
committerDan Nicolaescu <dann@ics.uci.edu>2009-07-24 05:41:17 +0000
commitba83b7b62f12b0305585261f7b08bf1a699aa86b (patch)
treeddc634cd056561c48a0f49be9d552da41f4574a6 /lisp
parent1d2faf9803bcd171fdb1d305b1b8f266c445b9dd (diff)
downloademacs-ba83b7b62f12b0305585261f7b08bf1a699aa86b.tar.gz
emacs-ba83b7b62f12b0305585261f7b08bf1a699aa86b.tar.bz2
emacs-ba83b7b62f12b0305585261f7b08bf1a699aa86b.zip
* 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.
Diffstat (limited to 'lisp')
-rw-r--r--lisp/ChangeLog9
-rw-r--r--lisp/vc-dir.el7
-rw-r--r--lisp/vc-dispatcher.el3
3 files changed, 15 insertions, 4 deletions
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 6e1b5ef2819..b6e647f9097 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -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):
diff --git a/lisp/vc-dir.el b/lisp/vc-dir.el
index 4316caeade1..2c1138f858f 100644
--- a/lisp/vc-dir.el
+++ b/lisp/vc-dir.el
@@ -866,9 +866,10 @@ If it is a file, return the corresponding cons for the file itself."
(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
diff --git a/lisp/vc-dispatcher.el b/lisp/vc-dispatcher.el
index c51a4896b76..f03f16ede98 100644
--- a/lisp/vc-dispatcher.el
+++ b/lisp/vc-dispatcher.el
@@ -484,7 +484,8 @@ editing!"
(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."