changeset 67553:10707dfc70f3

(vc-svn-registered): Use it to avoid popping up a spurious frame in case of errors.
author Stefan Monnier <monnier@iro.umontreal.ca>
date Tue, 13 Dec 2005 22:25:24 +0000
parents 91dadacfc1d5
children 11413776131b
files lisp/ChangeLog lisp/vc-svn.el
diffstat 2 files changed, 23 insertions(+), 17 deletions(-) [+]
line wrap: on
line diff
--- a/lisp/ChangeLog	Tue Dec 13 22:25:13 2005 +0000
+++ b/lisp/ChangeLog	Tue Dec 13 22:25:24 2005 +0000
@@ -1,6 +1,13 @@
+2005-12-13  Stefan Monnier  <monnier@iro.umontreal.ca>
+
+	* vc.el (vc-do-command): Add a new value t for okstatus.
+
+	* vc-svn.el (vc-svn-registered): Use it to avoid popping up a spurious
+	frame in case of errors.
+
 2005-12-13  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
-	* menu-bar.el (menu-bar-showhide-fringe-menu): Moved "On the Right"
+	* menu-bar.el (menu-bar-showhide-fringe-menu): Move "On the Right"
 	so it comes after "On the Left" in the menu.
 
 2005-12-12  Luc Teirlinck  <teirllm@auburn.edu>
@@ -12,7 +19,7 @@
 
 	* vc-svn.el (vc-svn-registered): Fix problem of visiting
 	non-writable Subversion-controlled files by saving window
-	configuration before calling vc-do-command. vc-do-command calls
+	configuration before calling vc-do-command.  vc-do-command calls
 	pop-to-buffer on error which is unexpected during registration.
 
 2005-12-12  Jay Belanger  <belanger@truman.edu>
@@ -41,7 +48,7 @@
 
 2005-12-12  Jan Dj,Ad(Brv  <jan.h.d@swipnet.se>
 
-	* tooltip.el (tooltip-y-offset): Changed default to 20.
+	* tooltip.el (tooltip-y-offset): Change default to 20.
 
 2005-12-12  Richard M. Stallman  <rms@gnu.org>
 
--- a/lisp/vc-svn.el	Tue Dec 13 22:25:13 2005 +0000
+++ b/lisp/vc-svn.el	Tue Dec 13 22:25:24 2005 +0000
@@ -114,20 +114,19 @@
 					   (file-name-directory file)))
     (with-temp-buffer
       (cd (file-name-directory file))
-        (condition-case nil
-            ;; Save configuration since vc-do-command calls pop-to-buffer on
-            ;; error (such as visiting a Subversion-controlled file that you
-            ;; don't have permission to edit). This causes later problems
-            ;; during registration.
-            (save-window-excursion
-              (vc-svn-command t 0 file "status" "-v"))
-          ;; Some problem happened.  E.g. We can't find an `svn' executable.
-          ;; We used to only catch `file-error' but when the process is run on
-          ;; a remote host via Tramp, the error is only reported via the
-          ;; exit status which is turned into an `error' by vc-do-command.
-          (error nil))
-      (vc-svn-parse-status t)
-      (eq 'SVN (vc-file-getprop file 'vc-backend)))))
+      (let ((status 
+             (condition-case nil
+                 ;; Ignore all errors.
+                 (vc-svn-command t t file "status" "-v")
+               ;; Some problem happened.  E.g. We can't find an `svn'
+               ;; executable.  We used to only catch `file-error' but when
+               ;; the process is run on a remote host via Tramp, the error
+               ;; is only reported via the exit status which is turned into
+               ;; an `error' by vc-do-command.
+               (error nil))))
+        (when (eq 0 status)
+          (vc-svn-parse-status t)
+          (eq 'SVN (vc-file-getprop file 'vc-backend)))))))
 
 (defun vc-svn-state (file &optional localp)
   "SVN-specific version of `vc-state'."