diff lisp/vc.el @ 93343:a461250ed6bf

(vc-status-kill-dir-status-process): Simplify. (vc-status-refresh): Make sure the buffer is live.
author Dan Nicolaescu <dann@ics.uci.edu>
date Fri, 28 Mar 2008 18:16:09 +0000
parents 53eee5c271f4
children 744a5e8c50ac
line wrap: on
line diff
--- a/lisp/vc.el	Fri Mar 28 17:24:51 2008 +0000
+++ b/lisp/vc.el	Fri Mar 28 18:16:09 2008 +0000
@@ -2981,16 +2981,16 @@
       ;; be asynchronous.  It should compute the results and call the
       ;; function passed as a an arg to update the vc-status buffer with
       ;; the results.
-      (setq vc-status-process-buffer
-	    (vc-call-backend
-	     backend 'dir-status default-directory
-	     #'vc-update-vc-status-buffer (current-buffer))))))
+      (let ((buf (vc-call-backend
+		  backend 'dir-status default-directory
+		  #'vc-update-vc-status-buffer (current-buffer))))
+	(setq vc-status-process-buffer
+	      (if (buffer-live-p buf) buf nil))))))
 
 (defun vc-status-kill-dir-status-process ()
   "Kill the temporary buffer and associated process."
   (interactive)
-  (when (and (bufferp vc-status-process-buffer)
-	     (buffer-live-p vc-status-process-buffer))
+  (when (buffer-live-p vc-status-process-buffer)
     (let ((proc (get-buffer-process vc-status-process-buffer)))
       (when proc (delete-process proc))
       (setq vc-status-process-buffer nil)