changeset 98429:b87cc3b45aa5

* 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 <dann@ics.uci.edu>.
author Michael Albinus <michael.albinus@gmx.de>
date Tue, 30 Sep 2008 19:11:07 +0000
parents d6858e23ac05
children aedf95996cf6
files lisp/vc-hooks.el
diffstat 1 files changed, 7 insertions(+), 7 deletions(-) [+]
line wrap: on
line diff
--- 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