aboutsummaryrefslogtreecommitdiff
path: root/modules
diff options
context:
space:
mode:
authormitchell <70453897+667e-11@users.noreply.github.com>2018-05-11 12:22:09 -0400
committermitchell <70453897+667e-11@users.noreply.github.com>2018-05-11 12:22:09 -0400
commit00c23327058f68edc3cb59d0d69ff349e29cd03c (patch)
tree7eaab9f3d570020aa083c884a45257bb46676326 /modules
parent15561dbeb97994eba2505023fae5ef144ae8d6b8 (diff)
downloadtextadept-00c23327058f68edc3cb59d0d69ff349e29cd03c.tar.gz
textadept-00c23327058f68edc3cb59d0d69ff349e29cd03c.zip
Be more explicit with matching \uXXXX and \xYY replacement patterns.
Diffstat (limited to 'modules')
-rw-r--r--modules/textadept/find.lua6
1 files changed, 3 insertions, 3 deletions
diff --git a/modules/textadept/find.lua b/modules/textadept/find.lua
index 4657b0c8..0757a013 100644
--- a/modules/textadept/find.lua
+++ b/modules/textadept/find.lua
@@ -316,9 +316,9 @@ end
local function replace(rtext)
if buffer.selection_empty then return end
if M.in_files then M.in_files = false end
- rtext = rtext:gsub('\\[ux](%x+)', function(codepoint)
- return utf8.char(tonumber(codepoint, 16)) -- interpret \uXXXX or \xYY
- end)
+ rtext = rtext:gsub('\\u(%x%x%x%x)', function(code)
+ return utf8.char(tonumber(code, 16))
+ end):gsub('\\x(%x%x)', function(c) return string.char(tonumber(c, 16)) end)
buffer:target_from_selection()
buffer[not M.regex and 'replace_target' or 'replace_target_re'](buffer, rtext)
buffer:set_sel(buffer.target_start, buffer.target_end)