]> git.eshelyaron.com Git - emacs.git/commitdiff
(vc-delete-file): Don't try to resynch the buffer.
authorStefan Monnier <monnier@iro.umontreal.ca>
Fri, 23 May 2008 20:59:51 +0000 (20:59 +0000)
committerStefan Monnier <monnier@iro.umontreal.ca>
Fri, 23 May 2008 20:59:51 +0000 (20:59 +0000)
lisp/ChangeLog
lisp/vc.el

index 9bf42b35f2aa1618b725c05c1fbebcc3143ee436..14773bad0834e9788f332a8f89c6a9332d0fef0d 100644 (file)
@@ -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.
index 7cf24bcd9539320415d380c00ba59d974179cd77..345a7bf53c4839e5e29af7870c038327ad280a79 100644 (file)
 
 ;;; Todo:
 
+;; - Add key-binding for vc-delete-file.
+
 ;;;; New Primitives:
 ;;
 ;; - deal with push/pull operations.
 ;;;; 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 @@ backend to NEW-BACKEND, and unregister FILE from the current backend.
                 (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)