From 47852e5715e7c0374bb6bc173c1728908549e1ed Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Wed, 24 Jul 2019 13:08:53 +0200 Subject: 2019-07-24 11:24:00 --- scripts/context/lua/mtxrun.lua | 77 +++++++++++++++++++++++------------------- 1 file changed, 42 insertions(+), 35 deletions(-) (limited to 'scripts/context/lua/mtxrun.lua') diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index 73cc4a9be..89f8b6682 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -2096,7 +2096,7 @@ do -- create closure to overcome 200 locals limit package.loaded["l-table"] = package.loaded["l-table"] or true --- original size: 41332, stripped down to: 21508 +-- original size: 41494, stripped down to: 21574 if not modules then modules={} end modules ['l-table']={ version=1.001, @@ -3047,7 +3047,7 @@ end local function sequenced(t,sep,simple) if not t then return "" - elseif type(t)=="string" then + elseif type(t)~="table" then return t end local n=#t @@ -3086,7 +3086,11 @@ local function sequenced(t,sep,simple) end end end - return concat(s,sep or " | ") + if sep==true then + return "{ "..concat(s,", ").." }" + else + return concat(s,sep or " | ") + end end table.sequenced=sequenced function table.print(t,...) @@ -20453,7 +20457,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-ini"] = package.loaded["data-ini"] or true --- original size: 11099, stripped down to: 7152 +-- original size: 10987, stripped down to: 7056 if not modules then modules={} end modules ['data-ini']={ version=1.001, @@ -20468,7 +20472,6 @@ local filedirname,filebasename,filejoin=file.dirname,file.basename,file.join local ostype,osname,osuname,ossetenv,osgetenv=os.type,os.name,os.uname,os.setenv,os.getenv local P,S,R,C,Cs,Cc,lpegmatch=lpeg.P,lpeg.S,lpeg.R,lpeg.C,lpeg.Cs,lpeg.Cc,lpeg.match local trace_locating=false trackers.register("resolvers.locating",function(v) trace_locating=v end) -local trace_detail=false trackers.register("resolvers.details",function(v) trace_detail=v end) local trace_expansions=false trackers.register("resolvers.expansions",function(v) trace_expansions=v end) local report_initialization=logs.reporter("resolvers","initialization") resolvers=resolvers or {} @@ -21111,7 +21114,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-env"] = package.loaded["data-env"] or true --- original size: 9376, stripped down to: 6326 +-- original size: 9384, stripped down to: 6333 if not modules then modules={} end modules ['data-env']={ version=1.001, @@ -21202,13 +21205,13 @@ local relations=allocate { mp={ names={ "mp" }, variable='MPINPUTS', - suffixes={ 'mp','mpvi','mpiv','mpii' }, + suffixes={ 'mp','mpvi','mpiv','mpxl','mpii' }, usertype=true, }, tex={ names={ "tex" }, variable='TEXINPUTS', - suffixes={ "tex","mkvi","mkiv","mkli","mkil","mkii","cld","lfg","xml" }, + suffixes={ "tex","mkiv","mkvi","mkxl","mklx","mkii","cld","lfg","xml" }, usertype=true, }, icc={ @@ -21396,7 +21399,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-tmp"] = package.loaded["data-tmp"] or true --- original size: 16284, stripped down to: 10938 +-- original size: 16472, stripped down to: 11057 if not modules then modules={} end modules ['data-tmp']={ version=1.100, @@ -21637,21 +21640,22 @@ function caches.loaddata(readables,name,writable) for i=1,#readables do local path=readables[i] local loader=false + local state=false local tmaname,tmcname=caches.setluanames(path,name) if isfile(tmcname) then - loader=loadfile(tmcname) + state,loader=pcall(loadfile,tmcname) end if not loader and isfile(tmaname) then local tmacrap,tmcname=caches.setluanames(writable,name) if isfile(tmcname) then - loader=loadfile(tmcname) + state,loader=pcall(loadfile,tmcname) end utilities.lua.compile(tmaname,tmcname) if isfile(tmcname) then - loader=loadfile(tmcname) + state,loader=pcall(loadfile,tmcname) end if not loader then - loader=loadfile(tmaname) + state,loader=pcall(loadfile,tmaname) end end if loader then @@ -21689,7 +21693,10 @@ function caches.loadcontent(cachename,dataname,filename) local full,path=caches.getfirstreadablefile(addsuffix(name,luasuffixes.lua),"trees") filename=file.join(path,name) end - local blob=loadfile(addsuffix(filename,luasuffixes.luc)) or loadfile(addsuffix(filename,luasuffixes.lua)) + local state,blob=pcall(loadfile,addsuffix(filename,luasuffixes.luc)) + if not blob then + state,blob=pcall(loadfile,addsuffix(filename,luasuffixes.lua)) + end if blob then local data=blob() if data and data.content then @@ -21886,7 +21893,7 @@ do -- create closure to overcome 200 locals limit package.loaded["data-res"] = package.loaded["data-res"] or true --- original size: 68195, stripped down to: 43680 +-- original size: 68194, stripped down to: 43699 if not modules then modules={} end modules ['data-res']={ version=1.001, @@ -21919,7 +21926,7 @@ local isdir=lfs.isdir local setmetatableindex=table.setmetatableindex local luasuffixes=utilities.lua.suffixes local trace_locating=false trackers .register("resolvers.locating",function(v) trace_locating=v end) -local trace_detail=false trackers .register("resolvers.details",function(v) trace_detail=v end) +local trace_details=false trackers .register("resolvers.details",function(v) trace_details=v end) local trace_expansions=false trackers .register("resolvers.expansions",function(v) trace_expansions=v end) local trace_paths=false trackers .register("resolvers.paths",function(v) trace_paths=v end) local resolve_otherwise=true directives.register("resolvers.otherwise",function(v) resolve_otherwise=v end) @@ -22651,7 +22658,7 @@ function resolvers.renewcache() end local function isreadable(name) local readable=isfile(name) - if trace_detail then + if trace_details then if readable then report_resolving("file %a is readable",name) else @@ -22668,7 +22675,7 @@ local function collect_files(names) local variant=hash.type local search=filejoin(root,path,name) local result=methodhandler('concatinators',variant,root,path,name) - if trace_detail then + if trace_details then report_resolving("match: variant %a, search %a, result %a",variant,search,result) end noffiles=noffiles+1 @@ -22677,7 +22684,7 @@ local function collect_files(names) end for k=1,#names do local filename=names[k] - if trace_detail then + if trace_details then report_resolving("checking name %a",filename) end local basename=filebasename(filename) @@ -22694,7 +22701,7 @@ local function collect_files(names) local hashname=hash.name local content=hashname and instance.files[hashname] if content then - if trace_detail then + if trace_details then report_resolving("deep checking %a, base %a, pattern %a",hashname,basename,pathname) end local path,name=lookup(content,basename) @@ -22795,7 +22802,7 @@ local function find_analyze(filename,askedformat,allresults) end local function find_direct(filename,allresults) if not dangerous[askedformat] and isreadable(filename) then - if trace_detail then + if trace_details then report_resolving("file %a found directly",filename) end return "direct",{ filename } @@ -22820,12 +22827,12 @@ local function find_qualified(filename,allresults,askedformat,alsostripped) report_resolving("checking qualified name %a",filename) end if isreadable(filename) then - if trace_detail then + if trace_details then report_resolving("qualified file %a found",filename) end return "qualified",{ filename } end - if trace_detail then + if trace_details then report_resolving("locating qualified file %a",filename) end local forcedname,suffix="",suffixonly(filename) @@ -22881,7 +22888,7 @@ local function find_qualified(filename,allresults,askedformat,alsostripped) end local function check_subpath(fname) if isreadable(fname) then - if trace_detail then + if trace_details then report_resolving("found %a by deep scanning",fname) end return fname @@ -22937,7 +22944,7 @@ local function find_intree(filename,filetype,wantedfiles,allresults) dirlist[i]=filedirname(filelist[i][3]).."/" end end - if trace_detail then + if trace_details then report_resolving("checking filename %a in tree",filename) end for k=1,#pathlist do @@ -22947,7 +22954,7 @@ local function find_intree(filename,filetype,wantedfiles,allresults) local done=false if filelist then local expression=entry.expression - if trace_detail then + if trace_details then report_resolving("using pattern %a for path %a",expression,pathname) end for k=1,#filelist do @@ -22958,16 +22965,16 @@ local function find_intree(filename,filetype,wantedfiles,allresults) result[#result+1]=resolveprefix(fl[3]) done=true if allresults then - if trace_detail then + if trace_details then report_resolving("match to %a in hash for file %a and path %a, continue scanning",expression,f,d) end else - if trace_detail then + if trace_details then report_resolving("match to %a in hash for file %a and path %a, quit scanning",expression,f,d) end break end - elseif trace_detail then + elseif trace_details then report_resolving("no match to %a in hash for file %a and path %a",expression,f,d) end end @@ -22982,7 +22989,7 @@ local function find_intree(filename,filetype,wantedfiles,allresults) if not find(pname,"*",1,true) then if can_be_dir(pname) then if not done and not entry.prescanned then - if trace_detail then + if trace_details then report_resolving("quick root scan for %a",pname) end for k=1,#wantedfiles do @@ -22997,7 +23004,7 @@ local function find_intree(filename,filetype,wantedfiles,allresults) end end if not done and entry.recursive then - if trace_detail then + if trace_details then report_resolving("scanning filesystem for %a",pname) end local files=resolvers.simplescanfiles(pname,false,true) @@ -23063,7 +23070,7 @@ local function find_intree(filename,filetype,wantedfiles,allresults) end end local function find_onpath(filename,filetype,wantedfiles,allresults) - if trace_detail then + if trace_details then report_resolving("checking filename %a, filetype %a, wanted files %a",filename,filetype,concat(wantedfiles," | ")) end local result={} @@ -23119,7 +23126,7 @@ collect_instance_files=function(filename,askedformat,allresults) end end end - if trace_detail then + if trace_details then report_resolving("lookup status: %s",table.serialize(status,filename)) end return result,status @@ -25654,8 +25661,8 @@ end -- of closure -- used libraries : l-bit32.lua l-lua.lua l-macro.lua l-sandbox.lua l-package.lua l-lpeg.lua l-function.lua l-string.lua l-table.lua l-io.lua l-number.lua l-set.lua l-os.lua l-file.lua l-gzip.lua l-md5.lua l-sha.lua l-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-fil.lua util-sac.lua util-sto.lua util-prs.lua util-fmt.lua util-soc-imp-reset.lua util-soc-imp-socket.lua util-soc-imp-copas.lua util-soc-imp-ltn12.lua util-soc-imp-mime.lua util-soc-imp-url.lua util-soc-imp-headers.lua util-soc-imp-tp.lua util-soc-imp-http.lua util-soc-imp-ftp.lua util-soc-imp-smtp.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-tpl.lua util-sbx.lua util-mrg.lua util-env.lua luat-env.lua util-zip.lua lxml-tab.lua lxml-lpt.lua lxml-mis.lua lxml-aux.lua lxml-xml.lua trac-xml.lua data-ini.lua data-exp.lua data-env.lua data-tmp.lua data-met.lua data-res.lua data-pre.lua data-inp.lua data-out.lua data-fil.lua data-con.lua data-use.lua data-zip.lua data-tre.lua data-sch.lua data-lua.lua data-aux.lua data-tmf.lua data-lst.lua util-lib.lua luat-sta.lua luat-fmt.lua -- skipped libraries : - --- original bytes : 1023172 --- stripped bytes : 405226 +-- original bytes : 1023417 +-- stripped bytes : 405356 -- end library merge -- cgit v1.2.3