From 137c28853effaf60c5c20884417643f671c79514 Mon Sep 17 00:00:00 2001 From: Philipp Gesang Date: Sun, 3 Nov 2013 12:58:28 +0100 Subject: sync with Context as of 2013-11-03 --- lualibs-lpeg.lua | 3 +++ lualibs-util-tpl.lua | 16 ++++++++-------- 2 files changed, 11 insertions(+), 8 deletions(-) diff --git a/lualibs-lpeg.lua b/lualibs-lpeg.lua index 58c5524..399b3ad 100644 --- a/lualibs-lpeg.lua +++ b/lualibs-lpeg.lua @@ -466,6 +466,9 @@ function lpeg.replacer(one,two,makefunction,isutf) -- in principle we should sor end end +-- local pattern1 = P(1-P(pattern))^0 * P(pattern) : test for not nil +-- local pattern2 = (P(pattern) * Cc(true) + P(1))^0 : test for true (could be faster, but not much) + function lpeg.finder(lst,makefunction) -- beware: slower than find with 'patternless finds' local pattern if type(lst) == "table" then diff --git a/lualibs-util-tpl.lua b/lualibs-util-tpl.lua index e0c405a..67d0582 100644 --- a/lualibs-util-tpl.lua +++ b/lualibs-util-tpl.lua @@ -17,8 +17,8 @@ local trace_template = false trackers.register("templates.trace",function(v) t local report_template = logs.reporter("template") local tostring = tostring -local format, sub = string.format, string.sub -local P, C, Cs, Carg, lpegmatch, lpegpatterns = lpeg.P, lpeg.C, lpeg.Cs, lpeg.Carg, lpeg.match, lpeg.patterns +local format, sub, byte = string.format, string.sub, string.byte +local P, C, R, Cs, Cc, Carg, lpegmatch, lpegpatterns = lpeg.P, lpeg.C, lpeg.R, lpeg.Cs, lpeg.Cc, lpeg.Carg, lpeg.match, lpeg.patterns -- todo: make installable template.new @@ -71,7 +71,7 @@ lpegpatterns.sqlquoted = sqlquoted -- } -- -- slightly faster: --- + -- local luaescape = Cs (( -- P('"' ) / [[\"]] + -- P('\\') / [[\\]] + @@ -81,11 +81,11 @@ lpegpatterns.sqlquoted = sqlquoted -- P(1) -- )^0) --- local xmlescape = lpegpatterns.xmlescape --- local texescape = lpegpatterns.texescape --- local luaescape = lpegpatterns.luaescape --- local sqlquoted = lpegpatterns.sqlquoted --- local luaquoted = lpegpatterns.luaquoted +----- xmlescape = lpegpatterns.xmlescape +----- texescape = lpegpatterns.texescape +local luaescape = lpegpatterns.luaescape +----- sqlquoted = lpegpatterns.sqlquoted +----- luaquoted = lpegpatterns.luaquoted local escapers = { lua = function(s) -- cgit v1.2.3