From df4da7f46aecddbff18149d07907dfea8eed21fb Mon Sep 17 00:00:00 2001 From: Stefan Monnier Date: Tue, 13 Dec 2005 22:25:24 +0000 Subject: [PATCH] (vc-svn-registered): Use it to avoid popping up a spurious frame in case of errors. --- lisp/ChangeLog | 13 ++++++++++--- lisp/vc-svn.el | 27 +++++++++++++-------------- 2 files changed, 23 insertions(+), 17 deletions(-) diff --git a/lisp/ChangeLog b/lisp/ChangeLog index cee47ad6a01..67289d8ec70 100644 --- a/lisp/ChangeLog +++ b/lisp/ChangeLog @@ -1,6 +1,13 @@ +2005-12-13 Stefan Monnier + + * 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 - * 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 @@ -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 @@ -41,7 +48,7 @@ 2005-12-12 Jan Dj,Ad(Brv - * tooltip.el (tooltip-y-offset): Changed default to 20. + * tooltip.el (tooltip-y-offset): Change default to 20. 2005-12-12 Richard M. Stallman diff --git a/lisp/vc-svn.el b/lisp/vc-svn.el index cf822406384..b08765b89a3 100644 --- a/lisp/vc-svn.el +++ b/lisp/vc-svn.el @@ -114,20 +114,19 @@ This is only meaningful if you don't use the implicit checkout model (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'." -- 2.11.4.GIT