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."

Reply via email to