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 --- Master/texmf-dist/doc/luatex/lualibs/NEWS | 3 +++ Master/texmf-dist/doc/luatex/lualibs/README | 2 +- Master/texmf-dist/doc/luatex/lualibs/lualibs.pdf | Bin 80646 -> 80496 bytes Master/texmf-dist/source/luatex/lualibs/lualibs.dtx | 18 +++++++++--------- .../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 ++++++++++++++++++-- .../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 ++-- 13 files changed, 83 insertions(+), 24 deletions(-) diff --git a/Master/texmf-dist/doc/luatex/lualibs/NEWS b/Master/texmf-dist/doc/luatex/lualibs/NEWS index 50a27ece753..f930695f28f 100644 --- a/Master/texmf-dist/doc/luatex/lualibs/NEWS +++ b/Master/texmf-dist/doc/luatex/lualibs/NEWS @@ -1,4 +1,7 @@ History of the lualibs package +2018/10/18 v2.61/ + * sync with Context beta as of 2018-10-18 + 2018/09/20 v2.6/ * sync with Context beta as of 2018-09-20 diff --git a/Master/texmf-dist/doc/luatex/lualibs/README b/Master/texmf-dist/doc/luatex/lualibs/README index c5eae78307c..e6d08535f1d 100644 --- a/Master/texmf-dist/doc/luatex/lualibs/README +++ b/Master/texmf-dist/doc/luatex/lualibs/README @@ -11,7 +11,7 @@ for use independent of ConTeXt. This package has been developed by the LuaLaTeX development team on . -The current verson 2.6. has been build by Ulrike Fischer on +The current verson 2.61 has been build by Ulrike Fischer on . See the 'NEWS' file for version history. diff --git a/Master/texmf-dist/doc/luatex/lualibs/lualibs.pdf b/Master/texmf-dist/doc/luatex/lualibs/lualibs.pdf index ba3a07efde9..70cb2e2cc31 100644 Binary files a/Master/texmf-dist/doc/luatex/lualibs/lualibs.pdf and b/Master/texmf-dist/doc/luatex/lualibs/lualibs.pdf differ diff --git a/Master/texmf-dist/source/luatex/lualibs/lualibs.dtx b/Master/texmf-dist/source/luatex/lualibs/lualibs.dtx index 58c097dafd4..fcfe0b02243 100644 --- a/Master/texmf-dist/source/luatex/lualibs/lualibs.dtx +++ b/Master/texmf-dist/source/luatex/lualibs/lualibs.dtx @@ -37,7 +37,7 @@ \input docstrip.tex \Msg{************************************************************************} \Msg{* Installation} -\Msg{* Package: lualibs 2018-09-21 v2.6 Lua additional functions.} +\Msg{* Package: lualibs 2018-10-18 v2.61 Lua additional functions.} \Msg{************************************************************************} \keepsilent @@ -107,7 +107,7 @@ and lualibs-extended.lua. %<*driver> \NeedsTeXFormat{LaTeX2e} \ProvidesFile{lualibs.drv} - [2018/09/21 v2.6 Lua Libraries.] + [2018/10/18 v2.61 Lua Libraries.] \documentclass{ltxdoc} \usepackage{fancyvrb,xspace} \usepackage[x11names]{xcolor} @@ -208,7 +208,7 @@ and lualibs-extended.lua. % \GetFileInfo{lualibs.drv} % % \title{The \identifier{lualibs} package} -% \date{2018/09/21 v2.6} +% \date{2018/10/18 v2.61} % \author{Élie Roux · \email{elie.roux@telecom-bretagne.eu}\\ % Philipp Gesang · \email{phg@phi-gamma.net}\\ % Ulrike Fischer · \email{fischer@troubleshooting-tex.de}\\ @@ -429,8 +429,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", @@ -584,8 +584,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", @@ -666,8 +666,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-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