# HG changeset patch # User Michael Albinus # Date 1222801867 0 # Node ID b87cc3b45aa5591928f73ebd7b0cd11100d97b52 # Parent d6858e23ac05e549d8aa2d83334cac88539fb608 * vc-hooks.el (vc-file-clearprops): Revert change from 2008-09-29. (vc-file-not-found-hook): Check, that `buffer-file-name' is non-nil. It is not clear, whether this is only fixing symptoms on an error. OTOH, in all other cases, the call of `vc-file-clearprops' is embedded by that check. So it might be TRT. Suggested by Dan Nicolaescu . diff -r d6858e23ac05 -r b87cc3b45aa5 lisp/vc-hooks.el --- a/lisp/vc-hooks.el Tue Sep 30 19:03:18 2008 +0000 +++ b/lisp/vc-hooks.el Tue Sep 30 19:11:07 2008 +0000 @@ -238,10 +238,7 @@ (defun vc-file-clearprops (file) "Clear all VC properties of FILE." - ;; Sometimes, Tramp runs into trouble, FILE is nil then. We shall - ;; avoid an error in this case. - (when (stringp file) - (setplist (intern file vc-file-prop-obarray) nil))) + (setplist (intern file vc-file-prop-obarray) nil)) ;; We keep properties on each symbol naming a backend as follows: @@ -943,9 +940,12 @@ Used in `find-file-not-found-functions'." ;; When a file does not exist, ignore cached info about it ;; from a previous visit. - (vc-file-clearprops buffer-file-name) - (let ((backend (vc-backend buffer-file-name))) - (when backend (vc-call-backend backend 'find-file-not-found-hook)))) + ;; We check that `buffer-file-name' is non-nil. It should be always + ;; the case, but in conjunction with Tramp, it might be nil. M. Albinus. + (when buffer-file-name + (vc-file-clearprops buffer-file-name) + (let ((backend (vc-backend buffer-file-name))) + (when backend (vc-call-backend backend 'find-file-not-found-hook))))) (defun vc-default-find-file-not-found-hook (backend) ;; This used to do what vc-rcs-find-file-not-found-hook does, but it only