summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun59
-rwxr-xr-xBuild/source/texk/texlive/linked_scripts/texlive/tlmgr.pl14
-rwxr-xr-xMaster/bin/win32/mtxrun.lua59
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-cs.pdfbin844329 -> 844437 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-de.pdfbin841953 -> 842070 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-en.pdfbin846098 -> 846220 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-fr.pdfbin840714 -> 840822 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-it.pdfbin842987 -> 843093 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-cs.pdfbin359373 -> 359482 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-de.pdfbin441447 -> 441554 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-en.pdfbin356091 -> 356210 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-fr.pdfbin359492 -> 359600 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-it.pdfbin358028 -> 358138 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-nl.pdfbin356852 -> 356957 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-ro.pdfbin610245 -> 610343 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-nl.pdfbin835566 -> 835674 bytes
-rw-r--r--Master/texmf-dist/doc/context/documents/general/qrcs/setup-ro.pdfbin840676 -> 840784 bytes
-rw-r--r--Master/texmf-dist/doc/context/sources/general/manuals/publications/publications-quick-example.tex19
-rw-r--r--Master/texmf-dist/doc/man/man1/context.man1.pdfbin23233 -> 23233 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/luatools.man1.pdfbin18508 -> 18508 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdfbin16175 -> 16175 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-base.man1.pdfbin18528 -> 18528 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdfbin14887 -> 14887 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdfbin15994 -> 15994 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdfbin15877 -> 15877 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-check.man1.pdfbin16074 -> 16074 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdfbin14873 -> 14873 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-context.man1.pdfbin23233 -> 23233 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-dvi.man1.pdfbin15494 -> 15494 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdfbin16591 -> 16591 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-evohome.man1.pdfbin15945 -> 15945 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdfbin16830 -> 16830 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdfbin15850 -> 15850 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdfbin17426 -> 17426 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdfbin16545 -> 16545 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdfbin17529 -> 17529 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdfbin15830 -> 15830 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdfbin15345 -> 15345 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdfbin16222 -> 16222 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-package.man1.pdfbin15834 -> 15834 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdfbin16957 -> 16957 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdfbin16122 -> 16122 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdfbin15880 -> 15880 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdfbin16476 -> 16476 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdfbin15892 -> 15892 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdfbin15981 -> 15981 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-server.man1.pdfbin16107 -> 16107 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdfbin15391 -> 15391 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdfbin15565 -> 15565 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdfbin17939 -> 17939 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdfbin15298 -> 15298 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdfbin15773 -> 15773 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-update.man1.pdfbin17969 -> 17969 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdfbin16663 -> 16663 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdfbin16235 -> 16235 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/mtxrun.man1.pdfbin20661 -> 20661 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/texexec.man1.pdfbin17400 -> 17400 bytes
-rw-r--r--Master/texmf-dist/doc/man/man1/texmfstart.man1.pdfbin20661 -> 20661 bytes
-rw-r--r--Master/texmf-dist/metapost/context/base/mpiv/mp-tool.mpiv2
-rwxr-xr-xMaster/texmf-dist/scripts/context/lua/mtxrun.lua59
-rw-r--r--Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua59
-rwxr-xr-xMaster/texmf-dist/scripts/context/stubs/unix/mtxrun59
-rw-r--r--Master/texmf-dist/scripts/context/stubs/win64/mtxrun.lua59
-rw-r--r--Master/texmf-dist/tex/context/base/mkii/cont-new.mkii2
-rw-r--r--Master/texmf-dist/tex/context/base/mkii/context.mkii2
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/context.mkiv2
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/font-ini.mkvi28
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/lxml-tab.lua38
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/meta-imp-txt.mkiv5
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/page-inf.mkiv43
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/page-one.mkiv72
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/page-sid.mkiv5
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/publ-ini.lua4
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/status-files.pdfbin26081 -> 26054 bytes
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/status-lua.pdfbin255107 -> 255106 bytes
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi17
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/type-set.mkiv3
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/util-str.lua1
-rw-r--r--Master/texmf-dist/tex/context/base/mkiv/util-tab.lua22
-rw-r--r--Master/texmf-dist/tex/context/interface/mkiv/i-context.pdfbin846098 -> 846220 bytes
-rw-r--r--Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdfbin61032 -> 61029 bytes
-rw-r--r--Master/texmf-dist/tex/context/modules/common/s-abbreviations-logos.tex1
-rw-r--r--Master/texmf-dist/tex/context/sample/common/poe.tex33
-rw-r--r--Master/texmf-dist/tex/context/sample/common/samples.tex1
-rw-r--r--Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua2
86 files changed, 486 insertions, 186 deletions
diff --git a/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun b/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun
index 91528360a81..0f4767d918c 100755
--- a/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun
+++ b/Build/source/texk/texlive/linked_scripts/context/stubs/unix/mtxrun
@@ -6101,7 +6101,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-str"] = package.loaded["util-str"] or true
--- original size: 38699, stripped down to: 22142
+-- original size: 38734, stripped down to: 22142
if not modules then modules={} end modules ['util-str']={
version=1.001,
@@ -6913,7 +6913,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 27665, stripped down to: 17051
+-- original size: 27741, stripped down to: 17085
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -7051,15 +7051,16 @@ function table.tocsv(t,specification)
fields=sortedkeys(t[1])
end
local separator=specification.separator or ","
+ local noffields=#fields
if specification.preamble==true then
- for f=1,#fields do
+ for f=1,noffields do
r[f]=lpegmatch(escape,tostring(fields[f]))
end
result[1]=concat(r,separator)
end
for i=1,#t do
local ti=t[i]
- for f=1,#fields do
+ for f=1,noffields do
local field=ti[fields[f]]
if type(field)=="string" then
r[f]=lpegmatch(escape,field)
@@ -7076,30 +7077,31 @@ function table.tocsv(t,specification)
end
local nspaces=utilities.strings.newrepeater(" ")
local function toxml(t,d,result,step)
+ local r=#result
for k,v in sortedpairs(t) do
local s=nspaces[d]
local tk=type(k)
local tv=type(v)
if tv=="table" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>"](s,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</entry>"](s,k)
+ r=r+1 result[r]=formatters["%s</entry>"](s,k)
else
- result[#result+1]=formatters["%s<%s>"](s,k)
+ r=r+1 result[r]=formatters["%s<%s>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</%s>"](s,k)
+ r=r+1 result[r]=formatters["%s</%s>"](s,k)
end
elseif tv=="string" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
end
elseif tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%S</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%S</%s>"](s,k,v,k)
end
end
end
@@ -12113,7 +12115,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-tab"] = package.loaded["lxml-tab"] or true
--- original size: 59638, stripped down to: 37936
+-- original size: 60383, stripped down to: 38562
if not modules then modules={} end modules ['lxml-tab']={
version=1.001,
@@ -12122,7 +12124,7 @@ if not modules then modules={} end modules ['lxml-tab']={
copyright="PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local trace_entities=false trackers .register("xml.entities",function(v) trace_entities=v end)
+local trace_entities=false trackers.register("xml.entities",function(v) trace_entities=v end)
local report_xml=logs and logs.reporter("xml","core") or function(...) print(string.format(...)) end
if lpeg.setmaxstack then lpeg.setmaxstack(1000) end
xml=xml or {}
@@ -12870,6 +12872,25 @@ local function publicentity(k,v,n)
end
entities[k]=v
end
+local function entityfile(pattern,k,v,n)
+ if n then
+ local okay,data
+ if resolvers then
+ okay,data=resolvers.loadbinfile(n)
+ else
+ data=io.loaddata(n)
+ okay=data and data~=""
+ end
+ if okay then
+ if trace_entities then
+ report_xml("loading public entities %a as %a from %a",k,v,n)
+ end
+ lpegmatch(pattern,data)
+ return
+ end
+ end
+ report_xml("ignoring public entities %a as %a from %a",k,v,n)
+end
local function install(spacenewline,spacing,anything)
local anyentitycontent=(1-open-semicolon-space-close-ampersand)^0
local hexentitycontent=R("AF","af","09")^1
@@ -12921,6 +12942,9 @@ local function install(spacenewline,spacing,anything)
local publicentitytype=(doctypename*somespace*P("PUBLIC")*somespace*value)/publicentity
local systementitytype=(doctypename*somespace*P("SYSTEM")*somespace*value*somespace*P("NDATA")*somespace*doctypename)/systementity
local entitydoctype=optionalspace*P("<!ENTITY")*somespace*(systementitytype+publicentitytype+normalentitytype+weirdentitytype)*optionalspace*close
+ local publicentityfile=(doctypename*somespace*P("PUBLIC")*somespace*value*(somespace*value)^0)/function(...)
+ entityfile(entitydoctype,...)
+ end
local function weirdresolve(s)
lpegmatch(entitydoctype,parameters[s])
end
@@ -12934,7 +12958,8 @@ local function install(spacenewline,spacing,anything)
local publicdoctype=doctypename*somespace*P("PUBLIC")*somespace*value*somespace*value*somespace*doctypeset
local systemdoctype=doctypename*somespace*P("SYSTEM")*somespace*value*somespace*doctypeset
local simpledoctype=(anything-close)^1
- local somedoctype=C((somespace*(publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
+ local somedoctype=C((somespace*(
+publicentityfile+publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
local instruction=(spacing*begininstruction*someinstruction*endinstruction)/function(...) add_special("@pi@",...) end
local comment=(spacing*begincomment*somecomment*endcomment )/function(...) add_special("@cm@",...) end
local cdata=(spacing*begincdata*somecdata*endcdata )/function(...) add_special("@cd@",...) end
@@ -21321,8 +21346,8 @@ end -- of closure
-- used libraries : 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-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 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 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 : 877106
--- stripped bytes : 317575
+-- original bytes : 877962
+-- stripped bytes : 317771
-- end library merge
diff --git a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
index 043868bc0f5..bd8ffebbf63 100755
--- a/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
+++ b/Build/source/texk/texlive/linked_scripts/texlive/tlmgr.pl
@@ -1,12 +1,12 @@
#!/usr/bin/env perl
-# $Id: tlmgr.pl 47254 2018-04-02 23:13:43Z karl $
+# $Id: tlmgr.pl 47273 2018-04-03 22:14:30Z karl $
#
# Copyright 2008-2018 Norbert Preining
# This file is licensed under the GNU General Public License version 2
# or any later version.
-my $svnrev = '$Revision: 47254 $';
-my $datrev = '$Date: 2018-04-03 01:13:43 +0200 (Tue, 03 Apr 2018) $';
+my $svnrev = '$Revision: 47273 $';
+my $datrev = '$Date: 2018-04-04 00:14:30 +0200 (Wed, 04 Apr 2018) $';
my $tlmgrrevision;
my $tlmgrversion;
my $prg;
@@ -6560,11 +6560,11 @@ sub handle_gpg_config_settings {
debug("will verify cryptographic signatures\n")
} else {
my $prefix = "$prg: No gpg found"; # just to shorten the strings
- if ($opts{'verify-repo'} eq "all") {
- # verification was requested on the command line, but did not succeed, die
+ if (defined($opts{'verify-repo'}) && $opts{'verify-repo'} eq "all") {
+ # verification requested on the command line, but did not succeed: die
tldie("$prefix, verification explicitly requested on command line, quitting.\n");
}
- if ($config{'verify-repo'} eq "all") {
+ if (defined($config{'verify-repo'}) && $config{'verify-repo'} eq "all") {
# verification explicitly requested in config file, but not gpg, die
tldie("$prefix, verification explicitly requested in config file, quitting.\n");
}
@@ -9441,7 +9441,7 @@ This script and its documentation were written for the TeX Live
distribution (L<http://tug.org/texlive>) and both are licensed under the
GNU General Public License Version 2 or later.
-$Id: tlmgr.pl 47254 2018-04-02 23:13:43Z karl $
+$Id: tlmgr.pl 47273 2018-04-03 22:14:30Z karl $
=cut
# to remake HTML version: pod2html --cachedir=/tmp tlmgr.pl >/tmp/tlmgr.html
diff --git a/Master/bin/win32/mtxrun.lua b/Master/bin/win32/mtxrun.lua
index 91528360a81..0f4767d918c 100755
--- a/Master/bin/win32/mtxrun.lua
+++ b/Master/bin/win32/mtxrun.lua
@@ -6101,7 +6101,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-str"] = package.loaded["util-str"] or true
--- original size: 38699, stripped down to: 22142
+-- original size: 38734, stripped down to: 22142
if not modules then modules={} end modules ['util-str']={
version=1.001,
@@ -6913,7 +6913,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 27665, stripped down to: 17051
+-- original size: 27741, stripped down to: 17085
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -7051,15 +7051,16 @@ function table.tocsv(t,specification)
fields=sortedkeys(t[1])
end
local separator=specification.separator or ","
+ local noffields=#fields
if specification.preamble==true then
- for f=1,#fields do
+ for f=1,noffields do
r[f]=lpegmatch(escape,tostring(fields[f]))
end
result[1]=concat(r,separator)
end
for i=1,#t do
local ti=t[i]
- for f=1,#fields do
+ for f=1,noffields do
local field=ti[fields[f]]
if type(field)=="string" then
r[f]=lpegmatch(escape,field)
@@ -7076,30 +7077,31 @@ function table.tocsv(t,specification)
end
local nspaces=utilities.strings.newrepeater(" ")
local function toxml(t,d,result,step)
+ local r=#result
for k,v in sortedpairs(t) do
local s=nspaces[d]
local tk=type(k)
local tv=type(v)
if tv=="table" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>"](s,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</entry>"](s,k)
+ r=r+1 result[r]=formatters["%s</entry>"](s,k)
else
- result[#result+1]=formatters["%s<%s>"](s,k)
+ r=r+1 result[r]=formatters["%s<%s>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</%s>"](s,k)
+ r=r+1 result[r]=formatters["%s</%s>"](s,k)
end
elseif tv=="string" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
end
elseif tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%S</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%S</%s>"](s,k,v,k)
end
end
end
@@ -12113,7 +12115,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-tab"] = package.loaded["lxml-tab"] or true
--- original size: 59638, stripped down to: 37936
+-- original size: 60383, stripped down to: 38562
if not modules then modules={} end modules ['lxml-tab']={
version=1.001,
@@ -12122,7 +12124,7 @@ if not modules then modules={} end modules ['lxml-tab']={
copyright="PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local trace_entities=false trackers .register("xml.entities",function(v) trace_entities=v end)
+local trace_entities=false trackers.register("xml.entities",function(v) trace_entities=v end)
local report_xml=logs and logs.reporter("xml","core") or function(...) print(string.format(...)) end
if lpeg.setmaxstack then lpeg.setmaxstack(1000) end
xml=xml or {}
@@ -12870,6 +12872,25 @@ local function publicentity(k,v,n)
end
entities[k]=v
end
+local function entityfile(pattern,k,v,n)
+ if n then
+ local okay,data
+ if resolvers then
+ okay,data=resolvers.loadbinfile(n)
+ else
+ data=io.loaddata(n)
+ okay=data and data~=""
+ end
+ if okay then
+ if trace_entities then
+ report_xml("loading public entities %a as %a from %a",k,v,n)
+ end
+ lpegmatch(pattern,data)
+ return
+ end
+ end
+ report_xml("ignoring public entities %a as %a from %a",k,v,n)
+end
local function install(spacenewline,spacing,anything)
local anyentitycontent=(1-open-semicolon-space-close-ampersand)^0
local hexentitycontent=R("AF","af","09")^1
@@ -12921,6 +12942,9 @@ local function install(spacenewline,spacing,anything)
local publicentitytype=(doctypename*somespace*P("PUBLIC")*somespace*value)/publicentity
local systementitytype=(doctypename*somespace*P("SYSTEM")*somespace*value*somespace*P("NDATA")*somespace*doctypename)/systementity
local entitydoctype=optionalspace*P("<!ENTITY")*somespace*(systementitytype+publicentitytype+normalentitytype+weirdentitytype)*optionalspace*close
+ local publicentityfile=(doctypename*somespace*P("PUBLIC")*somespace*value*(somespace*value)^0)/function(...)
+ entityfile(entitydoctype,...)
+ end
local function weirdresolve(s)
lpegmatch(entitydoctype,parameters[s])
end
@@ -12934,7 +12958,8 @@ local function install(spacenewline,spacing,anything)
local publicdoctype=doctypename*somespace*P("PUBLIC")*somespace*value*somespace*value*somespace*doctypeset
local systemdoctype=doctypename*somespace*P("SYSTEM")*somespace*value*somespace*doctypeset
local simpledoctype=(anything-close)^1
- local somedoctype=C((somespace*(publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
+ local somedoctype=C((somespace*(
+publicentityfile+publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
local instruction=(spacing*begininstruction*someinstruction*endinstruction)/function(...) add_special("@pi@",...) end
local comment=(spacing*begincomment*somecomment*endcomment )/function(...) add_special("@cm@",...) end
local cdata=(spacing*begincdata*somecdata*endcdata )/function(...) add_special("@cd@",...) end
@@ -21321,8 +21346,8 @@ end -- of closure
-- used libraries : 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-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 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 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 : 877106
--- stripped bytes : 317575
+-- original bytes : 877962
+-- stripped bytes : 317771
-- end library merge
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-cs.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-cs.pdf
index 76108aa593c..dc3b916a85f 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-cs.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-cs.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-de.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-de.pdf
index 958c189ecfd..9c7678654ca 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-de.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-de.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-en.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-en.pdf
index 6ff801846c1..39538aa7bcd 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-en.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-fr.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-fr.pdf
index 195cd641155..99c12ebd625 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-fr.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-it.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-it.pdf
index 900b697dd64..c687c7e39ea 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-it.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-it.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-cs.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-cs.pdf
index 2b1369ae76d..f5bd52a9f3d 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-cs.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-cs.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-de.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-de.pdf
index cabb087fb65..274daaf89f4 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-de.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-de.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-en.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-en.pdf
index 33331d9e484..3aab7cf7168 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-en.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-en.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-fr.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-fr.pdf
index 0dbd7a8472c..b327441594f 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-fr.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-fr.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-it.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-it.pdf
index 9d59690de72..309929f729e 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-it.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-it.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-nl.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-nl.pdf
index ca4ac558179..c6bb58d3c59 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-nl.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-nl.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-ro.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-ro.pdf
index 50d22528f4b..a43f56921bc 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-ro.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-mapping-ro.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-nl.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-nl.pdf
index ed1eeec0491..ce5340b15e3 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-nl.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-nl.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-ro.pdf b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-ro.pdf
index c1530f75d95..63b27bf7a1d 100644
--- a/Master/texmf-dist/doc/context/documents/general/qrcs/setup-ro.pdf
+++ b/Master/texmf-dist/doc/context/documents/general/qrcs/setup-ro.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/context/sources/general/manuals/publications/publications-quick-example.tex b/Master/texmf-dist/doc/context/sources/general/manuals/publications/publications-quick-example.tex
index 14f70960fd8..06d5bd527c9 100644
--- a/Master/texmf-dist/doc/context/sources/general/manuals/publications/publications-quick-example.tex
+++ b/Master/texmf-dist/doc/context/sources/general/manuals/publications/publications-quick-example.tex
@@ -1,16 +1,21 @@
\usebtxdataset[mkiv-publications.bib]
+
\starttext
-\startbodymatter
-a citation: \cite[article,book]
-\stopbodymatter
+% \startbodymatter
+a citation: \citation[article,book]
+% \stopbodymatter
+
+\enabletrackers[publ*]
-\startbackmatter
- \startchapter[title=Bibliography]
+% \startbackmatter
+% \startchapter[title=Bibliography]
\placelistofpublications
- \stopchapter
-\stopbackmatter
+% \stopchapter
+% \stopbackmatter
+
+% \ctxlua{inspect(publications.datasets.default.luadata)}
\stoptext
diff --git a/Master/texmf-dist/doc/man/man1/context.man1.pdf b/Master/texmf-dist/doc/man/man1/context.man1.pdf
index a2d5092f08d..91239a9fb26 100644
--- a/Master/texmf-dist/doc/man/man1/context.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/context.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/luatools.man1.pdf b/Master/texmf-dist/doc/man/man1/luatools.man1.pdf
index 581ed1b4b2e..a58f2f9dd33 100644
--- a/Master/texmf-dist/doc/man/man1/luatools.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/luatools.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf
index 3195dec179c..362e951ac7f 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-babel.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf
index 1f37436b580..d064647a85e 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-base.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf
index a8f825fb464..a34b8ac460c 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-bibtex.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf
index b14534a7984..9b3783aa2a4 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-cache.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf
index 8fa615d098a..6122cb044c9 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-chars.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf
index eb0aa1b6e58..e73f546eb76 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-check.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf
index 3eb322d4bdf..f06e02021d5 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-colors.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf
index 6eee414f702..440bd70a7ae 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-context.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-dvi.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-dvi.man1.pdf
index 9655d07f739..58d8dd26841 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-dvi.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-dvi.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf
index 38db77f8e66..b44c6bfe82b 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-epub.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-evohome.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-evohome.man1.pdf
index 2b200572986..f42caed8110 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-evohome.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-evohome.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf
index 673093ec2de..ec6230d8bb5 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-fcd.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf
index 1a8b67e43ba..0fa045ff70c 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-flac.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf
index 26e27d3d3de..1e5b1e979ac 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-fonts.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf
index bae3f86f07d..953f6737cb4 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-grep.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf
index 21d94913e83..34ddccadaf3 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-interface.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf
index 9f0156b3542..5566a15b510 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-metapost.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf
index 9ce4d26d241..815886f71f4 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-metatex.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf
index 5c1337840b5..17d380342aa 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-modules.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf
index adfad5f5fd0..ae0e3afac37 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-package.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf
index 3a15ad686d6..d18843e34be 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-patterns.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf
index ac7b421877f..e7968cfcb86 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-pdf.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf
index d71d10893ae..2a91c67baf5 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-plain.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf
index 10636975d2e..3e28a484f7c 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-profile.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf
index 5bfcc82e578..64b4d0327d9 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-rsync.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf
index 690300734b6..813e0c3c4c3 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-scite.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf
index 68c313d5803..52791468585 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-server.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf
index e3d585789fc..796bccbaec5 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-texworks.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf
index bf4b5689505..ff14ed00a35 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-timing.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf
index 1f42626bf27..d1d4c981609 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-tools.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf
index 39df289b37d..db61c97d9df 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-unicode.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf
index 75f9089beaa..ed34847043e 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-unzip.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf
index 1f4e8df677b..6a248b382b1 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-update.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf
index e9363993ec8..9e2765747ea 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-watch.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf b/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf
index 12672c76dbd..3d4aeb67c76 100644
--- a/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtx-youless.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf b/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf
index 10474ca1ba2..83de80c0c39 100644
--- a/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/mtxrun.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/texexec.man1.pdf b/Master/texmf-dist/doc/man/man1/texexec.man1.pdf
index 0c2786eb2f8..e6b70f1dcd6 100644
--- a/Master/texmf-dist/doc/man/man1/texexec.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/texexec.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf b/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf
index 124550eeeeb..c955636ba10 100644
--- a/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf
+++ b/Master/texmf-dist/doc/man/man1/texmfstart.man1.pdf
Binary files differ
diff --git a/Master/texmf-dist/metapost/context/base/mpiv/mp-tool.mpiv b/Master/texmf-dist/metapost/context/base/mpiv/mp-tool.mpiv
index 36d6f174394..75706e09be9 100644
--- a/Master/texmf-dist/metapost/context/base/mpiv/mp-tool.mpiv
+++ b/Master/texmf-dist/metapost/context/base/mpiv/mp-tool.mpiv
@@ -1716,7 +1716,7 @@ def mfun_with_arrow_picture (text t) =
for i within mfun_arrow_picture :
if istextext(i) :
draw i
- else :
+ else :
mfun_arrow_count := mfun_arrow_count + 1 ;
mfun_arrow_path := pathpart i ;
t
diff --git a/Master/texmf-dist/scripts/context/lua/mtxrun.lua b/Master/texmf-dist/scripts/context/lua/mtxrun.lua
index 91528360a81..0f4767d918c 100755
--- a/Master/texmf-dist/scripts/context/lua/mtxrun.lua
+++ b/Master/texmf-dist/scripts/context/lua/mtxrun.lua
@@ -6101,7 +6101,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-str"] = package.loaded["util-str"] or true
--- original size: 38699, stripped down to: 22142
+-- original size: 38734, stripped down to: 22142
if not modules then modules={} end modules ['util-str']={
version=1.001,
@@ -6913,7 +6913,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 27665, stripped down to: 17051
+-- original size: 27741, stripped down to: 17085
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -7051,15 +7051,16 @@ function table.tocsv(t,specification)
fields=sortedkeys(t[1])
end
local separator=specification.separator or ","
+ local noffields=#fields
if specification.preamble==true then
- for f=1,#fields do
+ for f=1,noffields do
r[f]=lpegmatch(escape,tostring(fields[f]))
end
result[1]=concat(r,separator)
end
for i=1,#t do
local ti=t[i]
- for f=1,#fields do
+ for f=1,noffields do
local field=ti[fields[f]]
if type(field)=="string" then
r[f]=lpegmatch(escape,field)
@@ -7076,30 +7077,31 @@ function table.tocsv(t,specification)
end
local nspaces=utilities.strings.newrepeater(" ")
local function toxml(t,d,result,step)
+ local r=#result
for k,v in sortedpairs(t) do
local s=nspaces[d]
local tk=type(k)
local tv=type(v)
if tv=="table" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>"](s,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</entry>"](s,k)
+ r=r+1 result[r]=formatters["%s</entry>"](s,k)
else
- result[#result+1]=formatters["%s<%s>"](s,k)
+ r=r+1 result[r]=formatters["%s<%s>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</%s>"](s,k)
+ r=r+1 result[r]=formatters["%s</%s>"](s,k)
end
elseif tv=="string" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
end
elseif tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%S</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%S</%s>"](s,k,v,k)
end
end
end
@@ -12113,7 +12115,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-tab"] = package.loaded["lxml-tab"] or true
--- original size: 59638, stripped down to: 37936
+-- original size: 60383, stripped down to: 38562
if not modules then modules={} end modules ['lxml-tab']={
version=1.001,
@@ -12122,7 +12124,7 @@ if not modules then modules={} end modules ['lxml-tab']={
copyright="PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local trace_entities=false trackers .register("xml.entities",function(v) trace_entities=v end)
+local trace_entities=false trackers.register("xml.entities",function(v) trace_entities=v end)
local report_xml=logs and logs.reporter("xml","core") or function(...) print(string.format(...)) end
if lpeg.setmaxstack then lpeg.setmaxstack(1000) end
xml=xml or {}
@@ -12870,6 +12872,25 @@ local function publicentity(k,v,n)
end
entities[k]=v
end
+local function entityfile(pattern,k,v,n)
+ if n then
+ local okay,data
+ if resolvers then
+ okay,data=resolvers.loadbinfile(n)
+ else
+ data=io.loaddata(n)
+ okay=data and data~=""
+ end
+ if okay then
+ if trace_entities then
+ report_xml("loading public entities %a as %a from %a",k,v,n)
+ end
+ lpegmatch(pattern,data)
+ return
+ end
+ end
+ report_xml("ignoring public entities %a as %a from %a",k,v,n)
+end
local function install(spacenewline,spacing,anything)
local anyentitycontent=(1-open-semicolon-space-close-ampersand)^0
local hexentitycontent=R("AF","af","09")^1
@@ -12921,6 +12942,9 @@ local function install(spacenewline,spacing,anything)
local publicentitytype=(doctypename*somespace*P("PUBLIC")*somespace*value)/publicentity
local systementitytype=(doctypename*somespace*P("SYSTEM")*somespace*value*somespace*P("NDATA")*somespace*doctypename)/systementity
local entitydoctype=optionalspace*P("<!ENTITY")*somespace*(systementitytype+publicentitytype+normalentitytype+weirdentitytype)*optionalspace*close
+ local publicentityfile=(doctypename*somespace*P("PUBLIC")*somespace*value*(somespace*value)^0)/function(...)
+ entityfile(entitydoctype,...)
+ end
local function weirdresolve(s)
lpegmatch(entitydoctype,parameters[s])
end
@@ -12934,7 +12958,8 @@ local function install(spacenewline,spacing,anything)
local publicdoctype=doctypename*somespace*P("PUBLIC")*somespace*value*somespace*value*somespace*doctypeset
local systemdoctype=doctypename*somespace*P("SYSTEM")*somespace*value*somespace*doctypeset
local simpledoctype=(anything-close)^1
- local somedoctype=C((somespace*(publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
+ local somedoctype=C((somespace*(
+publicentityfile+publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
local instruction=(spacing*begininstruction*someinstruction*endinstruction)/function(...) add_special("@pi@",...) end
local comment=(spacing*begincomment*somecomment*endcomment )/function(...) add_special("@cm@",...) end
local cdata=(spacing*begincdata*somecdata*endcdata )/function(...) add_special("@cd@",...) end
@@ -21321,8 +21346,8 @@ end -- of closure
-- used libraries : 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-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 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 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 : 877106
--- stripped bytes : 317575
+-- original bytes : 877962
+-- stripped bytes : 317771
-- end library merge
diff --git a/Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua b/Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua
index 91528360a81..0f4767d918c 100644
--- a/Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua
+++ b/Master/texmf-dist/scripts/context/stubs/mswin/mtxrun.lua
@@ -6101,7 +6101,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-str"] = package.loaded["util-str"] or true
--- original size: 38699, stripped down to: 22142
+-- original size: 38734, stripped down to: 22142
if not modules then modules={} end modules ['util-str']={
version=1.001,
@@ -6913,7 +6913,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 27665, stripped down to: 17051
+-- original size: 27741, stripped down to: 17085
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -7051,15 +7051,16 @@ function table.tocsv(t,specification)
fields=sortedkeys(t[1])
end
local separator=specification.separator or ","
+ local noffields=#fields
if specification.preamble==true then
- for f=1,#fields do
+ for f=1,noffields do
r[f]=lpegmatch(escape,tostring(fields[f]))
end
result[1]=concat(r,separator)
end
for i=1,#t do
local ti=t[i]
- for f=1,#fields do
+ for f=1,noffields do
local field=ti[fields[f]]
if type(field)=="string" then
r[f]=lpegmatch(escape,field)
@@ -7076,30 +7077,31 @@ function table.tocsv(t,specification)
end
local nspaces=utilities.strings.newrepeater(" ")
local function toxml(t,d,result,step)
+ local r=#result
for k,v in sortedpairs(t) do
local s=nspaces[d]
local tk=type(k)
local tv=type(v)
if tv=="table" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>"](s,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</entry>"](s,k)
+ r=r+1 result[r]=formatters["%s</entry>"](s,k)
else
- result[#result+1]=formatters["%s<%s>"](s,k)
+ r=r+1 result[r]=formatters["%s<%s>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</%s>"](s,k)
+ r=r+1 result[r]=formatters["%s</%s>"](s,k)
end
elseif tv=="string" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
end
elseif tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%S</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%S</%s>"](s,k,v,k)
end
end
end
@@ -12113,7 +12115,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-tab"] = package.loaded["lxml-tab"] or true
--- original size: 59638, stripped down to: 37936
+-- original size: 60383, stripped down to: 38562
if not modules then modules={} end modules ['lxml-tab']={
version=1.001,
@@ -12122,7 +12124,7 @@ if not modules then modules={} end modules ['lxml-tab']={
copyright="PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local trace_entities=false trackers .register("xml.entities",function(v) trace_entities=v end)
+local trace_entities=false trackers.register("xml.entities",function(v) trace_entities=v end)
local report_xml=logs and logs.reporter("xml","core") or function(...) print(string.format(...)) end
if lpeg.setmaxstack then lpeg.setmaxstack(1000) end
xml=xml or {}
@@ -12870,6 +12872,25 @@ local function publicentity(k,v,n)
end
entities[k]=v
end
+local function entityfile(pattern,k,v,n)
+ if n then
+ local okay,data
+ if resolvers then
+ okay,data=resolvers.loadbinfile(n)
+ else
+ data=io.loaddata(n)
+ okay=data and data~=""
+ end
+ if okay then
+ if trace_entities then
+ report_xml("loading public entities %a as %a from %a",k,v,n)
+ end
+ lpegmatch(pattern,data)
+ return
+ end
+ end
+ report_xml("ignoring public entities %a as %a from %a",k,v,n)
+end
local function install(spacenewline,spacing,anything)
local anyentitycontent=(1-open-semicolon-space-close-ampersand)^0
local hexentitycontent=R("AF","af","09")^1
@@ -12921,6 +12942,9 @@ local function install(spacenewline,spacing,anything)
local publicentitytype=(doctypename*somespace*P("PUBLIC")*somespace*value)/publicentity
local systementitytype=(doctypename*somespace*P("SYSTEM")*somespace*value*somespace*P("NDATA")*somespace*doctypename)/systementity
local entitydoctype=optionalspace*P("<!ENTITY")*somespace*(systementitytype+publicentitytype+normalentitytype+weirdentitytype)*optionalspace*close
+ local publicentityfile=(doctypename*somespace*P("PUBLIC")*somespace*value*(somespace*value)^0)/function(...)
+ entityfile(entitydoctype,...)
+ end
local function weirdresolve(s)
lpegmatch(entitydoctype,parameters[s])
end
@@ -12934,7 +12958,8 @@ local function install(spacenewline,spacing,anything)
local publicdoctype=doctypename*somespace*P("PUBLIC")*somespace*value*somespace*value*somespace*doctypeset
local systemdoctype=doctypename*somespace*P("SYSTEM")*somespace*value*somespace*doctypeset
local simpledoctype=(anything-close)^1
- local somedoctype=C((somespace*(publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
+ local somedoctype=C((somespace*(
+publicentityfile+publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
local instruction=(spacing*begininstruction*someinstruction*endinstruction)/function(...) add_special("@pi@",...) end
local comment=(spacing*begincomment*somecomment*endcomment )/function(...) add_special("@cm@",...) end
local cdata=(spacing*begincdata*somecdata*endcdata )/function(...) add_special("@cd@",...) end
@@ -21321,8 +21346,8 @@ end -- of closure
-- used libraries : 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-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 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 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 : 877106
--- stripped bytes : 317575
+-- original bytes : 877962
+-- stripped bytes : 317771
-- end library merge
diff --git a/Master/texmf-dist/scripts/context/stubs/unix/mtxrun b/Master/texmf-dist/scripts/context/stubs/unix/mtxrun
index 91528360a81..0f4767d918c 100755
--- a/Master/texmf-dist/scripts/context/stubs/unix/mtxrun
+++ b/Master/texmf-dist/scripts/context/stubs/unix/mtxrun
@@ -6101,7 +6101,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-str"] = package.loaded["util-str"] or true
--- original size: 38699, stripped down to: 22142
+-- original size: 38734, stripped down to: 22142
if not modules then modules={} end modules ['util-str']={
version=1.001,
@@ -6913,7 +6913,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 27665, stripped down to: 17051
+-- original size: 27741, stripped down to: 17085
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -7051,15 +7051,16 @@ function table.tocsv(t,specification)
fields=sortedkeys(t[1])
end
local separator=specification.separator or ","
+ local noffields=#fields
if specification.preamble==true then
- for f=1,#fields do
+ for f=1,noffields do
r[f]=lpegmatch(escape,tostring(fields[f]))
end
result[1]=concat(r,separator)
end
for i=1,#t do
local ti=t[i]
- for f=1,#fields do
+ for f=1,noffields do
local field=ti[fields[f]]
if type(field)=="string" then
r[f]=lpegmatch(escape,field)
@@ -7076,30 +7077,31 @@ function table.tocsv(t,specification)
end
local nspaces=utilities.strings.newrepeater(" ")
local function toxml(t,d,result,step)
+ local r=#result
for k,v in sortedpairs(t) do
local s=nspaces[d]
local tk=type(k)
local tv=type(v)
if tv=="table" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>"](s,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</entry>"](s,k)
+ r=r+1 result[r]=formatters["%s</entry>"](s,k)
else
- result[#result+1]=formatters["%s<%s>"](s,k)
+ r=r+1 result[r]=formatters["%s<%s>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</%s>"](s,k)
+ r=r+1 result[r]=formatters["%s</%s>"](s,k)
end
elseif tv=="string" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
end
elseif tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%S</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%S</%s>"](s,k,v,k)
end
end
end
@@ -12113,7 +12115,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-tab"] = package.loaded["lxml-tab"] or true
--- original size: 59638, stripped down to: 37936
+-- original size: 60383, stripped down to: 38562
if not modules then modules={} end modules ['lxml-tab']={
version=1.001,
@@ -12122,7 +12124,7 @@ if not modules then modules={} end modules ['lxml-tab']={
copyright="PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local trace_entities=false trackers .register("xml.entities",function(v) trace_entities=v end)
+local trace_entities=false trackers.register("xml.entities",function(v) trace_entities=v end)
local report_xml=logs and logs.reporter("xml","core") or function(...) print(string.format(...)) end
if lpeg.setmaxstack then lpeg.setmaxstack(1000) end
xml=xml or {}
@@ -12870,6 +12872,25 @@ local function publicentity(k,v,n)
end
entities[k]=v
end
+local function entityfile(pattern,k,v,n)
+ if n then
+ local okay,data
+ if resolvers then
+ okay,data=resolvers.loadbinfile(n)
+ else
+ data=io.loaddata(n)
+ okay=data and data~=""
+ end
+ if okay then
+ if trace_entities then
+ report_xml("loading public entities %a as %a from %a",k,v,n)
+ end
+ lpegmatch(pattern,data)
+ return
+ end
+ end
+ report_xml("ignoring public entities %a as %a from %a",k,v,n)
+end
local function install(spacenewline,spacing,anything)
local anyentitycontent=(1-open-semicolon-space-close-ampersand)^0
local hexentitycontent=R("AF","af","09")^1
@@ -12921,6 +12942,9 @@ local function install(spacenewline,spacing,anything)
local publicentitytype=(doctypename*somespace*P("PUBLIC")*somespace*value)/publicentity
local systementitytype=(doctypename*somespace*P("SYSTEM")*somespace*value*somespace*P("NDATA")*somespace*doctypename)/systementity
local entitydoctype=optionalspace*P("<!ENTITY")*somespace*(systementitytype+publicentitytype+normalentitytype+weirdentitytype)*optionalspace*close
+ local publicentityfile=(doctypename*somespace*P("PUBLIC")*somespace*value*(somespace*value)^0)/function(...)
+ entityfile(entitydoctype,...)
+ end
local function weirdresolve(s)
lpegmatch(entitydoctype,parameters[s])
end
@@ -12934,7 +12958,8 @@ local function install(spacenewline,spacing,anything)
local publicdoctype=doctypename*somespace*P("PUBLIC")*somespace*value*somespace*value*somespace*doctypeset
local systemdoctype=doctypename*somespace*P("SYSTEM")*somespace*value*somespace*doctypeset
local simpledoctype=(anything-close)^1
- local somedoctype=C((somespace*(publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
+ local somedoctype=C((somespace*(
+publicentityfile+publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
local instruction=(spacing*begininstruction*someinstruction*endinstruction)/function(...) add_special("@pi@",...) end
local comment=(spacing*begincomment*somecomment*endcomment )/function(...) add_special("@cm@",...) end
local cdata=(spacing*begincdata*somecdata*endcdata )/function(...) add_special("@cd@",...) end
@@ -21321,8 +21346,8 @@ end -- of closure
-- used libraries : 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-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 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 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 : 877106
--- stripped bytes : 317575
+-- original bytes : 877962
+-- stripped bytes : 317771
-- end library merge
diff --git a/Master/texmf-dist/scripts/context/stubs/win64/mtxrun.lua b/Master/texmf-dist/scripts/context/stubs/win64/mtxrun.lua
index 91528360a81..0f4767d918c 100644
--- a/Master/texmf-dist/scripts/context/stubs/win64/mtxrun.lua
+++ b/Master/texmf-dist/scripts/context/stubs/win64/mtxrun.lua
@@ -6101,7 +6101,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-str"] = package.loaded["util-str"] or true
--- original size: 38699, stripped down to: 22142
+-- original size: 38734, stripped down to: 22142
if not modules then modules={} end modules ['util-str']={
version=1.001,
@@ -6913,7 +6913,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["util-tab"] = package.loaded["util-tab"] or true
--- original size: 27665, stripped down to: 17051
+-- original size: 27741, stripped down to: 17085
if not modules then modules={} end modules ['util-tab']={
version=1.001,
@@ -7051,15 +7051,16 @@ function table.tocsv(t,specification)
fields=sortedkeys(t[1])
end
local separator=specification.separator or ","
+ local noffields=#fields
if specification.preamble==true then
- for f=1,#fields do
+ for f=1,noffields do
r[f]=lpegmatch(escape,tostring(fields[f]))
end
result[1]=concat(r,separator)
end
for i=1,#t do
local ti=t[i]
- for f=1,#fields do
+ for f=1,noffields do
local field=ti[fields[f]]
if type(field)=="string" then
r[f]=lpegmatch(escape,field)
@@ -7076,30 +7077,31 @@ function table.tocsv(t,specification)
end
local nspaces=utilities.strings.newrepeater(" ")
local function toxml(t,d,result,step)
+ local r=#result
for k,v in sortedpairs(t) do
local s=nspaces[d]
local tk=type(k)
local tv=type(v)
if tv=="table" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>"](s,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</entry>"](s,k)
+ r=r+1 result[r]=formatters["%s</entry>"](s,k)
else
- result[#result+1]=formatters["%s<%s>"](s,k)
+ r=r+1 result[r]=formatters["%s<%s>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1]=formatters["%s</%s>"](s,k)
+ r=r+1 result[r]=formatters["%s</%s>"](s,k)
end
elseif tv=="string" then
if tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
end
elseif tk=="number" then
- result[#result+1]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
else
- result[#result+1]=formatters["%s<%s>%S</%s>"](s,k,v,k)
+ r=r+1 result[r]=formatters["%s<%s>%S</%s>"](s,k,v,k)
end
end
end
@@ -12113,7 +12115,7 @@ do -- create closure to overcome 200 locals limit
package.loaded["lxml-tab"] = package.loaded["lxml-tab"] or true
--- original size: 59638, stripped down to: 37936
+-- original size: 60383, stripped down to: 38562
if not modules then modules={} end modules ['lxml-tab']={
version=1.001,
@@ -12122,7 +12124,7 @@ if not modules then modules={} end modules ['lxml-tab']={
copyright="PRAGMA ADE / ConTeXt Development Team",
license="see context related readme files"
}
-local trace_entities=false trackers .register("xml.entities",function(v) trace_entities=v end)
+local trace_entities=false trackers.register("xml.entities",function(v) trace_entities=v end)
local report_xml=logs and logs.reporter("xml","core") or function(...) print(string.format(...)) end
if lpeg.setmaxstack then lpeg.setmaxstack(1000) end
xml=xml or {}
@@ -12870,6 +12872,25 @@ local function publicentity(k,v,n)
end
entities[k]=v
end
+local function entityfile(pattern,k,v,n)
+ if n then
+ local okay,data
+ if resolvers then
+ okay,data=resolvers.loadbinfile(n)
+ else
+ data=io.loaddata(n)
+ okay=data and data~=""
+ end
+ if okay then
+ if trace_entities then
+ report_xml("loading public entities %a as %a from %a",k,v,n)
+ end
+ lpegmatch(pattern,data)
+ return
+ end
+ end
+ report_xml("ignoring public entities %a as %a from %a",k,v,n)
+end
local function install(spacenewline,spacing,anything)
local anyentitycontent=(1-open-semicolon-space-close-ampersand)^0
local hexentitycontent=R("AF","af","09")^1
@@ -12921,6 +12942,9 @@ local function install(spacenewline,spacing,anything)
local publicentitytype=(doctypename*somespace*P("PUBLIC")*somespace*value)/publicentity
local systementitytype=(doctypename*somespace*P("SYSTEM")*somespace*value*somespace*P("NDATA")*somespace*doctypename)/systementity
local entitydoctype=optionalspace*P("<!ENTITY")*somespace*(systementitytype+publicentitytype+normalentitytype+weirdentitytype)*optionalspace*close
+ local publicentityfile=(doctypename*somespace*P("PUBLIC")*somespace*value*(somespace*value)^0)/function(...)
+ entityfile(entitydoctype,...)
+ end
local function weirdresolve(s)
lpegmatch(entitydoctype,parameters[s])
end
@@ -12934,7 +12958,8 @@ local function install(spacenewline,spacing,anything)
local publicdoctype=doctypename*somespace*P("PUBLIC")*somespace*value*somespace*value*somespace*doctypeset
local systemdoctype=doctypename*somespace*P("SYSTEM")*somespace*value*somespace*doctypeset
local simpledoctype=(anything-close)^1
- local somedoctype=C((somespace*(publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
+ local somedoctype=C((somespace*(
+publicentityfile+publicdoctype+systemdoctype+definitiondoctype+simpledoctype)*optionalspace)^0)
local instruction=(spacing*begininstruction*someinstruction*endinstruction)/function(...) add_special("@pi@",...) end
local comment=(spacing*begincomment*somecomment*endcomment )/function(...) add_special("@cm@",...) end
local cdata=(spacing*begincdata*somecdata*endcdata )/function(...) add_special("@cd@",...) end
@@ -21321,8 +21346,8 @@ end -- of closure
-- used libraries : 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-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 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 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 : 877106
--- stripped bytes : 317575
+-- original bytes : 877962
+-- stripped bytes : 317771
-- end library merge
diff --git a/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii b/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii
index 082e39ee4a2..49499250257 100644
--- a/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii
+++ b/Master/texmf-dist/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2018.04.02 15:43}
+\newcontextversion{2018.04.04 00:51}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/Master/texmf-dist/tex/context/base/mkii/context.mkii b/Master/texmf-dist/tex/context/base/mkii/context.mkii
index 4e087c1c8a6..2938661941d 100644
--- a/Master/texmf-dist/tex/context/base/mkii/context.mkii
+++ b/Master/texmf-dist/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2018.04.02 15:43}
+\edef\contextversion{2018.04.04 00:51}
%D For those who want to use this:
diff --git a/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv b/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv
index c705c3afcc4..9cb89326039 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/cont-new.mkiv
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2018.04.02 15:43}
+\newcontextversion{2018.04.04 00:51}
%D This file is loaded at runtime, thereby providing an excellent place for
%D hacks, patches, extensions and new features.
diff --git a/Master/texmf-dist/tex/context/base/mkiv/context.mkiv b/Master/texmf-dist/tex/context/base/mkiv/context.mkiv
index 2adc6b3eee0..9a52cfe78b1 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/context.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/context.mkiv
@@ -42,7 +42,7 @@
%D has to match \type {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2018.04.02 15:43}
+\edef\contextversion{2018.04.04 00:51}
\edef\contextkind {beta}
%D For those who want to use this:
diff --git a/Master/texmf-dist/tex/context/base/mkiv/font-ini.mkvi b/Master/texmf-dist/tex/context/base/mkiv/font-ini.mkvi
index ee20d7b32b0..69318291929 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/font-ini.mkvi
+++ b/Master/texmf-dist/tex/context/base/mkiv/font-ini.mkvi
@@ -2510,14 +2510,32 @@
% \popmacro\fontclass
% \ifx\fontclass\empty\else\setupbodyfont\relax\fi}
+% \unexpanded\def\usebodyfont[#1]%
+% {\pushmacro\fontclass
+% \font_helpers_set_font\zerocount{#1}%
+% \popmacro\fontclass
+% \ifx\fontclass\empty \else
+% \font_basics_setupbodyfont_nop
+% \fi}
+
\unexpanded\def\usebodyfont[#1]%
- {\pushmacro\fontclass
- \font_helpers_set_font\zerocount{#1}%
- \popmacro\fontclass
- \ifx\fontclass\empty \else
- \font_basics_setupbodyfont_nop
+ {\ifx\fontclass\empty
+ \setupbodyfont[#1]%
+ \else
+ \switchtobodyfont[#1]%
+ \fullrestoreglobalbodyfont
\fi}
+\unexpanded\def\showbodyfontstate
+ {\dontleavehmode
+ \start
+ \infofont
+ [fontclass: \fontclass,\space
+ fontbody: \fontbody ,\space
+ fontface: \fontface ,\space
+ fontsize: \fontsize ]%
+ \stop}
+
%D Handy for manuals:
%D The \type {\tochar} commmand takes a specification:
diff --git a/Master/texmf-dist/tex/context/base/mkiv/lxml-tab.lua b/Master/texmf-dist/tex/context/base/mkiv/lxml-tab.lua
index 8d4be58abfb..1ef83c47de7 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/lxml-tab.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/lxml-tab.lua
@@ -14,7 +14,7 @@ if not modules then modules = { } end modules ['lxml-tab'] = {
-- maybe when letter -> utf, else name .. then we need an option to the serializer .. a bit
-- of work so we delay this till we cleanup
-local trace_entities = false trackers .register("xml.entities", function(v) trace_entities = v end)
+local trace_entities = false trackers.register("xml.entities", function(v) trace_entities = v end)
local report_xml = logs and logs.reporter("xml","core") or function(...) print(string.format(...)) end
@@ -968,6 +968,25 @@ local function publicentity(k,v,n)
end
entities[k] = v
end
+local function entityfile(pattern,k,v,n)
+ if n then
+ local okay, data
+ if resolvers then
+ okay, data = resolvers.loadbinfile(n)
+ else
+ data = io.loaddata(n)
+ okay = data and data ~= ""
+ end
+ if okay then
+ if trace_entities then
+ report_xml("loading public entities %a as %a from %a",k,v,n)
+ end
+ lpegmatch(pattern,data)
+ return
+ end
+ end
+ report_xml("ignoring public entities %a as %a from %a",k,v,n)
+end
local function install(spacenewline,spacing,anything)
@@ -1003,7 +1022,7 @@ local function install(spacenewline,spacing,anything)
local attribute = (somespace * name * optionalspace * equal * optionalspace * attributevalue) / add_attribute
--- local attributes = (attribute + somespace^-1 * (((1-endofattributes)^1)/attribute_specification_error))^0
+ -- local attributes = (attribute + somespace^-1 * (((1-endofattributes)^1)/attribute_specification_error))^0
local attributes = (attribute + somespace^-1 * (((anything-endofattributes)^1)/attribute_specification_error))^0
local parsedtext = text_parsed -- / add_text
@@ -1041,10 +1060,15 @@ local function install(spacenewline,spacing,anything)
local weirdentitytype = P("%") * (somespace * doctypename * somespace * value) / weirdentity
local normalentitytype = (doctypename * somespace * value) / normalentity
- local publicentitytype = (doctypename * somespace * P("PUBLIC") * somespace * value)/publicentity
+ local publicentitytype = (doctypename * somespace * P("PUBLIC") * somespace * value) / publicentity
+
local systementitytype = (doctypename * somespace * P("SYSTEM") * somespace * value * somespace * P("NDATA") * somespace * doctypename)/systementity
local entitydoctype = optionalspace * P("<!ENTITY") * somespace * (systementitytype + publicentitytype + normalentitytype + weirdentitytype) * optionalspace * close
+ local publicentityfile = (doctypename * somespace * P("PUBLIC") * somespace * value * (somespace * value)^0) / function(...)
+ entityfile(entitydoctype,...)
+ end
+
local function weirdresolve(s)
lpegmatch(entitydoctype,parameters[s])
end
@@ -1065,7 +1089,11 @@ local function install(spacenewline,spacing,anything)
local publicdoctype = doctypename * somespace * P("PUBLIC") * somespace * value * somespace * value * somespace * doctypeset
local systemdoctype = doctypename * somespace * P("SYSTEM") * somespace * value * somespace * doctypeset
local simpledoctype = (anything-close)^1 -- * balanced^0
- local somedoctype = C((somespace * (publicdoctype + systemdoctype + definitiondoctype + simpledoctype) * optionalspace)^0)
+ local somedoctype = C((somespace * (
+
+publicentityfile +
+
+ publicdoctype + systemdoctype + definitiondoctype + simpledoctype) * optionalspace)^0)
local instruction = (spacing * begininstruction * someinstruction * endinstruction) / function(...) add_special("@pi@",...) end
local comment = (spacing * begincomment * somecomment * endcomment ) / function(...) add_special("@cm@",...) end
@@ -1294,7 +1322,7 @@ a filename or a file handle.</p>
function xml.load(filename,settings)
local data = ""
if type(filename) == "string" then
- -- local data = io.loaddata(filename) - -todo: check type in io.loaddata
+ -- local data = io.loaddata(filename) -- todo: check type in io.loaddata
local f = io.open(filename,'r') -- why not 'rb'
if f then
data = f:read("*all") -- io.readall(f) ... only makes sense for large files
diff --git a/Master/texmf-dist/tex/context/base/mkiv/meta-imp-txt.mkiv b/Master/texmf-dist/tex/context/base/mkiv/meta-imp-txt.mkiv
index 56da9229d60..e9660b3a7e2 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/meta-imp-txt.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/meta-imp-txt.mkiv
@@ -287,7 +287,6 @@
\dontcomplain
\setbox\scratchbox\hbox{\addff{mp:tp}#2}%
\ctxlua{mp.follow_initialize(\number\scratchbox)}%
- \stopluacode
\startMPcode
\includeMPgraphic{followtokens} ;
mfun_follow_draw(\number#1) ;
@@ -295,8 +294,8 @@
\ctxlua{mp.follow_reset()}%
\egroup}
-\unexpanded\def\followtokens {\dofollowtokens1}
-\unexpanded\def\followtokenscentered{\dofollowtokens0}
+\unexpanded\def\followtokens {\dofollowtokens\plusone}
+\unexpanded\def\followtokenscentered{\dofollowtokens\zerocount}
% stretched variant:
%
diff --git a/Master/texmf-dist/tex/context/base/mkiv/page-inf.mkiv b/Master/texmf-dist/tex/context/base/mkiv/page-inf.mkiv
index f60977e0c97..2064f9f25be 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/page-inf.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/page-inf.mkiv
@@ -13,7 +13,7 @@
\writestatus{loading}{ConTeXt Page Macros / Tracing Info}
-% this needs a real cleanup .. will be a more detailed list
+% This needs a real cleanup .. will be a more detailed list.
\unprotect
@@ -23,6 +23,7 @@
\newtoks\everysetupversion
\let\currentversioninfo\empty
+\let\currentversiontext\empty
\unexpanded\def\setupversion
{\dosingleargument\page_info_setup}
@@ -33,8 +34,13 @@
\def\page_info_setup[#1]%
{\the\everyresetversion
- \ifcsname\??layoutinfo#1\endcsname
- \edef\currentversioninfo{#1}%
+ \doifelseassignment{#1}%
+ {\getdummyparameters[\c!alternative=,\c!text=,#1]%
+ \edef\currentversioninfo{\dummyparameter\c!alternative}%
+ \edef\currentversiontext{\dummyparameter\c!text}}%
+ {\edef\currentversioninfo{#1}%
+ \let \currentversiontext\empty}%
+ \ifcsname\??layoutinfo\currentversioninfo\endcsname
\let\page_info_add_to_box\page_info_add_to_box_indeed
\else
\let\currentversioninfo\empty
@@ -43,33 +49,46 @@
\the\everysetupversion}
\unexpanded\def\page_info_place_info % at the bottom of the page
- {\csname\??layoutinfo\currentversioninfo\endcsname}
+ {\begincsname\??layoutinfo\currentversioninfo\endcsname}
\unexpanded\def\installversioninfo#1#2%
{\setvalue{\??layoutinfo#1}{#2}}
\unexpanded\def\includeversioninfo#1%
- {\csname\??layoutinfo#1\endcsname}
+ {\begincsname\??layoutinfo#1\endcsname}
+
+\installversioninfo\v!final
+ {\let\currentversioninfo\empty
+ \let\page_info_add_to_box\gobbleoneargument}
\installversioninfo\v!concept
{\vskip6\points
\hbox to \makeupwidth
{\infofont
- \v!concept:\space\currentdate
+ \rlap{\v!concept:\space\currentdate}%
\hss
- \page_adapts_status_info}}
+ \currentversiontext
+ \hss
+ \llap{\page_adapts_status_info}}}
\installversioninfo\v!file
{\vskip6\points
\hbox to \makeupwidth
{\infofont
- \getmessage\m!system{27}:\space\currentdate\space
+ \getmessage\m!system{27}:\space\currentdate\quad
\donefalse
- \ifx\currentproject \empty \else \space\v!project :\space\currentproject \space \donetrue \fi
- \ifx\currentproduct \empty \else \space\v!product :\space\currentproduct \space \donetrue \fi
- \ifx\currentcomponent\empty \else \space\v!component:\space\currentcomponent\space \donetrue \fi
- \ifdone \else \space\v!file :\space\jobname \space \fi
+ \doif\currentproject\currentproduct{\doif\currentproduct\currentcomponent\donetrue}%
+ \ifdone
+ \donefalse
+ \else
+ \ifx\currentproject \empty \else \space\v!project :\space\currentproject \space \donetrue \fi
+ \ifx\currentproduct \empty \else \space\v!product :\space\currentproduct \space \donetrue \fi
+ \ifx\currentcomponent\empty \else \space\v!component:\space\currentcomponent\space \donetrue \fi
+ \fi
+ \ifdone \else \space\v!file :\space\jobname \space \fi
\hss
+ \currentversiontext
+ \quad
\page_adapts_status_info}}
\installversioninfo\v!temporary
diff --git a/Master/texmf-dist/tex/context/base/mkiv/page-one.mkiv b/Master/texmf-dist/tex/context/base/mkiv/page-one.mkiv
index 35233247bb1..348c301fc2c 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/page-one.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/page-one.mkiv
@@ -481,28 +481,68 @@
#1{\box\floatbox}%
\doifinset\v!tall\floatlocationmethod\page_sides_flush_floats_after_par}
-\def\page_one_place_float_left {\page_one_place_float_side_indeed\page_sides_process_float_left\presetindentation}
-\def\page_one_place_float_right {\page_one_place_float_side_indeed\page_sides_process_float_right}
-\def\page_one_place_float_leftmargin {\page_one_place_float_side_indeed\page_sides_process_float_leftmargin}
-\def\page_one_place_float_rightmargin{\page_one_place_float_side_indeed\page_sides_process_float_rightmargin}
-\def\page_one_place_float_leftedge {\page_one_place_float_side_indeed\page_sides_process_float_leftedge}
-\def\page_one_place_float_rightedge {\page_one_place_float_side_indeed\page_sides_process_float_rightedge}
-\def\page_one_place_float_inmargin {\page_one_place_float_side_indeed\page_sides_process_float_cutspace}
-\def\page_one_place_float_backspace {\page_one_place_float_side_indeed\page_sides_process_float_backspace}
-\def\page_one_place_float_cutspace {\page_one_place_float_side_indeed\page_sides_process_float_cutspace}
-
-%def\page_one_place_float_margin {\page_one_place_float_side_indeed\page_sides_process_float_margin\nonoindentation} % wil be overloaded
-\def\page_one_place_float_margin {\page_margin_blocks_process_float}
+\def\page_one_place_float_left
+ {\page_one_place_float_side_indeed
+ \page_sides_process_float_left
+ \presetindentation}
+
+\def\page_one_place_float_right
+ {\page_one_place_float_side_indeed
+ \page_sides_process_float_right}
+
+\def\page_one_place_float_margin
+ {\page_margin_blocks_process_float
+ \nonoindentation} % new, due to popular request
+
+\def\page_one_place_float_leftmargin
+ {\page_one_place_float_side_indeed
+ \page_sides_process_float_leftmargin
+ \nonoindentation} % new, due to popular request
+
+\def\page_one_place_float_rightmargin
+ {\page_one_place_float_side_indeed
+ \page_sides_process_float_rightmargin
+ \nonoindentation} % new, due to popular request
+
+\def\page_one_place_float_leftedge
+ {\page_one_place_float_side_indeed
+ \page_sides_process_float_leftedge}
+
+\def\page_one_place_float_rightedge
+ {\page_one_place_float_side_indeed
+ \page_sides_process_float_rightedge}
+
+\def\page_one_place_float_inmargin
+ {\page_one_place_float_side_indeed
+ \page_sides_process_float_cutspace}
+
+\def\page_one_place_float_backspace
+ {\page_one_place_float_side_indeed
+ \page_sides_process_float_backspace}
+
+\def\page_one_place_float_cutspace
+ {\page_one_place_float_side_indeed
+ \page_sides_process_float_cutspace}
\def\page_one_place_float_page {\page_floats_save_page_float \s!page \floatlocationmethod}
\def\page_one_place_float_leftpage {\page_floats_save_page_float \s!leftpage \floatlocationmethod}
\def\page_one_place_float_rightpage {\page_floats_save_page_float \s!rightpage\floatlocationmethod}
\def\page_one_place_float_somewhere {\page_floats_save_somewhere_float\s!somewhere\floatlocationmethod}
-\def\page_one_place_float_here {\page_one_place_float_otherwise_here}
-\def\page_one_place_float_auto {\page_one_place_float_otherwise}
-\def\page_one_place_float_top {\page_one_place_float_otherwise\nonoindentation}
-\def\page_one_place_float_bottom {\page_one_place_float_otherwise}
+\def\page_one_place_float_here
+ {\page_one_place_float_otherwise_here}
+
+\def\page_one_place_float_auto
+ {\page_one_place_float_otherwise
+ \nonoindentation} % new, due to popular request
+
+\def\page_one_place_float_top
+ {\page_one_place_float_otherwise
+ \nonoindentation}
+
+\def\page_one_place_float_bottom
+ {\page_one_place_float_otherwise
+ \nonoindentation} % new, due to popular request
\def\page_one_place_float_otherwise
{\doifelseinset\v!here\floatlocationmethod
diff --git a/Master/texmf-dist/tex/context/base/mkiv/page-sid.mkiv b/Master/texmf-dist/tex/context/base/mkiv/page-sid.mkiv
index a0fb63ca20a..6f5d9f3571f 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/page-sid.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/page-sid.mkiv
@@ -32,6 +32,7 @@
%D Earth, sophisticated Massive Attack video clips, impressive Davie504 movies
%D and so on).
+\newdimen \d_page_sides_margin
\newdimen \d_page_sides_height % includes the topskip
\newdimen \d_page_sides_width
\newdimen \d_page_sides_hsize
@@ -113,7 +114,7 @@
\or % high
\or % low
\or % fit
- \global\d_strc_floats_margin\zeropoint
+ \global\d_page_sides_margin\zeropoint
\fi}
\def\page_sides_apply_horizontal_shift
@@ -668,7 +669,7 @@
\else\ifnum\c_page_sides_float_type>\plusfive
\global\d_page_sides_width\zeropoint
\else
- \global\d_page_sides_width\dimexpr\wd\floatbox+\d_strc_floats_margin\relax
+ \global\d_page_sides_width\dimexpr\wd\floatbox+\d_page_sides_margin\relax
\fi\fi
\ifdim\d_page_sides_width<\zeropoint
\global\d_page_sides_width\zeropoint
diff --git a/Master/texmf-dist/tex/context/base/mkiv/publ-ini.lua b/Master/texmf-dist/tex/context/base/mkiv/publ-ini.lua
index 8497b190fcb..9dfeda168cc 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/publ-ini.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/publ-ini.lua
@@ -2325,13 +2325,13 @@ do
implement {
name = "btxflushlistentry",
- arguments = "2 strings",
+ arguments = { "string", "integer" },
actions = lists.flushentry,
}
implement {
name = "btxflushlisttag",
- arguments = "2 strings",
+ arguments = { "string", "integer" },
actions = lists.flushtag,
}
diff --git a/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf b/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf
index aa6ed92ea35..74e8e3e8ad5 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf
+++ b/Master/texmf-dist/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf b/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf
index 70204080ad3..a2f2ee28b07 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf
+++ b/Master/texmf-dist/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi b/Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi
index 69881037e34..632c6768694 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi
+++ b/Master/texmf-dist/tex/context/base/mkiv/strc-flt.mkvi
@@ -148,7 +148,7 @@
\c!textmethod=\ifgridsnapping2\else0\fi, % 0=raw 1=safe (.99pg) 2=tight (-1pt) % THIS WILL CHANGE
\c!sidemethod=\ifgridsnapping2\else1\fi, % 0=raw 1=safe (.99pg) 2=tight (-1pt) % THIS WILL CHANGE
\c!indentnext=\v!no,
- \c!margin=1\emwidth,
+ \c!margin=\emwidth,
\c!method=1,
\c!cache=\v!yes, % when no, then intermediate flush
\c!leftmargin=\zeropoint, % displacement in 'normal floats'
@@ -734,7 +734,6 @@
% nicer is a bunch of states and one loop that sets those states
-\newdimen\d_strc_floats_margin
\newdimen\d_strc_floats_top
\newdimen\d_strc_floats_bottom
@@ -776,13 +775,13 @@
\global\c_page_sides_tolerance \zerocount
\global\c_page_sides_skipmode \zerocount
\global\c_strc_floats_rotation \zerocount
- \global\d_strc_floats_margin \rootfloatparameter\c!margin
- \global\d_page_sides_leftshift \floatparameter \c!leftmargindistance
- \global\d_page_sides_rightshift \floatparameter \c!rightmargindistance
- \global\d_page_sides_topoffset \floatparameter \c!topoffset
- \global\d_page_sides_bottomoffset\floatparameter \c!bottomoffset
- \global\c_page_sides_method \floatparameter \c!sidemethod
- \global\c_page_one_float_method \floatparameter \c!textmethod
+ \global\d_page_sides_margin \floatparameter\c!margin
+ \global\d_page_sides_leftshift \floatparameter\c!leftmargindistance
+ \global\d_page_sides_rightshift \floatparameter\c!rightmargindistance
+ \global\d_page_sides_topoffset \floatparameter\c!topoffset
+ \global\d_page_sides_bottomoffset\floatparameter\c!bottomoffset
+ \global\c_page_sides_method \floatparameter\c!sidemethod
+ \global\c_page_one_float_method \floatparameter\c!textmethod
\global\c_page_floats_n_of_top \rootfloatparameter\c!ntop
\global\c_page_floats_n_of_bottom\rootfloatparameter\c!nbottom
\ifconditional\c_strc_floats_par_float
diff --git a/Master/texmf-dist/tex/context/base/mkiv/type-set.mkiv b/Master/texmf-dist/tex/context/base/mkiv/type-set.mkiv
index 1ef137d3981..1763de68790 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/type-set.mkiv
+++ b/Master/texmf-dist/tex/context/base/mkiv/type-set.mkiv
@@ -57,6 +57,9 @@
\fi
+\definefilesynonym [type-imp-latin-modern.mkiv] [type-imp-latinmodern.mkiv]
+\definefilesynonym [type-imp-modern-latin.mkiv] [type-imp-modernlatin.mkiv]
+
\definefilesynonym [type-imp-lucida.mkiv] [type-imp-lucida-typeone.mkiv]
\definefilesynonym [type-imp-lucidaot.mkiv] [type-imp-lucida-opentype.mkiv]
\definefilesynonym [type-imp-lucidadk.mkiv] [type-imp-lucida-opentype.mkiv]
diff --git a/Master/texmf-dist/tex/context/base/mkiv/util-str.lua b/Master/texmf-dist/tex/context/base/mkiv/util-str.lua
index f76895aaf6c..05ff9f304d7 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/util-str.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/util-str.lua
@@ -1081,6 +1081,7 @@ local function make(t,str)
f = function() return str end
end
end
+ -- if jit then jit.on(f,true) end
t[str] = f
return f
end
diff --git a/Master/texmf-dist/tex/context/base/mkiv/util-tab.lua b/Master/texmf-dist/tex/context/base/mkiv/util-tab.lua
index ebe51eb1aef..1b069e2ae21 100644
--- a/Master/texmf-dist/tex/context/base/mkiv/util-tab.lua
+++ b/Master/texmf-dist/tex/context/base/mkiv/util-tab.lua
@@ -153,15 +153,16 @@ function table.tocsv(t,specification)
fields = sortedkeys(t[1])
end
local separator = specification.separator or ","
+ local noffields = #fields
if specification.preamble == true then
- for f=1,#fields do
+ for f=1,noffields do
r[f] = lpegmatch(escape,tostring(fields[f]))
end
result[1] = concat(r,separator)
end
for i=1,#t do
local ti = t[i]
- for f=1,#fields do
+ for f=1,noffields do
local field = ti[fields[f]]
if type(field) == "string" then
r[f] = lpegmatch(escape,field)
@@ -215,30 +216,31 @@ end
local nspaces = utilities.strings.newrepeater(" ")
local function toxml(t,d,result,step)
+ local r = #result
for k, v in sortedpairs(t) do
local s = nspaces[d] -- inlining this is somewhat faster but gives more formatters
local tk = type(k)
local tv = type(v)
if tv == "table" then
if tk == "number" then
- result[#result+1] = formatters["%s<entry n='%s'>"](s,k)
+ r = r + 1 result[r] = formatters["%s<entry n='%s'>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1] = formatters["%s</entry>"](s,k)
+ r = r + 1 result[r] = formatters["%s</entry>"](s,k)
else
- result[#result+1] = formatters["%s<%s>"](s,k)
+ r = r + 1 result[r] = formatters["%s<%s>"](s,k)
toxml(v,d+step,result,step)
- result[#result+1] = formatters["%s</%s>"](s,k)
+ r = r + 1 result[r] = formatters["%s</%s>"](s,k)
end
elseif tv == "string" then
if tk == "number" then
- result[#result+1] = formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
+ r = r + 1 result[r] = formatters["%s<entry n='%s'>%!xml!</entry>"](s,k,v,k)
else
- result[#result+1] = formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
+ r = r + 1 result[r] = formatters["%s<%s>%!xml!</%s>"](s,k,v,k)
end
elseif tk == "number" then
- result[#result+1] = formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
+ r = r + 1 result[r] = formatters["%s<entry n='%s'>%S</entry>"](s,k,v,k)
else
- result[#result+1] = formatters["%s<%s>%S</%s>"](s,k,v,k)
+ r = r + 1 result[r] = formatters["%s<%s>%S</%s>"](s,k,v,k)
end
end
end
diff --git a/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf b/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf
index 6ff801846c1..39538aa7bcd 100644
--- a/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf
+++ b/Master/texmf-dist/tex/context/interface/mkiv/i-context.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf b/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf
index f86da332ab2..ee6712cfd09 100644
--- a/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf
+++ b/Master/texmf-dist/tex/context/interface/mkiv/i-readme.pdf
Binary files differ
diff --git a/Master/texmf-dist/tex/context/modules/common/s-abbreviations-logos.tex b/Master/texmf-dist/tex/context/modules/common/s-abbreviations-logos.tex
index f1966f54466..c14265cc085 100644
--- a/Master/texmf-dist/tex/context/modules/common/s-abbreviations-logos.tex
+++ b/Master/texmf-dist/tex/context/modules/common/s-abbreviations-logos.tex
@@ -86,6 +86,7 @@
\logo [DVISCR] {dviscr}
\logo [DVIWINDO] {dviwindo}
\logo [EBCDIC] {ebcdic}
+\logo [EU] {eu}
\logo [EC] {ec}
\logo [EIFFEL] {Eiffel}
\logo [EMACS] {emacs}
diff --git a/Master/texmf-dist/tex/context/sample/common/poe.tex b/Master/texmf-dist/tex/context/sample/common/poe.tex
new file mode 100644
index 00000000000..fd84b60a8b6
--- /dev/null
+++ b/Master/texmf-dist/tex/context/sample/common/poe.tex
@@ -0,0 +1,33 @@
+% title : A dream within a dream
+% author : Edgar Allan Poe
+%
+% music : Propaganda (on: A Secret Wish)
+
+\startlines
+Take this kiss upon the brow!
+And, in parting from you now,
+Thus much let me avow —
+You are not wrong, who deem
+That my days have been a dream;
+Yet if hope has flown away
+In a night, or in a day,
+In a vision, or in none,
+Is it therefore the less gone?
+All that we see or seem
+Is but a dream within a dream.
+\blank
+I stand amid the roar
+Of a surf-tormented shore,
+And I hold within my hand
+Grains of the golden sand —
+How few! yet how they creep
+Through my fingers to the deep,
+While I weep — while I weep!
+O God! can I not grasp
+Them with a tighter clasp?
+O God! can I not save
+One from the pitiless wave?
+Is all that we see or seem
+But a dream within a dream?
+\stoplines
+
diff --git a/Master/texmf-dist/tex/context/sample/common/samples.tex b/Master/texmf-dist/tex/context/sample/common/samples.tex
index a2ffcf0882c..d732a240e27 100644
--- a/Master/texmf-dist/tex/context/sample/common/samples.tex
+++ b/Master/texmf-dist/tex/context/sample/common/samples.tex
@@ -58,6 +58,7 @@ used in testing bibliographic references and citations.
\NC greenfield.tex \NC Susan Greenfield \NC Mind Change, how digital technologies are leaving
their mark on the brain,
Rider, London, 2014. \NC \NR
+\NC poe.tex \NC Edgar Allan Poe \NC A dream within a dream, www.poetryfoundation.org. \NC \NR
\stoptabulate
% Tufte: This quote will always produce hyphenated text, apart from the content,
diff --git a/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua b/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua
index 97503d8a7a0..7cfa8c61a9c 100644
--- a/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/Master/texmf-dist/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 04/02/18 15:43:20
+-- merge date : 04/04/18 00:51:15
do -- begin closure to overcome local limits and interference