aboutsummaryrefslogtreecommitdiff
path: root/evil-ex.el
diff options
context:
space:
mode:
authorTom Dalziel <tom_dl@hotmail.com>2022-04-13 12:05:02 +0100
committerTom Dalziel <33435574+tomdl89@users.noreply.github.com>2022-04-13 13:12:42 +0200
commit7e87b82660668cb10f1f9838ddd622abab1f7a62 (patch)
treef4a2aa572fee7a29f884eac7ca75152ce032826c /evil-ex.el
parentdbab24f01daeef99039e6cd6f671d8b9ff1b4796 (diff)
Ex yank doesn't move point
In visual state, it restores point to beginning of visual range Fixes #1593
Diffstat (limited to 'evil-ex.el')
-rw-r--r--evil-ex.el5
1 files changed, 4 insertions, 1 deletions
diff --git a/evil-ex.el b/evil-ex.el
index af04f70..b375a74 100644
--- a/evil-ex.el
+++ b/evil-ex.el
@@ -703,6 +703,8 @@ This function interprets special file names like # and %."
(evil-ex-range
(or range (and count (evil-ex-range count count))))
(evil-ex-command (evil-ex-completed-binding command))
+ (restore-point (when (evil-get-command-property evil-ex-command :restore-point)
+ (min (point) (or (mark) most-positive-fixnum))))
(evil-ex-bang (and bang t))
(evil-ex-argument (copy-sequence argument))
(evil-this-type (evil-type evil-ex-range))
@@ -734,7 +736,8 @@ This function interprets special file names like # and %."
(goto-char beg)
(activate-mark)
(call-interactively evil-ex-command)
- (run-hooks 'post-command-hook))))
+ (run-hooks 'post-command-hook)
+ (when restore-point (goto-char restore-point)))))
(when (buffer-live-p buf)
(with-current-buffer buf
(deactivate-mark)))))))