]> git.eshelyaron.com Git - emacs.git/commitdiff
Clear the vc-state cache when returning nil
authorDmitry Gutov <dgutov@yandex.ru>
Tue, 10 Nov 2020 16:08:13 +0000 (18:08 +0200)
committerDmitry Gutov <dgutov@yandex.ru>
Tue, 10 Nov 2020 16:08:13 +0000 (18:08 +0200)
* lisp/vc/vc-hg.el (vc-hg-registered):
Clear the vc-state cache when returning nil.

lisp/vc/vc-hg.el

index cacdee2226341f02ff981c48e1ed4459e80ef37c..67e129044c0d4359e86d82a85ba66a2a8962ac65 100644 (file)
@@ -223,7 +223,10 @@ If `ask', you will be prompted for a branch type."
   "Return non-nil if FILE is registered with hg."
   (when (vc-hg-root file)           ; short cut
     (let ((state (vc-state file 'Hg)))  ; expensive
-      (and state (not (memq state '(ignored unregistered)))))))
+      (if (memq state '(ignored unregistered nil))
+          ;; Clear the cache for proper fallback to another backend.
+          (ignore (vc-file-setprop file 'vc-state nil))
+        t))))
 
 (defun vc-hg-state (file)
   "Hg-specific version of `vc-state'."