aboutsummaryrefslogtreecommitdiffhomepage
path: root/modules
diff options
context:
space:
mode:
authorGravatar mitchell <70453897+orbitalquark@users.noreply.github.com>2021-06-05 13:37:34 -0400
committerGravatar mitchell <70453897+orbitalquark@users.noreply.github.com>2021-06-05 13:37:34 -0400
commit57d946f2eba8de5f7386b553558567b470900322 (patch)
tree379f1d35b7e170b33b47d5dcc5b3a0f1819adf61 /modules
parentcb080a63dc6855409300b02195a9d154845ca66d (diff)
Allow "Replace All" for empty regex matches.
Diffstat (limited to 'modules')
-rw-r--r--modules/textadept/find.lua4
1 files changed, 2 insertions, 2 deletions
diff --git a/modules/textadept/find.lua b/modules/textadept/find.lua
index b8f70ca6..c8a77d86 100644
--- a/modules/textadept/find.lua
+++ b/modules/textadept/find.lua
@@ -414,10 +414,10 @@ events.connect(events.REPLACE_ALL, function(ftext, rtext)
buffer:set_target_range(not replace_in_sel and 1 or s, buffer.length + 1)
while buffer:search_in_target(ftext) ~= -1 and
(not replace_in_sel or buffer.target_end <= buffer:indicator_end(INDIC_REPLACE, s) or EOF) do
- if buffer.target_start == buffer.target_end then break end -- prevent loops
+ local offset = buffer.target_start ~= buffer.target_end and 0 or 1 -- for preventing loops
buffer:replace_target(not M.regex and rtext or unescape(rtext))
count = count + 1
- buffer:set_target_range(buffer.target_end, buffer.length + 1)
+ buffer:set_target_range(buffer.target_end + offset, buffer.length + 1)
end
buffer:end_undo_action()