Skip to content

Commit 36a6401

Browse files
authored
Merge pull request #1372 from gos-k/main
Bugfix out-of-range substitution of vi visual mode
2 parents 099e009 + 112793d commit 36a6401

File tree

2 files changed

+13
-2
lines changed

2 files changed

+13
-2
lines changed

extensions/vi-mode/ex-command.lisp

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -148,7 +148,8 @@
148148
(cond
149149
(replace-all-in-line
150150
(lem:line-start start)
151-
(lem:line-end end)
151+
(unless (lem:start-line-p end)
152+
(lem:line-end end))
152153
(rep start end nil))
153154
(t
154155
(lem:move-point (lem:current-point) start)

extensions/vi-mode/tests/ex.lisp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,4 +25,14 @@
2525
(testing "'g' flag"
2626
(with-vi-buffer (#?"pen pineapple <apple pen\nap[p]>le juice\npineapple cake\n")
2727
(ex-cmd "'<,'>s/apple/grape/g")
28-
(ok (text= #?"pen pinegrape grape pen\ngrape juice\npineapple cake\n"))))))
28+
(ok (text= #?"pen pinegrape grape pen\ngrape juice\npineapple cake\n")))
29+
30+
(with-vi-buffer (#?"apple apple\n[a]pple apple\napple apple\napple apple\n")
31+
(cmd "Vj")
32+
(ex-cmd "'<,'>s/apple/grape/g")
33+
(ok (text= #?"apple apple\ngrape grape\ngrape grape\napple apple\n")))
34+
35+
(with-vi-buffer (#?"apple apple\napple apple\n[a]pple apple\napple apple\n")
36+
(cmd "Vk")
37+
(ex-cmd "'<,'>s/apple/grape/g")
38+
(ok (text= #?"apple apple\ngrape grape\ngrape grape\napple apple\n"))))))

0 commit comments

Comments
 (0)