# HG changeset patch # User Stefan Monnier # Date 1134512724 0 # Node ID 10707dfc70f3fc326ee7895eabab13bd42739bde # Parent 91dadacfc1d5eee9c341f3ad3161375d1dbebd82 (vc-svn-registered): Use it to avoid popping up a spurious frame in case of errors. diff -r 91dadacfc1d5 -r 10707dfc70f3 lisp/ChangeLog --- 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 + + * 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 -r 91dadacfc1d5 -r 10707dfc70f3 lisp/vc-svn.el --- 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'."