From c4f0289101d4a69b1985b008e21370b148daf5a2 Mon Sep 17 00:00:00 2001 From: Hans Hagen Date: Wed, 14 Aug 2013 15:25:00 +0200 Subject: beta 2013.08.14 15:25 --- doc/context/scripts/mkii/ctxtools.html | 10 +- doc/context/scripts/mkii/imgtopdf.html | 10 +- doc/context/scripts/mkii/mptopdf.html | 10 +- doc/context/scripts/mkii/pdftools.html | 10 +- doc/context/scripts/mkii/pstopdf.html | 10 +- doc/context/scripts/mkii/rlxtools.html | 10 +- doc/context/scripts/mkii/texexec.html | 10 +- doc/context/scripts/mkii/texmfstart.html | 10 +- doc/context/scripts/mkii/textools.html | 10 +- doc/context/scripts/mkii/texutil.html | 10 +- doc/context/scripts/mkii/tmftools.html | 10 +- doc/context/scripts/mkii/xmltools.html | 10 +- doc/context/scripts/mkiv/context.html | 10 +- doc/context/scripts/mkiv/luatools.html | 10 +- doc/context/scripts/mkiv/mtx-babel.html | 10 +- doc/context/scripts/mkiv/mtx-base.html | 10 +- doc/context/scripts/mkiv/mtx-cache.html | 10 +- doc/context/scripts/mkiv/mtx-chars.html | 10 +- doc/context/scripts/mkiv/mtx-check.html | 10 +- doc/context/scripts/mkiv/mtx-colors.html | 10 +- doc/context/scripts/mkiv/mtx-context.html | 10 +- doc/context/scripts/mkiv/mtx-epub.html | 10 +- doc/context/scripts/mkiv/mtx-fcd.html | 10 +- doc/context/scripts/mkiv/mtx-flac.html | 10 +- doc/context/scripts/mkiv/mtx-fonts.html | 10 +- doc/context/scripts/mkiv/mtx-grep.html | 10 +- doc/context/scripts/mkiv/mtx-interface.html | 10 +- doc/context/scripts/mkiv/mtx-metapost.html | 10 +- doc/context/scripts/mkiv/mtx-metatex.html | 10 +- doc/context/scripts/mkiv/mtx-modules.html | 10 +- doc/context/scripts/mkiv/mtx-package.html | 10 +- doc/context/scripts/mkiv/mtx-patterns.html | 10 +- doc/context/scripts/mkiv/mtx-pdf.html | 10 +- doc/context/scripts/mkiv/mtx-plain.html | 10 +- doc/context/scripts/mkiv/mtx-profile.html | 10 +- doc/context/scripts/mkiv/mtx-rsync.html | 10 +- doc/context/scripts/mkiv/mtx-scite.html | 10 +- doc/context/scripts/mkiv/mtx-server.html | 10 +- doc/context/scripts/mkiv/mtx-texworks.html | 10 +- doc/context/scripts/mkiv/mtx-timing.html | 10 +- doc/context/scripts/mkiv/mtx-tools.html | 10 +- doc/context/scripts/mkiv/mtx-unzip.html | 10 +- doc/context/scripts/mkiv/mtx-update.html | 10 +- doc/context/scripts/mkiv/mtx-watch.html | 10 +- doc/context/scripts/mkiv/mtxrun.html | 10 +- scripts/context/lua/mtx-server-ctx-help.lua | 24 +++- scripts/context/lua/mtxrun.lua | 139 ++++++++++++++------- scripts/context/stubs/mswin/mtxrun.lua | 139 ++++++++++++++------- scripts/context/stubs/unix/mtxrun | 139 ++++++++++++++------- tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-help.lmx | 79 ++++++------ tex/context/base/context-version.pdf | Bin 4100 -> 4110 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/core-fil.mkii | 4 + tex/context/base/font-col.lua | 72 +++++++---- tex/context/base/font-ini.mkvi | 3 + tex/context/base/status-files.pdf | Bin 24684 -> 24705 bytes tex/context/base/status-lua.log | 2 +- tex/context/base/trac-lmx.lua | 5 +- tex/context/base/trac-log.lua | 120 ++++++++++++------ tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 61 files changed, 842 insertions(+), 340 deletions(-) diff --git a/doc/context/scripts/mkii/ctxtools.html b/doc/context/scripts/mkii/ctxtools.html index 0cb8799c2..06ab4ba0d 100644 --- a/doc/context/scripts/mkii/ctxtools.html +++ b/doc/context/scripts/mkii/ctxtools.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/imgtopdf.html b/doc/context/scripts/mkii/imgtopdf.html index 37d447aef..40863c4b8 100644 --- a/doc/context/scripts/mkii/imgtopdf.html +++ b/doc/context/scripts/mkii/imgtopdf.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/mptopdf.html b/doc/context/scripts/mkii/mptopdf.html index e80a3a342..4508402b2 100644 --- a/doc/context/scripts/mkii/mptopdf.html +++ b/doc/context/scripts/mkii/mptopdf.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/pdftools.html b/doc/context/scripts/mkii/pdftools.html index 4c1e76281..77e3efef3 100644 --- a/doc/context/scripts/mkii/pdftools.html +++ b/doc/context/scripts/mkii/pdftools.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/pstopdf.html b/doc/context/scripts/mkii/pstopdf.html index 17f9c002d..43593195e 100644 --- a/doc/context/scripts/mkii/pstopdf.html +++ b/doc/context/scripts/mkii/pstopdf.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/rlxtools.html b/doc/context/scripts/mkii/rlxtools.html index a2e39d286..bb377860d 100644 --- a/doc/context/scripts/mkii/rlxtools.html +++ b/doc/context/scripts/mkii/rlxtools.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/texexec.html b/doc/context/scripts/mkii/texexec.html index 6b0d7c4be..1ba325ba9 100644 --- a/doc/context/scripts/mkii/texexec.html +++ b/doc/context/scripts/mkii/texexec.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/texmfstart.html b/doc/context/scripts/mkii/texmfstart.html index 534e95671..8d44012bf 100644 --- a/doc/context/scripts/mkii/texmfstart.html +++ b/doc/context/scripts/mkii/texmfstart.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/textools.html b/doc/context/scripts/mkii/textools.html index 8874050fb..6e7b2d8aa 100644 --- a/doc/context/scripts/mkii/textools.html +++ b/doc/context/scripts/mkii/textools.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/texutil.html b/doc/context/scripts/mkii/texutil.html index 05880e278..c98571a07 100644 --- a/doc/context/scripts/mkii/texutil.html +++ b/doc/context/scripts/mkii/texutil.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/tmftools.html b/doc/context/scripts/mkii/tmftools.html index d3db5fd16..af275f69c 100644 --- a/doc/context/scripts/mkii/tmftools.html +++ b/doc/context/scripts/mkii/tmftools.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkii/xmltools.html b/doc/context/scripts/mkii/xmltools.html index 771233609..5d7d25d3a 100644 --- a/doc/context/scripts/mkii/xmltools.html +++ b/doc/context/scripts/mkii/xmltools.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/context.html b/doc/context/scripts/mkiv/context.html index ef05d3bb6..d285af311 100644 --- a/doc/context/scripts/mkiv/context.html +++ b/doc/context/scripts/mkiv/context.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/luatools.html b/doc/context/scripts/mkiv/luatools.html index 6cb869a2b..614896880 100644 --- a/doc/context/scripts/mkiv/luatools.html +++ b/doc/context/scripts/mkiv/luatools.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-babel.html b/doc/context/scripts/mkiv/mtx-babel.html index 21de59c08..a26e94ed6 100644 --- a/doc/context/scripts/mkiv/mtx-babel.html +++ b/doc/context/scripts/mkiv/mtx-babel.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-base.html b/doc/context/scripts/mkiv/mtx-base.html index 2d97a2811..93d79f40b 100644 --- a/doc/context/scripts/mkiv/mtx-base.html +++ b/doc/context/scripts/mkiv/mtx-base.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-cache.html b/doc/context/scripts/mkiv/mtx-cache.html index a344d2394..fdab3ed20 100644 --- a/doc/context/scripts/mkiv/mtx-cache.html +++ b/doc/context/scripts/mkiv/mtx-cache.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-chars.html b/doc/context/scripts/mkiv/mtx-chars.html index 64bb37038..93f1995b9 100644 --- a/doc/context/scripts/mkiv/mtx-chars.html +++ b/doc/context/scripts/mkiv/mtx-chars.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-check.html b/doc/context/scripts/mkiv/mtx-check.html index 88cbc8759..bf1f7da13 100644 --- a/doc/context/scripts/mkiv/mtx-check.html +++ b/doc/context/scripts/mkiv/mtx-check.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-colors.html b/doc/context/scripts/mkiv/mtx-colors.html index 3628fb66a..1a62f1891 100644 --- a/doc/context/scripts/mkiv/mtx-colors.html +++ b/doc/context/scripts/mkiv/mtx-colors.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-context.html b/doc/context/scripts/mkiv/mtx-context.html index ef05d3bb6..d285af311 100644 --- a/doc/context/scripts/mkiv/mtx-context.html +++ b/doc/context/scripts/mkiv/mtx-context.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-epub.html b/doc/context/scripts/mkiv/mtx-epub.html index 6c8bb99d8..45015a34e 100644 --- a/doc/context/scripts/mkiv/mtx-epub.html +++ b/doc/context/scripts/mkiv/mtx-epub.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-fcd.html b/doc/context/scripts/mkiv/mtx-fcd.html index 0719d9c0b..4b29b62eb 100644 --- a/doc/context/scripts/mkiv/mtx-fcd.html +++ b/doc/context/scripts/mkiv/mtx-fcd.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-flac.html b/doc/context/scripts/mkiv/mtx-flac.html index 293b1cb95..78259b60b 100644 --- a/doc/context/scripts/mkiv/mtx-flac.html +++ b/doc/context/scripts/mkiv/mtx-flac.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-fonts.html b/doc/context/scripts/mkiv/mtx-fonts.html index aa3004085..3ddc2fa8e 100644 --- a/doc/context/scripts/mkiv/mtx-fonts.html +++ b/doc/context/scripts/mkiv/mtx-fonts.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-grep.html b/doc/context/scripts/mkiv/mtx-grep.html index 3df541ba8..45a32f987 100644 --- a/doc/context/scripts/mkiv/mtx-grep.html +++ b/doc/context/scripts/mkiv/mtx-grep.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-interface.html b/doc/context/scripts/mkiv/mtx-interface.html index 25d263925..baafab87d 100644 --- a/doc/context/scripts/mkiv/mtx-interface.html +++ b/doc/context/scripts/mkiv/mtx-interface.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-metapost.html b/doc/context/scripts/mkiv/mtx-metapost.html index d9be70744..51708663b 100644 --- a/doc/context/scripts/mkiv/mtx-metapost.html +++ b/doc/context/scripts/mkiv/mtx-metapost.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-metatex.html b/doc/context/scripts/mkiv/mtx-metatex.html index ac6c33b98..0c563e566 100644 --- a/doc/context/scripts/mkiv/mtx-metatex.html +++ b/doc/context/scripts/mkiv/mtx-metatex.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-modules.html b/doc/context/scripts/mkiv/mtx-modules.html index 4edfbdb82..f13ccbb6f 100644 --- a/doc/context/scripts/mkiv/mtx-modules.html +++ b/doc/context/scripts/mkiv/mtx-modules.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-package.html b/doc/context/scripts/mkiv/mtx-package.html index 42e54a3ac..51dd6189f 100644 --- a/doc/context/scripts/mkiv/mtx-package.html +++ b/doc/context/scripts/mkiv/mtx-package.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-patterns.html b/doc/context/scripts/mkiv/mtx-patterns.html index e5ce253ef..07d5265c8 100644 --- a/doc/context/scripts/mkiv/mtx-patterns.html +++ b/doc/context/scripts/mkiv/mtx-patterns.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-pdf.html b/doc/context/scripts/mkiv/mtx-pdf.html index ddb4929d6..f292c0089 100644 --- a/doc/context/scripts/mkiv/mtx-pdf.html +++ b/doc/context/scripts/mkiv/mtx-pdf.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-plain.html b/doc/context/scripts/mkiv/mtx-plain.html index cdb9e9a47..3e4ee2223 100644 --- a/doc/context/scripts/mkiv/mtx-plain.html +++ b/doc/context/scripts/mkiv/mtx-plain.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-profile.html b/doc/context/scripts/mkiv/mtx-profile.html index 843349e4d..46714e67b 100644 --- a/doc/context/scripts/mkiv/mtx-profile.html +++ b/doc/context/scripts/mkiv/mtx-profile.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-rsync.html b/doc/context/scripts/mkiv/mtx-rsync.html index 0f805ff83..9b2b3af3a 100644 --- a/doc/context/scripts/mkiv/mtx-rsync.html +++ b/doc/context/scripts/mkiv/mtx-rsync.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-scite.html b/doc/context/scripts/mkiv/mtx-scite.html index 041fbaa51..c4dd157e0 100644 --- a/doc/context/scripts/mkiv/mtx-scite.html +++ b/doc/context/scripts/mkiv/mtx-scite.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-server.html b/doc/context/scripts/mkiv/mtx-server.html index 74d1d40f1..11d3c59c3 100644 --- a/doc/context/scripts/mkiv/mtx-server.html +++ b/doc/context/scripts/mkiv/mtx-server.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-texworks.html b/doc/context/scripts/mkiv/mtx-texworks.html index 996fe90eb..624e9ab18 100644 --- a/doc/context/scripts/mkiv/mtx-texworks.html +++ b/doc/context/scripts/mkiv/mtx-texworks.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-timing.html b/doc/context/scripts/mkiv/mtx-timing.html index ebad34be5..9626f6d81 100644 --- a/doc/context/scripts/mkiv/mtx-timing.html +++ b/doc/context/scripts/mkiv/mtx-timing.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-tools.html b/doc/context/scripts/mkiv/mtx-tools.html index c4f25b2ed..cbb5dcd94 100644 --- a/doc/context/scripts/mkiv/mtx-tools.html +++ b/doc/context/scripts/mkiv/mtx-tools.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-unzip.html b/doc/context/scripts/mkiv/mtx-unzip.html index 58c124487..6bc987e8f 100644 --- a/doc/context/scripts/mkiv/mtx-unzip.html +++ b/doc/context/scripts/mkiv/mtx-unzip.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-update.html b/doc/context/scripts/mkiv/mtx-update.html index ea04dcfb3..d33e85299 100644 --- a/doc/context/scripts/mkiv/mtx-update.html +++ b/doc/context/scripts/mkiv/mtx-update.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtx-watch.html b/doc/context/scripts/mkiv/mtx-watch.html index a4f783e04..42b55280e 100644 --- a/doc/context/scripts/mkiv/mtx-watch.html +++ b/doc/context/scripts/mkiv/mtx-watch.html @@ -2,9 +2,15 @@ + - - + diff --git a/doc/context/scripts/mkiv/mtxrun.html b/doc/context/scripts/mkiv/mtxrun.html index 377313694..f2c0e69fa 100644 --- a/doc/context/scripts/mkiv/mtxrun.html +++ b/doc/context/scripts/mkiv/mtxrun.html @@ -2,9 +2,15 @@ + - - + diff --git a/scripts/context/lua/mtx-server-ctx-help.lua b/scripts/context/lua/mtx-server-ctx-help.lua index b8dc0dfb2..d948c6e46 100644 --- a/scripts/context/lua/mtx-server-ctx-help.lua +++ b/scripts/context/lua/mtx-server-ctx-help.lua @@ -542,11 +542,11 @@ function document.setups.collect(name,int,lastmode) local left, right = d[k].at.name or "?", { } if tag == "inherit" then local name = d[k].at.name or "?" - local goto = format(document.setups.formats.href_as_command[lastmode],name,lastmode,name) + local url = format(document.setups.formats.href_as_command[lastmode],name,lastmode,name) if #parameters > 0 and not find(parameters[#parameters],"
") then parameters[#parameters+1] = format(formats.parameter,"
","","") end - parameters[#parameters+1] = format(formats.parameter,what,format(formats.special,translate("inherits",int)),goto) + parameters[#parameters+1] = format(formats.parameter,what,format(formats.special,translate("inherits",int)),url) else for r, d, k in xml.elements(d[k],"(cd:constant|cd:resolve)") do local tag = d[k].tg @@ -664,9 +664,23 @@ local function doit(configuration,filename,hashed) if document.setups.showsources and lastsource and lastsource ~= "" then -- todo: mkii, mkiv, tex (can be different) - local data = io.loaddata(resolvers.findfile(lastsource)) - variables.maintitle = lastsource - variables.maintext = format(formats.listing,data) + local name = lastsource + local full = resolvers.findfile(name) + if full == "" and file.suffix(lastsource) == "tex" then + name = file.replacesuffix(lastsource,"mkiv") + full = resolvers.findfile(name) + if full == "" then + name = file.replacesuffix(lastsource,"mkvi") + full = resolvers.findfile(name) + end + end + if full == "" then + variables.maintitle = lastsource + variables.maintext = format(formats.listing,"no source found") + else + variables.maintitle = name + variables.maintext = format(formats.listing,io.loaddata(full)) + end lastsource = "" elseif lastcommand and lastcommand ~= "" then local data = document.setups.collect(lastcommand,lastinterface,lastmode) diff --git a/scripts/context/lua/mtxrun.lua b/scripts/context/lua/mtxrun.lua index 4e46b7653..585985fa9 100644 --- a/scripts/context/lua/mtxrun.lua +++ b/scripts/context/lua/mtxrun.lua @@ -6686,7 +6686,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-log"] = package.loaded["trac-log"] or true --- original size: 23004, stripped down to: 15157 +-- original size: 24638, stripped down to: 16561 if not modules then modules={} end modules ['trac-log']={ version=1.001, @@ -6724,7 +6724,7 @@ utilities.strings.formatters.add ( local function ignore() end setmetatableindex(logs,function(t,k) t[k]=ignore;return ignore end) local report,subreport,status,settarget,setformats,settranslations -local direct,subdirect,writer,pushtarget,poptarget,setlogfile +local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters if tex and (tex.jobname or tex.formatname) then local valueiskey={ __index=function(t,k) t[k]=k return k end } local target="term and log" @@ -6737,67 +6737,67 @@ if tex and (tex.jobname or tex.formatname) then newline=function() write_nl(target,"\n") end - local f_one=formatters["%-15s > %s\n"] - local f_two=formatters["%-15s >\n"] + local report_yes=formatters["%-15s > %s\n"] + local report_nop=formatters["%-15s >\n"] report=function(a,b,c,...) if c then - write_nl(target,f_one(translations[a],formatters[formats[b]](c,...))) + write_nl(target,report_yes(translations[a],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],formats[b])) + write_nl(target,report_yes(translations[a],formats[b])) elseif a then - write_nl(target,f_two(translations[a])) + write_nl(target,report_nop(translations[a])) else write_nl(target,"\n") end end - local f_one=formatters["%-15s > %s"] - local f_two=formatters["%-15s >"] + local direct_yes=formatters["%-15s > %s"] + local direct_nop=formatters["%-15s >"] direct=function(a,b,c,...) if c then - return f_one(translations[a],formatters[formats[b]](c,...)) + return direct_yes(translations[a],formatters[formats[b]](c,...)) elseif b then - return f_one(translations[a],formats[b]) + return direct_yes(translations[a],formats[b]) elseif a then - return f_two(translations[a]) + return direct_nop(translations[a]) else return "" end end - local f_one=formatters["%-15s > %s > %s\n"] - local f_two=formatters["%-15s > %s >\n"] + local subreport_yes=formatters["%-15s > %s > %s\n"] + local subreport_nop=formatters["%-15s > %s >\n"] subreport=function(a,s,b,c,...) if c then - write_nl(target,f_one(translations[a],translations[s],formatters[formats[b]](c,...))) + write_nl(target,subreport_yes(translations[a],translations[s],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],translations[s],formats[b])) + write_nl(target,subreport_yes(translations[a],translations[s],formats[b])) elseif a then - write_nl(target,f_two(translations[a],translations[s])) + write_nl(target,subreport_nop(translations[a],translations[s])) else write_nl(target,"\n") end end - local f_one=formatters["%-15s > %s > %s"] - local f_two=formatters["%-15s > %s >"] + local subdirect_yes=formatters["%-15s > %s > %s"] + local subdirect_nop=formatters["%-15s > %s >"] subdirect=function(a,s,b,c,...) if c then - return f_one(translations[a],translations[s],formatters[formats[b]](c,...)) + return subdirect_yes(translations[a],translations[s],formatters[formats[b]](c,...)) elseif b then - return f_one(translations[a],translations[s],formats[b]) + return subdirect_yes(translations[a],translations[s],formats[b]) elseif a then - return f_two(translations[a],translations[s]) + return subdirect_nop(translations[a],translations[s]) else return "" end end - local f_one=formatters["%-15s : %s\n"] - local f_two=formatters["%-15s :\n"] + local status_yes=formatters["%-15s : %s\n"] + local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then - write_nl(target,f_one(translations[a],formatters[formats[b]](c,...))) + write_nl(target,status_yes(translations[a],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],formats[b])) + write_nl(target,status_yes(translations[a],formats[b])) elseif a then - write_nl(target,f_two(translations[a])) + write_nl(target,status_nop(translations[a])) else write_nl(target,"\n") end @@ -6834,6 +6834,24 @@ if tex and (tex.jobname or tex.formatname) then settranslations=function(t) translations=t end + setprocessor=function(f) + local writeline=write_nl + write_nl=function(target,...) + writeline(target,f(...)) + end + end + setformatters=function(f) + report_yes=f.report_yes or report_yes + report_nop=f.report_nop or report_nop + subreport_yes=f.subreport_yes or subreport_yes + subreport_nop=f.subreport_nop or subreport_nop + direct_yes=f.direct_yes or direct_yes + direct_nop=f.direct_nop or direct_nop + subdirect_yes=f.subdirect_yes or subdirect_yes + subdirect_nop=f.subdirect_nop or subdirect_nop + status_yes=f.status_yes or status_yes + status_nop=f.status_nop or status_nop + end setlogfile=ignore settimedlog=ignore else @@ -6844,41 +6862,41 @@ else newline=function() write_nl("\n") end - local f_one=formatters["%-15s | %s"] - local f_two=formatters["%-15s |"] + local report_yes=formatters["%-15s | %s"] + local report_nop=formatters["%-15s |"] report=function(a,b,c,...) if c then - write_nl(f_one(a,formatters[b](c,...))) + write_nl(report_yes(a,formatters[b](c,...))) elseif b then - write_nl(f_one(a,b)) + write_nl(report_yes(a,b)) elseif a then - write_nl(f_two(a)) + write_nl(report_nop(a)) else write_nl("") end end - local f_one=formatters["%-15s | %s | %s"] - local f_two=formatters["%-15s | %s |"] + local subreport_yes=formatters["%-15s | %s | %s"] + local subreport_nop=formatters["%-15s | %s |"] subreport=function(a,sub,b,c,...) if c then - write_nl(f_one(a,sub,formatters[b](c,...))) + write_nl(subreport_yes(a,sub,formatters[b](c,...))) elseif b then - write_nl(f_one(a,sub,b)) + write_nl(subreport_yes(a,sub,b)) elseif a then - write_nl(f_two(a,sub)) + write_nl(subreport_nop(a,sub)) else write_nl("") end end - local f_one=formatters["%-15s : %s\n"] - local f_two=formatters["%-15s :\n"] + local status_yes=formatters["%-15s : %s\n"] + local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then - write_nl(f_one(a,formatters[b](c,...))) + write_nl(status_yes(a,formatters[b](c,...))) elseif b then - write_nl(f_one(a,b)) + write_nl(status_yes(a,b)) elseif a then - write_nl(f_two(a)) + write_nl(status_nop(a)) else write_nl("\n") end @@ -6890,6 +6908,20 @@ else poptarget=ignore setformats=ignore settranslations=ignore + setprocessor=function(f) + local writeline=write_nl + write_nl=function(s) + writeline(f(s)) + end + end + setformatters=function(f) + report_yes=f.report_yes or report_yes + report_nop=f.report_nop or report_nop + subreport_yes=f.subreport_yes or subreport_yes + subreport_nop=f.subreport_nop or subreport_nop + status_yes=f.status_yes or status_yes + status_nop=f.status_nop or status_nop + end setlogfile=function(name,keepopen) if name and name~="" then local localtime=os.localtime @@ -6930,6 +6962,8 @@ logs.setformats=setformats logs.settranslations=settranslations logs.setlogfile=setlogfile logs.settimedlog=settimedlog +logs.setprocessor=setprocessor +logs.setformatters=setformatters logs.direct=direct logs.subdirect=subdirect logs.writer=writer @@ -16289,8 +16323,8 @@ end -- of closure -- used libraries : l-lua.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-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.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 : 664149 --- stripped bytes : 233260 +-- original bytes : 665783 +-- stripped bytes : 233490 -- end library merge @@ -17275,6 +17309,23 @@ else end +-- joke .. reminds me of messing with gigi terminals + +if e_argument("ansi") then + + local formatters = string.formatters + + logs.setformatters { + report_yes = formatters["%-15s | %s"], + report_nop = formatters["%-15s |"], + subreport_yes = formatters["%-15s | %s | %s"], + subreport_nop = formatters["%-15s | %s |"], + status_yes = formatters["%-15s : %s\n"], + status_nop = formatters["%-15s :\n"], + } + +end + if e_argument("script") or e_argument("scripts") then -- run a script by loading it (using libs), pass args diff --git a/scripts/context/stubs/mswin/mtxrun.lua b/scripts/context/stubs/mswin/mtxrun.lua index 4e46b7653..585985fa9 100644 --- a/scripts/context/stubs/mswin/mtxrun.lua +++ b/scripts/context/stubs/mswin/mtxrun.lua @@ -6686,7 +6686,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-log"] = package.loaded["trac-log"] or true --- original size: 23004, stripped down to: 15157 +-- original size: 24638, stripped down to: 16561 if not modules then modules={} end modules ['trac-log']={ version=1.001, @@ -6724,7 +6724,7 @@ utilities.strings.formatters.add ( local function ignore() end setmetatableindex(logs,function(t,k) t[k]=ignore;return ignore end) local report,subreport,status,settarget,setformats,settranslations -local direct,subdirect,writer,pushtarget,poptarget,setlogfile +local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters if tex and (tex.jobname or tex.formatname) then local valueiskey={ __index=function(t,k) t[k]=k return k end } local target="term and log" @@ -6737,67 +6737,67 @@ if tex and (tex.jobname or tex.formatname) then newline=function() write_nl(target,"\n") end - local f_one=formatters["%-15s > %s\n"] - local f_two=formatters["%-15s >\n"] + local report_yes=formatters["%-15s > %s\n"] + local report_nop=formatters["%-15s >\n"] report=function(a,b,c,...) if c then - write_nl(target,f_one(translations[a],formatters[formats[b]](c,...))) + write_nl(target,report_yes(translations[a],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],formats[b])) + write_nl(target,report_yes(translations[a],formats[b])) elseif a then - write_nl(target,f_two(translations[a])) + write_nl(target,report_nop(translations[a])) else write_nl(target,"\n") end end - local f_one=formatters["%-15s > %s"] - local f_two=formatters["%-15s >"] + local direct_yes=formatters["%-15s > %s"] + local direct_nop=formatters["%-15s >"] direct=function(a,b,c,...) if c then - return f_one(translations[a],formatters[formats[b]](c,...)) + return direct_yes(translations[a],formatters[formats[b]](c,...)) elseif b then - return f_one(translations[a],formats[b]) + return direct_yes(translations[a],formats[b]) elseif a then - return f_two(translations[a]) + return direct_nop(translations[a]) else return "" end end - local f_one=formatters["%-15s > %s > %s\n"] - local f_two=formatters["%-15s > %s >\n"] + local subreport_yes=formatters["%-15s > %s > %s\n"] + local subreport_nop=formatters["%-15s > %s >\n"] subreport=function(a,s,b,c,...) if c then - write_nl(target,f_one(translations[a],translations[s],formatters[formats[b]](c,...))) + write_nl(target,subreport_yes(translations[a],translations[s],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],translations[s],formats[b])) + write_nl(target,subreport_yes(translations[a],translations[s],formats[b])) elseif a then - write_nl(target,f_two(translations[a],translations[s])) + write_nl(target,subreport_nop(translations[a],translations[s])) else write_nl(target,"\n") end end - local f_one=formatters["%-15s > %s > %s"] - local f_two=formatters["%-15s > %s >"] + local subdirect_yes=formatters["%-15s > %s > %s"] + local subdirect_nop=formatters["%-15s > %s >"] subdirect=function(a,s,b,c,...) if c then - return f_one(translations[a],translations[s],formatters[formats[b]](c,...)) + return subdirect_yes(translations[a],translations[s],formatters[formats[b]](c,...)) elseif b then - return f_one(translations[a],translations[s],formats[b]) + return subdirect_yes(translations[a],translations[s],formats[b]) elseif a then - return f_two(translations[a],translations[s]) + return subdirect_nop(translations[a],translations[s]) else return "" end end - local f_one=formatters["%-15s : %s\n"] - local f_two=formatters["%-15s :\n"] + local status_yes=formatters["%-15s : %s\n"] + local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then - write_nl(target,f_one(translations[a],formatters[formats[b]](c,...))) + write_nl(target,status_yes(translations[a],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],formats[b])) + write_nl(target,status_yes(translations[a],formats[b])) elseif a then - write_nl(target,f_two(translations[a])) + write_nl(target,status_nop(translations[a])) else write_nl(target,"\n") end @@ -6834,6 +6834,24 @@ if tex and (tex.jobname or tex.formatname) then settranslations=function(t) translations=t end + setprocessor=function(f) + local writeline=write_nl + write_nl=function(target,...) + writeline(target,f(...)) + end + end + setformatters=function(f) + report_yes=f.report_yes or report_yes + report_nop=f.report_nop or report_nop + subreport_yes=f.subreport_yes or subreport_yes + subreport_nop=f.subreport_nop or subreport_nop + direct_yes=f.direct_yes or direct_yes + direct_nop=f.direct_nop or direct_nop + subdirect_yes=f.subdirect_yes or subdirect_yes + subdirect_nop=f.subdirect_nop or subdirect_nop + status_yes=f.status_yes or status_yes + status_nop=f.status_nop or status_nop + end setlogfile=ignore settimedlog=ignore else @@ -6844,41 +6862,41 @@ else newline=function() write_nl("\n") end - local f_one=formatters["%-15s | %s"] - local f_two=formatters["%-15s |"] + local report_yes=formatters["%-15s | %s"] + local report_nop=formatters["%-15s |"] report=function(a,b,c,...) if c then - write_nl(f_one(a,formatters[b](c,...))) + write_nl(report_yes(a,formatters[b](c,...))) elseif b then - write_nl(f_one(a,b)) + write_nl(report_yes(a,b)) elseif a then - write_nl(f_two(a)) + write_nl(report_nop(a)) else write_nl("") end end - local f_one=formatters["%-15s | %s | %s"] - local f_two=formatters["%-15s | %s |"] + local subreport_yes=formatters["%-15s | %s | %s"] + local subreport_nop=formatters["%-15s | %s |"] subreport=function(a,sub,b,c,...) if c then - write_nl(f_one(a,sub,formatters[b](c,...))) + write_nl(subreport_yes(a,sub,formatters[b](c,...))) elseif b then - write_nl(f_one(a,sub,b)) + write_nl(subreport_yes(a,sub,b)) elseif a then - write_nl(f_two(a,sub)) + write_nl(subreport_nop(a,sub)) else write_nl("") end end - local f_one=formatters["%-15s : %s\n"] - local f_two=formatters["%-15s :\n"] + local status_yes=formatters["%-15s : %s\n"] + local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then - write_nl(f_one(a,formatters[b](c,...))) + write_nl(status_yes(a,formatters[b](c,...))) elseif b then - write_nl(f_one(a,b)) + write_nl(status_yes(a,b)) elseif a then - write_nl(f_two(a)) + write_nl(status_nop(a)) else write_nl("\n") end @@ -6890,6 +6908,20 @@ else poptarget=ignore setformats=ignore settranslations=ignore + setprocessor=function(f) + local writeline=write_nl + write_nl=function(s) + writeline(f(s)) + end + end + setformatters=function(f) + report_yes=f.report_yes or report_yes + report_nop=f.report_nop or report_nop + subreport_yes=f.subreport_yes or subreport_yes + subreport_nop=f.subreport_nop or subreport_nop + status_yes=f.status_yes or status_yes + status_nop=f.status_nop or status_nop + end setlogfile=function(name,keepopen) if name and name~="" then local localtime=os.localtime @@ -6930,6 +6962,8 @@ logs.setformats=setformats logs.settranslations=settranslations logs.setlogfile=setlogfile logs.settimedlog=settimedlog +logs.setprocessor=setprocessor +logs.setformatters=setformatters logs.direct=direct logs.subdirect=subdirect logs.writer=writer @@ -16289,8 +16323,8 @@ end -- of closure -- used libraries : l-lua.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-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.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 : 664149 --- stripped bytes : 233260 +-- original bytes : 665783 +-- stripped bytes : 233490 -- end library merge @@ -17275,6 +17309,23 @@ else end +-- joke .. reminds me of messing with gigi terminals + +if e_argument("ansi") then + + local formatters = string.formatters + + logs.setformatters { + report_yes = formatters["%-15s | %s"], + report_nop = formatters["%-15s |"], + subreport_yes = formatters["%-15s | %s | %s"], + subreport_nop = formatters["%-15s | %s |"], + status_yes = formatters["%-15s : %s\n"], + status_nop = formatters["%-15s :\n"], + } + +end + if e_argument("script") or e_argument("scripts") then -- run a script by loading it (using libs), pass args diff --git a/scripts/context/stubs/unix/mtxrun b/scripts/context/stubs/unix/mtxrun index 4e46b7653..585985fa9 100755 --- a/scripts/context/stubs/unix/mtxrun +++ b/scripts/context/stubs/unix/mtxrun @@ -6686,7 +6686,7 @@ do -- create closure to overcome 200 locals limit package.loaded["trac-log"] = package.loaded["trac-log"] or true --- original size: 23004, stripped down to: 15157 +-- original size: 24638, stripped down to: 16561 if not modules then modules={} end modules ['trac-log']={ version=1.001, @@ -6724,7 +6724,7 @@ utilities.strings.formatters.add ( local function ignore() end setmetatableindex(logs,function(t,k) t[k]=ignore;return ignore end) local report,subreport,status,settarget,setformats,settranslations -local direct,subdirect,writer,pushtarget,poptarget,setlogfile +local direct,subdirect,writer,pushtarget,poptarget,setlogfile,settimedlog,setprocessor,setformatters if tex and (tex.jobname or tex.formatname) then local valueiskey={ __index=function(t,k) t[k]=k return k end } local target="term and log" @@ -6737,67 +6737,67 @@ if tex and (tex.jobname or tex.formatname) then newline=function() write_nl(target,"\n") end - local f_one=formatters["%-15s > %s\n"] - local f_two=formatters["%-15s >\n"] + local report_yes=formatters["%-15s > %s\n"] + local report_nop=formatters["%-15s >\n"] report=function(a,b,c,...) if c then - write_nl(target,f_one(translations[a],formatters[formats[b]](c,...))) + write_nl(target,report_yes(translations[a],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],formats[b])) + write_nl(target,report_yes(translations[a],formats[b])) elseif a then - write_nl(target,f_two(translations[a])) + write_nl(target,report_nop(translations[a])) else write_nl(target,"\n") end end - local f_one=formatters["%-15s > %s"] - local f_two=formatters["%-15s >"] + local direct_yes=formatters["%-15s > %s"] + local direct_nop=formatters["%-15s >"] direct=function(a,b,c,...) if c then - return f_one(translations[a],formatters[formats[b]](c,...)) + return direct_yes(translations[a],formatters[formats[b]](c,...)) elseif b then - return f_one(translations[a],formats[b]) + return direct_yes(translations[a],formats[b]) elseif a then - return f_two(translations[a]) + return direct_nop(translations[a]) else return "" end end - local f_one=formatters["%-15s > %s > %s\n"] - local f_two=formatters["%-15s > %s >\n"] + local subreport_yes=formatters["%-15s > %s > %s\n"] + local subreport_nop=formatters["%-15s > %s >\n"] subreport=function(a,s,b,c,...) if c then - write_nl(target,f_one(translations[a],translations[s],formatters[formats[b]](c,...))) + write_nl(target,subreport_yes(translations[a],translations[s],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],translations[s],formats[b])) + write_nl(target,subreport_yes(translations[a],translations[s],formats[b])) elseif a then - write_nl(target,f_two(translations[a],translations[s])) + write_nl(target,subreport_nop(translations[a],translations[s])) else write_nl(target,"\n") end end - local f_one=formatters["%-15s > %s > %s"] - local f_two=formatters["%-15s > %s >"] + local subdirect_yes=formatters["%-15s > %s > %s"] + local subdirect_nop=formatters["%-15s > %s >"] subdirect=function(a,s,b,c,...) if c then - return f_one(translations[a],translations[s],formatters[formats[b]](c,...)) + return subdirect_yes(translations[a],translations[s],formatters[formats[b]](c,...)) elseif b then - return f_one(translations[a],translations[s],formats[b]) + return subdirect_yes(translations[a],translations[s],formats[b]) elseif a then - return f_two(translations[a],translations[s]) + return subdirect_nop(translations[a],translations[s]) else return "" end end - local f_one=formatters["%-15s : %s\n"] - local f_two=formatters["%-15s :\n"] + local status_yes=formatters["%-15s : %s\n"] + local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then - write_nl(target,f_one(translations[a],formatters[formats[b]](c,...))) + write_nl(target,status_yes(translations[a],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],formats[b])) + write_nl(target,status_yes(translations[a],formats[b])) elseif a then - write_nl(target,f_two(translations[a])) + write_nl(target,status_nop(translations[a])) else write_nl(target,"\n") end @@ -6834,6 +6834,24 @@ if tex and (tex.jobname or tex.formatname) then settranslations=function(t) translations=t end + setprocessor=function(f) + local writeline=write_nl + write_nl=function(target,...) + writeline(target,f(...)) + end + end + setformatters=function(f) + report_yes=f.report_yes or report_yes + report_nop=f.report_nop or report_nop + subreport_yes=f.subreport_yes or subreport_yes + subreport_nop=f.subreport_nop or subreport_nop + direct_yes=f.direct_yes or direct_yes + direct_nop=f.direct_nop or direct_nop + subdirect_yes=f.subdirect_yes or subdirect_yes + subdirect_nop=f.subdirect_nop or subdirect_nop + status_yes=f.status_yes or status_yes + status_nop=f.status_nop or status_nop + end setlogfile=ignore settimedlog=ignore else @@ -6844,41 +6862,41 @@ else newline=function() write_nl("\n") end - local f_one=formatters["%-15s | %s"] - local f_two=formatters["%-15s |"] + local report_yes=formatters["%-15s | %s"] + local report_nop=formatters["%-15s |"] report=function(a,b,c,...) if c then - write_nl(f_one(a,formatters[b](c,...))) + write_nl(report_yes(a,formatters[b](c,...))) elseif b then - write_nl(f_one(a,b)) + write_nl(report_yes(a,b)) elseif a then - write_nl(f_two(a)) + write_nl(report_nop(a)) else write_nl("") end end - local f_one=formatters["%-15s | %s | %s"] - local f_two=formatters["%-15s | %s |"] + local subreport_yes=formatters["%-15s | %s | %s"] + local subreport_nop=formatters["%-15s | %s |"] subreport=function(a,sub,b,c,...) if c then - write_nl(f_one(a,sub,formatters[b](c,...))) + write_nl(subreport_yes(a,sub,formatters[b](c,...))) elseif b then - write_nl(f_one(a,sub,b)) + write_nl(subreport_yes(a,sub,b)) elseif a then - write_nl(f_two(a,sub)) + write_nl(subreport_nop(a,sub)) else write_nl("") end end - local f_one=formatters["%-15s : %s\n"] - local f_two=formatters["%-15s :\n"] + local status_yes=formatters["%-15s : %s\n"] + local status_nop=formatters["%-15s :\n"] status=function(a,b,c,...) if c then - write_nl(f_one(a,formatters[b](c,...))) + write_nl(status_yes(a,formatters[b](c,...))) elseif b then - write_nl(f_one(a,b)) + write_nl(status_yes(a,b)) elseif a then - write_nl(f_two(a)) + write_nl(status_nop(a)) else write_nl("\n") end @@ -6890,6 +6908,20 @@ else poptarget=ignore setformats=ignore settranslations=ignore + setprocessor=function(f) + local writeline=write_nl + write_nl=function(s) + writeline(f(s)) + end + end + setformatters=function(f) + report_yes=f.report_yes or report_yes + report_nop=f.report_nop or report_nop + subreport_yes=f.subreport_yes or subreport_yes + subreport_nop=f.subreport_nop or subreport_nop + status_yes=f.status_yes or status_yes + status_nop=f.status_nop or status_nop + end setlogfile=function(name,keepopen) if name and name~="" then local localtime=os.localtime @@ -6930,6 +6962,8 @@ logs.setformats=setformats logs.settranslations=settranslations logs.setlogfile=setlogfile logs.settimedlog=settimedlog +logs.setprocessor=setprocessor +logs.setformatters=setformatters logs.direct=direct logs.subdirect=subdirect logs.writer=writer @@ -16289,8 +16323,8 @@ end -- of closure -- used libraries : l-lua.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-url.lua l-dir.lua l-boolean.lua l-unicode.lua l-math.lua util-str.lua util-tab.lua util-sto.lua util-prs.lua util-fmt.lua trac-set.lua trac-log.lua trac-inf.lua trac-pro.lua util-lua.lua util-deb.lua util-mrg.lua util-tpl.lua util-env.lua luat-env.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 : 664149 --- stripped bytes : 233260 +-- original bytes : 665783 +-- stripped bytes : 233490 -- end library merge @@ -17275,6 +17309,23 @@ else end +-- joke .. reminds me of messing with gigi terminals + +if e_argument("ansi") then + + local formatters = string.formatters + + logs.setformatters { + report_yes = formatters["%-15s | %s"], + report_nop = formatters["%-15s |"], + subreport_yes = formatters["%-15s | %s | %s"], + subreport_nop = formatters["%-15s | %s |"], + status_yes = formatters["%-15s : %s\n"], + status_nop = formatters["%-15s :\n"], + } + +end + if e_argument("script") or e_argument("scripts") then -- run a script by loading it (using libs), pass args diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 2349ff109..05cf26443 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2013.08.11 15:18} +\newcontextversion{2013.08.14 15:25} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-help.lmx b/tex/context/base/context-help.lmx index 140493915..cf4f73a61 100644 --- a/tex/context/base/context-help.lmx +++ b/tex/context/base/context-help.lmx @@ -24,44 +24,41 @@ @@ -75,13 +72,13 @@
-
- -

+
+ +
diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index 125257c7a..14018b171 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index 61558be00..c4690e79f 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -25,7 +25,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2013.08.11 15:18} +\edef\contextversion{2013.08.14 15:25} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/core-fil.mkii b/tex/context/base/core-fil.mkii index 6b0d8caf5..16daf7bf6 100644 --- a/tex/context/base/core-fil.mkii +++ b/tex/context/base/core-fil.mkii @@ -348,6 +348,10 @@ \setupexternalresources [url=] +%D Goodie: + +\unexpanded\def\continueifinputfile#1{\doifnotfile{#1}{\endinput}} + %D This module will be perfected / changed / weeded. \protect \endinput diff --git a/tex/context/base/font-col.lua b/tex/context/base/font-col.lua index 853e0f56c..e18dfaf91 100644 --- a/tex/context/base/font-col.lua +++ b/tex/context/base/font-col.lua @@ -7,6 +7,7 @@ if not modules then modules = { } end modules ['font-col'] = { } -- possible optimization: delayed initialization of vectors +-- we should also share equal vectors (math) local context, commands, trackers, logs = context, commands, trackers, logs local node, nodes, fonts, characters = node, nodes, fonts, characters @@ -101,8 +102,22 @@ function collections.define(name,font,ranges,details) end end end - details.font, details.start, details.stop = font, start, stop - d[#d+1] = fastcopy(details) + local offset = details.offset + if type(offset) == "string" then + local start = characters.getrange(offset) + offset = start or false + else + offset = tonumber(offset) or false + end + d[#d+1] = { + font = font, + start = start, + stop = stop, + offset = offset, + rscale = tonumber (details.rscale) or 1, + force = toboolean(details.force,true), + check = toboolean(details.check,true), + } end end end @@ -117,50 +132,57 @@ function collections.registermain(name) list[#list+1] = last end +-- check: when true, only set when present in font +-- force: when false, then not set when already set + function collections.clonevector(name) statistics.starttiming(fonts) - local d = definitions[name] - local t = { } if trace_collecting then report_fonts("processing collection %a",name) end - for i=1,#d do - local f = d[i] - local id = list[i] - local start, stop = f.start, f.stop + local definitions = definitions[name] + local vector = { } + vectors[current] = vector + for i=1,#definitions do + local definition = definitions[i] + local name = definition.font + local start = definition.start + local stop = definition.stop + local check = definition.check + local force = definition.force + local offset = definition.offset or start + local remap = definition.remap + local cloneid = list[i] + local oldchars = fontdata[current].characters + local newchars = fontdata[cloneid].characters if trace_collecting then - report_fonts("remapping font %a to %a for range %U - %U",current,id,start,stop) + report_fonts("remapping font %a to %a for range %U - %U",current,cloneid,start,stop) end - local check = toboolean(f.check or "false",true) - local force = toboolean(f.force or "true",true) - local remap = f.remap or nil - -- check: when true, only set when present in font - -- force: when false, then not set when already set - local oldchars = fontdata[current].characters - local newchars = fontdata[id].characters if check then - for i=start,stop do - if newchars[i] and (force or (not t[i] and not oldchars[i])) then + for unicode = start, stop do + local unic = unicode + offset - start + if not newchars[unicode] then + -- not in font + elseif force or (not vector[unic] and not oldchars[unic]) then if remap then - t[i] = { id, remap[i] } + vector[unic] = { cloneid, remap[unicode] } else - t[i] = id + vector[unic] = cloneid end end end else - for i=start,stop do - if force or (not t[i] and not oldchars[i]) then + for unicode = start, stop do + if force or (not vector[unic] and not oldchars[unic]) then if remap then - t[i] = { id, remap[i] } + vector[unic] = { cloneid, remap[unicode] } else - t[i] = id + vector[unic] = cloneid end end end end end - vectors[current] = t if trace_collecting then report_fonts("activating collection %a for font %a",name,current) end diff --git a/tex/context/base/font-ini.mkvi b/tex/context/base/font-ini.mkvi index 5f7aaa92f..768fea070 100644 --- a/tex/context/base/font-ini.mkvi +++ b/tex/context/base/font-ini.mkvi @@ -1708,6 +1708,7 @@ \let\defaultfontstyle \s!rm \let\defaultfontalternative\s!tf \let\defaultfontsize \empty +\let\defaultfontface \!!zerocount %D So far for synchronisation. (We can inline the following macros.) @@ -2228,6 +2229,7 @@ \unexpanded\def\fullrestoreglobalbodyfont {\let\fontsize\defaultfontsize \let\fontbody\defaultfontbody + \let\fontface\defaultfontface \currentxfontsize\zerocount \let\fontclass\globalfontclass \font_basics_switch_points\normalizedglobalbodyfontsize @@ -2241,6 +2243,7 @@ \unexpanded\def\partialrestoreglobalbodyfont {\let\fontsize\defaultfontsize \let\fontbody\defaultfontbody + \let\fontface\defaultfontface \currentxfontsize\zerocount \redoconvertfont \tf diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 89c95cbff..52f60f3c3 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.log b/tex/context/base/status-lua.log index 8e5dda733..12431a4bd 100644 --- a/tex/context/base/status-lua.log +++ b/tex/context/base/status-lua.log @@ -1,6 +1,6 @@ (cont-yes.mkiv -ConTeXt ver: 2013.08.11 15:18 MKIV beta fmt: 2013.8.11 int: english/english +ConTeXt ver: 2013.08.14 15:25 MKIV beta fmt: 2013.8.14 int: english/english system > 'cont-new.mkiv' loaded (cont-new.mkiv) diff --git a/tex/context/base/trac-lmx.lua b/tex/context/base/trac-lmx.lua index 18c7f6020..41d930536 100644 --- a/tex/context/base/trac-lmx.lua +++ b/tex/context/base/trac-lmx.lua @@ -430,7 +430,7 @@ local optionalspaces = whitespace^0 local dquote = P('"') -local begincomment = P("") local beginembedxml = P(" +local pattern_1 = Cs((includexml + includecss + P(1))^0) local pattern_2 = Cs((definexml + resolvexml + definecss + resolvecss + P(1))^0) local pattern_3 = Cs((luacodexml + luacodecss + othercode)^0) diff --git a/tex/context/base/trac-log.lua b/tex/context/base/trac-log.lua index 4ef50f5f4..b3204358f 100644 --- a/tex/context/base/trac-log.lua +++ b/tex/context/base/trac-log.lua @@ -130,7 +130,7 @@ setmetatableindex(logs, function(t,k) t[k] = ignore ; return ignore end) local report, subreport, status, settarget, setformats, settranslations -local direct, subdirect, writer, pushtarget, poptarget, setlogfile +local direct, subdirect, writer, pushtarget, poptarget, setlogfile, settimedlog, setprocessor, setformatters if tex and (tex.jobname or tex.formatname) then @@ -153,8 +153,8 @@ if tex and (tex.jobname or tex.formatname) then write_nl(target,"\n") end - local f_one = formatters["%-15s > %s\n"] - local f_two = formatters["%-15s >\n"] + local report_yes = formatters["%-15s > %s\n"] + local report_nop = formatters["%-15s >\n"] -- we can use formatters but best check for % then because for simple messages -- we con't want this overhead for single messages (not that there are that @@ -162,71 +162,71 @@ if tex and (tex.jobname or tex.formatname) then report = function(a,b,c,...) if c then - write_nl(target,f_one(translations[a],formatters[formats[b]](c,...))) + write_nl(target,report_yes(translations[a],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],formats[b])) + write_nl(target,report_yes(translations[a],formats[b])) elseif a then - write_nl(target,f_two(translations[a])) + write_nl(target,report_nop(translations[a])) else write_nl(target,"\n") end end - local f_one = formatters["%-15s > %s"] - local f_two = formatters["%-15s >"] + local direct_yes = formatters["%-15s > %s"] + local direct_nop = formatters["%-15s >"] direct = function(a,b,c,...) if c then - return f_one(translations[a],formatters[formats[b]](c,...)) + return direct_yes(translations[a],formatters[formats[b]](c,...)) elseif b then - return f_one(translations[a],formats[b]) + return direct_yes(translations[a],formats[b]) elseif a then - return f_two(translations[a]) + return direct_nop(translations[a]) else return "" end end - local f_one = formatters["%-15s > %s > %s\n"] - local f_two = formatters["%-15s > %s >\n"] + local subreport_yes = formatters["%-15s > %s > %s\n"] + local subreport_nop = formatters["%-15s > %s >\n"] subreport = function(a,s,b,c,...) if c then - write_nl(target,f_one(translations[a],translations[s],formatters[formats[b]](c,...))) + write_nl(target,subreport_yes(translations[a],translations[s],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],translations[s],formats[b])) + write_nl(target,subreport_yes(translations[a],translations[s],formats[b])) elseif a then - write_nl(target,f_two(translations[a],translations[s])) + write_nl(target,subreport_nop(translations[a],translations[s])) else write_nl(target,"\n") end end - local f_one = formatters["%-15s > %s > %s"] - local f_two = formatters["%-15s > %s >"] + local subdirect_yes = formatters["%-15s > %s > %s"] + local subdirect_nop = formatters["%-15s > %s >"] subdirect = function(a,s,b,c,...) if c then - return f_one(translations[a],translations[s],formatters[formats[b]](c,...)) + return subdirect_yes(translations[a],translations[s],formatters[formats[b]](c,...)) elseif b then - return f_one(translations[a],translations[s],formats[b]) + return subdirect_yes(translations[a],translations[s],formats[b]) elseif a then - return f_two(translations[a],translations[s]) + return subdirect_nop(translations[a],translations[s]) else return "" end end - local f_one = formatters["%-15s : %s\n"] - local f_two = formatters["%-15s :\n"] + local status_yes = formatters["%-15s : %s\n"] + local status_nop = formatters["%-15s :\n"] status = function(a,b,c,...) if c then - write_nl(target,f_one(translations[a],formatters[formats[b]](c,...))) + write_nl(target,status_yes(translations[a],formatters[formats[b]](c,...))) elseif b then - write_nl(target,f_one(translations[a],formats[b])) + write_nl(target,status_yes(translations[a],formats[b])) elseif a then - write_nl(target,f_two(translations[a])) + write_nl(target,status_nop(translations[a])) else write_nl(target,"\n") end @@ -271,6 +271,26 @@ if tex and (tex.jobname or tex.formatname) then translations = t end + setprocessor = function(f) + local writeline = write_nl + write_nl = function(target,...) + writeline(target,f(...)) + end + end + + setformatters = function(f) + report_yes = f.report_yes or report_yes + report_nop = f.report_nop or report_nop + subreport_yes = f.subreport_yes or subreport_yes + subreport_nop = f.subreport_nop or subreport_nop + direct_yes = f.direct_yes or direct_yes + direct_nop = f.direct_nop or direct_nop + subdirect_yes = f.subdirect_yes or subdirect_yes + subdirect_nop = f.subdirect_nop or subdirect_nop + status_yes = f.status_yes or status_yes + status_nop = f.status_nop or status_nop + end + setlogfile = ignore settimedlog = ignore @@ -286,46 +306,46 @@ else write_nl("\n") end - local f_one = formatters["%-15s | %s"] - local f_two = formatters["%-15s |"] + local report_yes = formatters["%-15s | %s"] + local report_nop = formatters["%-15s |"] report = function(a,b,c,...) if c then - write_nl(f_one(a,formatters[b](c,...))) + write_nl(report_yes(a,formatters[b](c,...))) elseif b then - write_nl(f_one(a,b)) + write_nl(report_yes(a,b)) elseif a then - write_nl(f_two(a)) + write_nl(report_nop(a)) else write_nl("") end end - local f_one = formatters["%-15s | %s | %s"] - local f_two = formatters["%-15s | %s |"] + local subreport_yes = formatters["%-15s | %s | %s"] + local subreport_nop = formatters["%-15s | %s |"] subreport = function(a,sub,b,c,...) if c then - write_nl(f_one(a,sub,formatters[b](c,...))) + write_nl(subreport_yes(a,sub,formatters[b](c,...))) elseif b then - write_nl(f_one(a,sub,b)) + write_nl(subreport_yes(a,sub,b)) elseif a then - write_nl(f_two(a,sub)) + write_nl(subreport_nop(a,sub)) else write_nl("") end end - local f_one = formatters["%-15s : %s\n"] - local f_two = formatters["%-15s :\n"] + local status_yes = formatters["%-15s : %s\n"] + local status_nop = formatters["%-15s :\n"] status = function(a,b,c,...) -- not to be used in lua anyway if c then - write_nl(f_one(a,formatters[b](c,...))) + write_nl(status_yes(a,formatters[b](c,...))) elseif b then - write_nl(f_one(a,b)) -- b can have %'s + write_nl(status_yes(a,b)) -- b can have %'s elseif a then - write_nl(f_two(a)) + write_nl(status_nop(a)) else write_nl("\n") end @@ -340,6 +360,22 @@ else setformats = ignore settranslations = ignore + setprocessor = function(f) + local writeline = write_nl + write_nl = function(s) + writeline(f(s)) + end + end + + setformatters = function(f) + report_yes = f.report_yes or report_yes + report_nop = f.report_nop or report_nop + subreport_yes = f.subreport_yes or subreport_yes + subreport_nop = f.subreport_nop or subreport_nop + status_yes = f.status_yes or status_yes + status_nop = f.status_nop or status_nop + end + setlogfile = function(name,keepopen) if name and name ~= "" then local localtime = os.localtime @@ -384,6 +420,8 @@ logs.settranslations = settranslations logs.setlogfile = setlogfile logs.settimedlog = settimedlog +logs.setprocessor = setprocessor +logs.setformatters = setformatters logs.direct = direct logs.subdirect = subdirect diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index 2ff4f9c60..94706d3e9 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : luatex-fonts-merged.lua -- parent file : luatex-fonts.lua --- merge date : 08/11/13 15:18:39 +-- merge date : 08/14/13 15:25:17 do -- begin closure to overcome local limits and interference -- cgit v1.2.3