changeset 93366:84a5da4da422

(vc-update): Check if the buffer is unsaved only if it actually exists. (vc-status-mode-map, vc-status-menu-map): Bind vc-update.
author Dan Nicolaescu <dann@ics.uci.edu>
date Sat, 29 Mar 2008 00:17:54 +0000
parents 3a47285f0293
children 07bc5cae1251
files lisp/ChangeLog lisp/vc.el
diffstat 2 files changed, 13 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri Mar 28 21:37:03 2008 +0000
+++ b/lisp/ChangeLog	Sat Mar 29 00:17:54 2008 +0000
@@ -1,3 +1,9 @@
+2008-03-29  Dan Nicolaescu  <dann@ics.uci.edu>
+
+	* vc.el (vc-update): Check if the buffer is unsaved only if it
+	actually exists.
+	(vc-status-mode-map, vc-status-menu-map): Bind vc-update.
+
 2008-03-28  Magnus Henoch  <mange@freemail.hu>
 
 	* net/dns.el (dns-write): Use set-buffer-multibyte.
--- a/lisp/vc.el	Fri Mar 28 21:37:03 2008 +0000
+++ b/lisp/vc.el	Sat Mar 29 00:17:54 2008 +0000
@@ -2750,6 +2750,9 @@
     (define-key map [register]
       '(menu-item "Register" vc-status-register
 		  :help "Register file set into the version control system"))
+    (define-key map [update]
+      '(menu-item "Update" vc-update
+		  :help "Update the current fileset's files to their tip revisions"))
     ;; vc-print-log uses the current buffer, not a file.
     ;; (define-key map [log]
     ;;  '(menu-item "Show history" vc-status-print-log
@@ -2815,6 +2818,7 @@
     ;; VC commands.
     (define-key map "=" 'vc-diff)
     (define-key map "a" 'vc-status-register)
+    (define-key map "+" 'vc-update)
     ;; Can't be "g" (as in vc map), so "A" for "Annotate".
     (define-key map "A" 'vc-annotate)
     ;; vc-print-log uses the current buffer, not a file.
@@ -3364,8 +3368,9 @@
 changes from the current branch are merged into the working file."
   (interactive)
   (dolist (file (vc-deduce-fileset))
-    (if (buffer-modified-p (get-file-buffer file))
-	(error "Please kill or save all modified buffers before updating."))
+    (when (let ((buf (get-file-buffer file)))
+	    (and buf (buffer-modified-p buf)))
+      (error "Please kill or save all modified buffers before updating."))
     (if (vc-up-to-date-p file)
 	(vc-checkout file nil t)
       (if (eq (vc-checkout-model file) 'locking)