summaryrefslogtreecommitdiff
path: root/lualibs-unicode.lua
diff options
context:
space:
mode:
authorPhilipp Gesang <phg@phi-gamma.net>2016-04-08 19:13:51 +0200
committerPhilipp Gesang <phg@phi-gamma.net>2016-04-08 19:13:51 +0200
commitf3495d7db72f854d8f7560a6ff11fa9012003062 (patch)
tree38b9ad5b0d15ccd5c8288be2221defc091eada64 /lualibs-unicode.lua
parent233c885a37efeabaab00c68f1dd4262705a0ac9e (diff)
parent935306412b57f436fcb5307a14941ded3eb3168d (diff)
downloadlualibs-f3495d7db72f854d8f7560a6ff11fa9012003062.tar.gz
Merge pull request #29 from phi-gamma/master
version 2.4
Diffstat (limited to 'lualibs-unicode.lua')
-rw-r--r--lualibs-unicode.lua9
1 files changed, 5 insertions, 4 deletions
diff --git a/lualibs-unicode.lua b/lualibs-unicode.lua
index 70b6032..3dec800 100644
--- a/lualibs-unicode.lua
+++ b/lualibs-unicode.lua
@@ -528,9 +528,10 @@ end
-- end, pattern
-- end
-function utf.remapper(mapping,option) -- static also returns a pattern
+function utf.remapper(mapping,option,action) -- static also returns a pattern
local variant = type(mapping)
if variant == "table" then
+ action = action or mapping
if option == "dynamic" then
local pattern = false
table.setmetatablenewindex(mapping,function(t,k,v) rawset(t,k,v) pattern = false end)
@@ -539,16 +540,16 @@ function utf.remapper(mapping,option) -- static also returns a pattern
return ""
else
if not pattern then
- pattern = Cs((tabletopattern(mapping)/mapping + p_utf8char)^0)
+ pattern = Cs((tabletopattern(mapping)/action + p_utf8char)^0)
end
return lpegmatch(pattern,str)
end
end
elseif option == "pattern" then
- return Cs((tabletopattern(mapping)/mapping + p_utf8char)^0)
+ return Cs((tabletopattern(mapping)/action + p_utf8char)^0)
-- elseif option == "static" then
else
- local pattern = Cs((tabletopattern(mapping)/mapping + p_utf8char)^0)
+ local pattern = Cs((tabletopattern(mapping)/action + p_utf8char)^0)
return function(str)
if not str or str == "" then
return ""