summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJames N. V. Cash <james.nvc@gmail.com>2019-12-15 20:02:20 -0500
committerJames N. V. Cash <james.nvc@gmail.com>2019-12-15 20:02:20 -0500
commitee61a652003538675e00042b99fd2c03aa43a746 (patch)
tree3a67531a492475b32d2f1b7419a1c31439c6786d
parentd210e1fc2cf1c2d095471cefa700a0d1703f4ab6 (diff)
Fix repeating tag changes
To make repeating tag changes, need to record the output from the reading the new tag
-rw-r--r--evil-surround.el6
-rw-r--r--test/evil-surround-test.el10
2 files changed, 14 insertions, 2 deletions
diff --git a/evil-surround.el b/evil-surround.el
index 6a92d08..305ccf5 100644
--- a/evil-surround.el
+++ b/evil-surround.el
@@ -106,10 +106,12 @@ Each item is of the form (OPERATOR . OPERATION)."
"The previously deleted LEFT region.")
(defun evil-surround-read-from-minibuffer (&rest args)
- (when evil-surround-record-repeat
+ (when (or evil-surround-record-repeat
+ (evil-repeat-recording-p))
(evil-repeat-keystrokes 'post))
(let ((res (apply #'read-from-minibuffer args)))
- (when evil-surround-record-repeat
+ (when (or evil-surround-record-repeat
+ (evil-repeat-recording-p))
(evil-repeat-record res))
res))
diff --git a/test/evil-surround-test.el b/test/evil-surround-test.el
index 0ab98de..a93bd7a 100644
--- a/test/evil-surround-test.el
+++ b/test/evil-surround-test.el
@@ -129,6 +129,16 @@
"<span ngModel class=\"foo\" randomAngularDirective #anchor1>Bar</span>"
("cst<p>")
"<p>Bar</p>"))
+ (ert-info ("optionally keep xml attributes: repeating")
+ (evil-test-buffer
+ :visual-start nil
+ :visual-end nil
+ "<div attr=\"foo\">Foo</div><div attr=\"bar\">Bar</div>"
+ (turn-on-evil-surround-mode)
+ ("cst<span")
+ "<span attr=\"foo\">Foo</span><div attr=\"bar\">Bar</div>"
+ ("fB.")
+ "<span attr=\"foo\">Foo</span><span attr=\"bar\">Bar</span>"))
(ert-info ("repeat surrounding")
(evil-test-buffer
"[o]ne two three"