branch: elpa/evil commit 3045e425e9209808788c1a7b7e00e0814ec6c81b Author: Tom Dalziel <tom...@hotmail.com> Commit: Tom Dalziel <33435574+tomd...@users.noreply.github.com>
Clear `evil-this-register` when leaving visual state Fixes #1645 --- evil-states.el | 1 + evil-tests.el | 7 ++++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/evil-states.el b/evil-states.el index 9615bf2cce..8e3f9c328b 100644 --- a/evil-states.el +++ b/evil-states.el @@ -420,6 +420,7 @@ If LATER is non-nil, exit after the current command." (setq deactivate-mark t) (when evil-visual-region-expanded (evil-visual-contract-region)) + (setq evil-this-register nil) (evil-change-to-previous-state))))) (defun evil-visual-tag (&optional selection) diff --git a/evil-tests.el b/evil-tests.el index fd73abad7e..2136a5a64e 100644 --- a/evil-tests.el +++ b/evil-tests.el @@ -3058,7 +3058,12 @@ word3[]")) ("yiw" "w" "R" "\C-r0") "alpha alpha[ ]charlie" ([backspace] [backspace] [backspace]) - "alpha al[a]vo charlie"))) + "alpha al[a]vo charlie")) + (ert-info ("Normal delete after visual delete doesn't clobber register") + (evil-test-buffer + "[a]lpha bravo charlie delta" + ("vf \"xd" "dw" ";\"xp") + "charlie alpha delta"))) (ert-deftest evil-test-last-insert-register () "Test last insertion register."