From: Dmitry Gutov Date: Tue, 10 Nov 2020 16:08:13 +0000 (+0200) Subject: Clear the vc-state cache when returning nil X-Git-Tag: emacs-28.0.90~5195 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=bce00552654b603bcea665cd53d08fd60e86772f;p=emacs.git Clear the vc-state cache when returning nil * lisp/vc/vc-hg.el (vc-hg-registered): Clear the vc-state cache when returning nil. --- diff --git a/lisp/vc/vc-hg.el b/lisp/vc/vc-hg.el index cacdee22263..67e129044c0 100644 --- a/lisp/vc/vc-hg.el +++ b/lisp/vc/vc-hg.el @@ -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'."