Mercurial > emacs
diff lisp/vc-svn.el @ 67547:76b136e1750a
(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 pop-to-buffer on error
which is unexpected during registration.
author | Bill Wohler <wohler@newt.com> |
---|---|
date | Tue, 13 Dec 2005 00:48:04 +0000 |
parents | 820fa0af32c1 |
children | 10707dfc70f3 |
line wrap: on
line diff
--- a/lisp/vc-svn.el Mon Dec 12 20:27:13 2005 +0000 +++ b/lisp/vc-svn.el Tue Dec 13 00:48:04 2005 +0000 @@ -114,13 +114,18 @@ (file-name-directory file))) (with-temp-buffer (cd (file-name-directory file)) - (condition-case nil - (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)) + (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)))))