From 854fa35fc4ede90cf35dae564298a94f8f99d8a4 Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Sun, 21 Oct 2018 20:36:09 +0000 Subject: lualibs (21oct18) git-svn-id: svn://tug.org/texlive/trunk@48965 c570f23f-e606-0410-a88d-b1316a301751 --- .../tex/luatex/lualibs/lualibs-basic-merged.lua | 17 ++++++++++++++--- .../texmf-dist/tex/luatex/lualibs/lualibs-basic.lua | 4 ++-- .../tex/luatex/lualibs/lualibs-extended-merged.lua | 8 ++++++-- .../tex/luatex/lualibs/lualibs-extended.lua | 4 ++-- .../texmf-dist/tex/luatex/lualibs/lualibs-lpeg.lua | 20 ++++++++++++++++++-- .../texmf-dist/tex/luatex/lualibs/lualibs-number.lua | 4 ++++ .../tex/luatex/lualibs/lualibs-trac-inf.lua | 6 +++++- .../tex/luatex/lualibs/lualibs-util-str.lua | 17 +++++++++++++++++ Master/texmf-dist/tex/luatex/lualibs/lualibs.lua | 4 ++-- 9 files changed, 70 insertions(+), 14 deletions(-) (limited to 'Master/texmf-dist/tex/luatex') diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua index 8d3f87b9d66..db130567123 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic-merged.lua @@ -1,6 +1,6 @@ -- merged file : lualibs-basic-merged.lua -- parent file : lualibs-basic.lua --- merge date : Fri Sep 21 15:12:31 2018 +-- merge date : Thu Oct 18 23:57:42 2018 do -- begin closure to overcome local limits and interference @@ -623,10 +623,18 @@ function lpeg.instringchecker(p) end end function lpeg.splitter(pattern,action) - return (((1-P(pattern))^1)/action+1)^0 + if action then + return (((1-P(pattern))^1)/action+1)^0 + else + return (Cs((1-P(pattern))^1)+1)^0 + end end function lpeg.tsplitter(pattern,action) - return Ct((((1-P(pattern))^1)/action+1)^0) + if action then + return Ct((((1-P(pattern))^1)/action+1)^0) + else + return Ct((Cs((1-P(pattern))^1)+1)^0) + end end local splitters_s,splitters_m,splitters_t={},{},{} local function splitat(separator,single) @@ -2669,6 +2677,9 @@ function number.decimaltobyte(d) return b end end +function number.idiv(i,d) + return floor(i/d) +end end -- closure diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua index 0fed125d393..3ddb39f7ccf 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs-basic.lua @@ -29,8 +29,8 @@ local loadmodule = lualibs.loadmodule local lualibs_basic_module = { name = "lualibs-basic", - version = 2.6, - date = "2018-09-21", + version = 2.61, + date = "2018-10-18", description = "ConTeXt Lua libraries -- basic collection.", author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux & Philipp Gesang", copyright = "PRAGMA ADE / ConTeXt Development Team", diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs-extended-merged.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs-extended-merged.lua index 0175b8d8747..c2a5fc242af 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs-extended-merged.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs-extended-merged.lua @@ -1,6 +1,6 @@ -- merged file : lualibs-extended-merged.lua -- parent file : lualibs-extended.lua --- merge date : Fri Sep 21 15:12:38 2018 +-- merge date : Thu Oct 18 23:57:30 2018 do -- begin closure to overcome local limits and interference @@ -2859,9 +2859,13 @@ local function resettiming(instance) end local ticks=clock local seconds=function(n) return n or 0 end -local function starttiming(instance) +local function starttiming(instance,reset) local timer=timers[instance or "notimer"] local it=timer.timing + if reset then + it=0 + timer.loadtime=0 + end if it==0 then timer.starttime=ticks() if not timer.loadtime then diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs-extended.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs-extended.lua index 166f688ed65..6a46d6c1cf9 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs-extended.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs-extended.lua @@ -30,8 +30,8 @@ lualibs = lualibs or { } local lualibs_extended_module = { name = "lualibs-extended", - version = 2.6, - date = "2018-09-21", + version = 2.61, + date = "2018-10-18", description = "ConTeXt Lua libraries -- extended collection.", author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux & Philipp Gesang", copyright = "PRAGMA ADE / ConTeXt Development Team", diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs-lpeg.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs-lpeg.lua index 750d5e698d7..589fa2b0b22 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs-lpeg.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs-lpeg.lua @@ -308,12 +308,28 @@ function lpeg.instringchecker(p) end end +-- function lpeg.splitter(pattern, action) +-- return (((1-P(pattern))^1)/action+1)^0 +-- end + +-- function lpeg.tsplitter(pattern, action) +-- return Ct((((1-P(pattern))^1)/action+1)^0) +-- end + function lpeg.splitter(pattern, action) - return (((1-P(pattern))^1)/action+1)^0 + if action then + return (((1-P(pattern))^1)/action+1)^0 + else + return (Cs((1-P(pattern))^1)+1)^0 + end end function lpeg.tsplitter(pattern, action) - return Ct((((1-P(pattern))^1)/action+1)^0) + if action then + return Ct((((1-P(pattern))^1)/action+1)^0) + else + return Ct((Cs((1-P(pattern))^1)+1)^0) + end end -- probleem: separator can be lpeg and that does not hash too well, but diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs-number.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs-number.lua index a83e8f8f94a..dc4a93b0ec0 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs-number.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs-number.lua @@ -232,3 +232,7 @@ function number.decimaltobyte(d) return b end end + +function number.idiv(i,d) + return floor(i/d) -- i//d in 5.3 +end diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs-trac-inf.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs-trac-inf.lua index 51893d585fe..6c08f34f6e7 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs-trac-inf.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs-trac-inf.lua @@ -82,9 +82,13 @@ local seconds = function(n) return n or 0 end -- -- end -local function starttiming(instance) +local function starttiming(instance,reset) local timer = timers[instance or "notimer"] local it = timer.timing + if reset then + it = 0 + timer.loadtime = 0 + end if it == 0 then timer.starttime = ticks() if not timer.loadtime then diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs-util-str.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs-util-str.lua index 48c265659ef..f090bce55cc 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs-util-str.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs-util-str.lua @@ -1022,6 +1022,22 @@ end -- +-- local strip +-- +-- local format_Z = function(f) +-- n = n + 1 +-- if not f or f == "" then +-- f = ".9" +-- end +-- return format("(((a%s %% 1 == 0) and format('%%i',a%s)) or (strip and lpegmatch(stripzero,format('%%%sf',a%s))) or format('%%%sf',a%s))",n,n,f,n,f,n) +-- end +-- +-- function strings.stripformatterzeros() +-- strip = true +-- end + +-- + local format_rest = function(s) return format("%q",s) -- catches " and \n and such end @@ -1155,6 +1171,7 @@ local builder = Cs { "start", ["M"] = (prefix_any * P("M")) / format_M, -- %M => xxx,xxx,xxx.xx (optional prefix instead of ,) -- ["z"] = (prefix_any * P("z")) / format_z, -- %z => skip n arguments + -- ["Z"] = (prefix_any * P("Z")) / format_Z, -- %Z => optionally strip zeros -- ["a"] = (prefix_any * P("a")) / format_a, -- %a => '...' (forces tostring) ["A"] = (prefix_any * P("A")) / format_A, -- %A => "..." (forces tostring) diff --git a/Master/texmf-dist/tex/luatex/lualibs/lualibs.lua b/Master/texmf-dist/tex/luatex/lualibs/lualibs.lua index 685d4228e3d..e375e8481cc 100644 --- a/Master/texmf-dist/tex/luatex/lualibs/lualibs.lua +++ b/Master/texmf-dist/tex/luatex/lualibs/lualibs.lua @@ -25,8 +25,8 @@ lualibs = lualibs or { } lualibs.module_info = { name = "lualibs", - version = 2.6, - date = "2018-09-21", + version = 2.61, + date = "2018-10-18", description = "ConTeXt Lua standard libraries.", author = "Hans Hagen, PRAGMA-ADE, Hasselt NL & Elie Roux & Philipp Gesang", copyright = "PRAGMA ADE / ConTeXt Development Team", -- cgit v1.2.3