Skip to content

Commit b15c5bb

Browse files
authored
Merge pull request #1725 from Encryptoid/isearch-fix-highlight-with-regex
isearch - End highlight when no range found
2 parents 52f8c5c + 1465ce7 commit b15c5bb

File tree

2 files changed

+19
-7
lines changed

2 files changed

+19
-7
lines changed

extensions/vi-mode/tests/ex.lisp

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,18 @@
2121
(with-vi-buffer (#?"[p]en pineapple apple pen\napple juice\npineapple cake\n")
2222
(cmd "Vj")
2323
(ex-cmd "'<,'>s/apple/grape")
24-
(ok (text= #?"pen pinegrape apple pen\ngrape juice\npineapple cake\n"))))
24+
(ok (text= #?"pen pinegrape apple pen\ngrape juice\npineapple cake\n")))
25+
26+
;; Regexp Replacements
27+
(with-vi-buffer (#?"line 1\nl[i]ne 2\nline 3\nline 4\n")
28+
(cmd "Vj")
29+
(ex-cmd "'<,'>s/^/foo - /")
30+
(ok (text= #?"line 1\nfoo - line 2\nfoo - line 3\nline 4\n")))
31+
(with-vi-buffer (#?"line 1\nl[i]ne 2\nline 3\nline 4\n")
32+
(cmd "Vj")
33+
(ex-cmd "'<,'>s/$/ - bar/")
34+
(ok (text= #?"line 1\nline 2 - bar\nline 3 - bar\nline 4\n")))
35+
)
2536
(testing "'g' flag"
2637
(with-vi-buffer (#?"pen pineapple <apple pen\nap[p]>le juice\npineapple cake\n")
2738
(ex-cmd "'<,'>s/apple/grape/g")

src/ext/isearch.lisp

Lines changed: 7 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -187,12 +187,13 @@
187187
(return-from highlight-region nil))
188188
(with-point ((p start-point))
189189
(loop
190-
(unless (funcall *isearch-search-forward-function* p search-string end-point)
191-
(return))
192-
(with-point ((before p))
193-
(funcall *isearch-search-backward-function* before search-string)
194-
(isearch-add-overlay buffer
195-
(make-overlay before p 'isearch-highlight-attribute)))))
190+
(unless (or (funcall *isearch-search-forward-function* p search-string end-point)
191+
(point= start-point end-point)))
192+
(return))
193+
(with-point ((before p))
194+
(funcall *isearch-search-backward-function* before search-string)
195+
(isearch-add-overlay buffer
196+
(make-overlay before p 'isearch-highlight-attribute))))
196197
(isearch-sort-overlays buffer))))
197198

198199
(defun isearch-update-display ()

0 commit comments

Comments
 (0)