summaryrefslogtreecommitdiff
path: root/lisp/vc/vc-hg.el
diff options
context:
space:
mode:
authorDmitry Gutov <dgutov@yandex.ru>2020-11-10 18:08:13 +0200
committerDmitry Gutov <dgutov@yandex.ru>2020-11-10 18:08:13 +0200
commitbce00552654b603bcea665cd53d08fd60e86772f (patch)
tree98d0fae4a1a94e092fbf47a913dc52880563798c /lisp/vc/vc-hg.el
parentb5b0f07b0a4acd6bdbbaf27744cf0e06f54d3008 (diff)
downloademacs-bce00552654b603bcea665cd53d08fd60e86772f.tar.gz
Clear the vc-state cache when returning nil
* lisp/vc/vc-hg.el (vc-hg-registered): Clear the vc-state cache when returning nil.
Diffstat (limited to 'lisp/vc/vc-hg.el')
-rw-r--r--lisp/vc/vc-hg.el5
1 files changed, 4 insertions, 1 deletions
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'."