changeset 95269:1e9eb6106f5a

(vc-delete-file): Don't try to resynch the buffer.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Fri, 23 May 2008 20:59:51 +0000
parents bcc553c768f9
children 4d7bc1390196
files lisp/ChangeLog lisp/vc.el
diffstat 2 files changed, 12 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Fri May 23 20:31:12 2008 +0000
+++ b/lisp/ChangeLog	Fri May 23 20:59:51 2008 +0000
@@ -1,3 +1,7 @@
+2008-05-23  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc.el (vc-delete-file): Don't try to resynch the buffer.
+
 2008-05-23  Paul R  <paul.r.ml@gmail.com>
 
 	* textmodes/reftex-vars.el (reftex-extra-bindings-prefix): New var.
--- a/lisp/vc.el	Fri May 23 20:31:12 2008 +0000
+++ b/lisp/vc.el	Fri May 23 20:59:51 2008 +0000
@@ -547,6 +547,8 @@
 
 ;;; Todo:
 
+;; - Add key-binding for vc-delete-file.
+
 ;;;; New Primitives:
 ;;
 ;; - deal with push/pull operations.
@@ -587,7 +589,7 @@
 ;;;; Internal cleanups:
 ;;
 ;; - backends that care about vc-stay-local should try to take it into
-;;   account for vc-dir.  Is this likely to be useful???
+;;   account for vc-dir.  Is this likely to be useful???  YES!
 ;;
 ;; - vc-expand-dirs should take a backend parameter and only look for
 ;;   files managed by that backend.
@@ -2437,17 +2439,16 @@
                 (not (file-exists-p file)))
       (with-current-buffer (or buf (find-file-noselect file))
 	(let ((backup-inhibited nil))
-	  (backup-buffer))
-	;; If we didn't have a buffer visiting the file before this
-	;; command, kill the buffer created by the above
-	;; `find-file-noselect' call.
-	(unless buf (kill-buffer (current-buffer)))))
+	  (backup-buffer))))
     (vc-call-backend backend 'delete-file file)
     ;; If the backend hasn't deleted the file itself, let's do it for him.
     (when (file-exists-p file) (delete-file file))
     ;; Forget what VC knew about the file.
     (vc-file-clearprops file)
-    (vc-resynch-buffer file buf t)))
+    ;; Since we've deleted the file and we've made sure the buffer had no
+    ;; unsaved changes, we can kill the buffer.  Much easier than trying to
+    ;; properly refresh its VC state.
+    (when buf (kill-buffer buf))))
 
 ;;;###autoload
 (defun vc-rename-file (old new)