From 375d5805bcdeeade99aff1cee9eae3bf7838dc66 Mon Sep 17 00:00:00 2001 From: Context Git Mirror Bot Date: Mon, 4 Jan 2016 16:15:08 +0100 Subject: 2016-01-04 15:49:00 --- doc/context/scripts/mkii/ctxtools.man | 2 +- doc/context/scripts/mkii/imgtopdf.man | 2 +- doc/context/scripts/mkii/mptopdf.man | 2 +- doc/context/scripts/mkii/pdftools.man | 2 +- doc/context/scripts/mkii/pstopdf.man | 2 +- doc/context/scripts/mkii/rlxtools.man | 2 +- doc/context/scripts/mkii/texexec.man | 2 +- doc/context/scripts/mkii/texmfstart.man | 2 +- doc/context/scripts/mkii/textools.man | 2 +- doc/context/scripts/mkii/texutil.man | 2 +- doc/context/scripts/mkii/tmftools.man | 2 +- doc/context/scripts/mkii/xmltools.man | 2 +- doc/context/scripts/mkiv/context.man | 2 +- doc/context/scripts/mkiv/luatools.man | 2 +- doc/context/scripts/mkiv/mtx-babel.man | 2 +- doc/context/scripts/mkiv/mtx-base.man | 2 +- doc/context/scripts/mkiv/mtx-bibtex.man | 2 +- doc/context/scripts/mkiv/mtx-cache.man | 2 +- doc/context/scripts/mkiv/mtx-chars.man | 2 +- doc/context/scripts/mkiv/mtx-check.man | 2 +- doc/context/scripts/mkiv/mtx-colors.man | 2 +- doc/context/scripts/mkiv/mtx-context.man | 2 +- doc/context/scripts/mkiv/mtx-epub.man | 2 +- doc/context/scripts/mkiv/mtx-fcd.man | 2 +- doc/context/scripts/mkiv/mtx-flac.man | 2 +- doc/context/scripts/mkiv/mtx-fonts.man | 2 +- doc/context/scripts/mkiv/mtx-grep.man | 2 +- doc/context/scripts/mkiv/mtx-interface.man | 2 +- doc/context/scripts/mkiv/mtx-metapost.man | 2 +- doc/context/scripts/mkiv/mtx-metatex.man | 2 +- doc/context/scripts/mkiv/mtx-modules.man | 2 +- doc/context/scripts/mkiv/mtx-package.man | 2 +- doc/context/scripts/mkiv/mtx-patterns.man | 2 +- doc/context/scripts/mkiv/mtx-pdf.man | 2 +- doc/context/scripts/mkiv/mtx-plain.man | 2 +- doc/context/scripts/mkiv/mtx-profile.man | 2 +- doc/context/scripts/mkiv/mtx-rsync.man | 2 +- doc/context/scripts/mkiv/mtx-scite.man | 2 +- doc/context/scripts/mkiv/mtx-server.man | 2 +- doc/context/scripts/mkiv/mtx-texworks.man | 2 +- doc/context/scripts/mkiv/mtx-timing.man | 2 +- doc/context/scripts/mkiv/mtx-tools.man | 2 +- doc/context/scripts/mkiv/mtx-unicode.man | 2 +- doc/context/scripts/mkiv/mtx-unzip.man | 2 +- doc/context/scripts/mkiv/mtx-update.man | 2 +- doc/context/scripts/mkiv/mtx-watch.man | 2 +- doc/context/scripts/mkiv/mtx-youless.man | 2 +- doc/context/scripts/mkiv/mtxrun.man | 2 +- tex/context/base/catc-ini.mkiv | 77 ++--- tex/context/base/cldf-ini.lua | 117 ++++++-- tex/context/base/colo-ini.mkiv | 8 - tex/context/base/cont-new.mkiv | 2 +- tex/context/base/context-version.pdf | Bin 4177 -> 4170 bytes tex/context/base/context.mkiv | 2 +- tex/context/base/core-env.mkiv | 18 ++ tex/context/base/font-dsp.lua | 10 +- tex/context/base/font-ini.mkvi | 2 - tex/context/base/font-otl.lua | 2 +- tex/context/base/font-otr.lua | 30 +- tex/context/base/font-ots.lua | 2 +- tex/context/base/lang-lab.mkiv | 8 - tex/context/base/lang-mis.mkiv | 327 ++++++++++----------- tex/context/base/math-fen.mkiv | 32 +- tex/context/base/math-frc.mkiv | 1 - tex/context/base/meta-ini.mkiv | 8 +- tex/context/base/node-aux.lua | 3 +- tex/context/base/node-rul.mkiv | 2 - tex/context/base/pack-box.mkiv | 1 - tex/context/base/pack-lyr.mkiv | 8 - tex/context/base/page-brk.mkiv | 4 - tex/context/base/page-imp.mkiv | 2 +- tex/context/base/page-lin.mkvi | 3 +- tex/context/base/page-otr.mkvi | 1 - tex/context/base/page-txt.mkvi | 2 - tex/context/base/spac-ali.mkiv | 17 +- tex/context/base/spac-hor.mkiv | 5 - tex/context/base/spac-ver.mkiv | 8 - tex/context/base/status-files.pdf | Bin 24355 -> 24371 bytes tex/context/base/status-lua.pdf | Bin 257777 -> 257802 bytes tex/context/base/strc-con.mkvi | 25 +- tex/context/base/strc-itm.mkvi | 4 - tex/context/base/strc-lst.lua | 23 +- tex/context/base/strc-not.mkvi | 68 ++--- tex/context/base/strc-ref.mkvi | 3 - tex/context/base/strc-sec.mkiv | 1 - tex/context/base/strc-syn.mkiv | 10 + tex/context/base/strc-tag.lua | 2 +- tex/context/base/supp-box.lua | 24 ++ tex/context/base/supp-box.mkiv | 5 +- tex/context/base/tabl-mis.mkiv | 3 +- tex/context/base/tabl-ntb.mkiv | 100 ------- tex/context/base/tabl-tab.mkiv | 8 +- tex/context/base/tabl-tbl.mkiv | 1 - tex/context/base/tabl-xtb.lua | 24 ++ tex/context/base/x-mathml.mkiv | 4 - tex/generic/context/luatex/luatex-fonts-merged.lua | 2 +- 96 files changed, 545 insertions(+), 560 deletions(-) diff --git a/doc/context/scripts/mkii/ctxtools.man b/doc/context/scripts/mkii/ctxtools.man index 38f10ef7c..a741aca56 100644 --- a/doc/context/scripts/mkii/ctxtools.man +++ b/doc/context/scripts/mkii/ctxtools.man @@ -1,4 +1,4 @@ -.TH "ctxtools" "1" "01-01-2015" "version 1.3.5" "CtxTools" +.TH "ctxtools" "1" "01-01-2016" "version 1.3.5" "CtxTools" .SH NAME .B ctxtools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/imgtopdf.man b/doc/context/scripts/mkii/imgtopdf.man index 864cf5a98..220cbd4a7 100644 --- a/doc/context/scripts/mkii/imgtopdf.man +++ b/doc/context/scripts/mkii/imgtopdf.man @@ -1,4 +1,4 @@ -.TH "imgtopdf" "1" "01-01-2015" "version 1.1.2" "ImgToPdf" +.TH "imgtopdf" "1" "01-01-2016" "version 1.1.2" "ImgToPdf" .SH NAME .B imgtopdf .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/mptopdf.man b/doc/context/scripts/mkii/mptopdf.man index 30197a9f2..908fba5ce 100644 --- a/doc/context/scripts/mkii/mptopdf.man +++ b/doc/context/scripts/mkii/mptopdf.man @@ -1,4 +1,4 @@ -.TH "mptopdf" "1" "01-01-2015" "version 1.4.1" "convert MetaPost figures to PDF" +.TH "mptopdf" "1" "01-01-2016" "version 1.4.1" "convert MetaPost figures to PDF" .SH NAME .B mptopdf .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/pdftools.man b/doc/context/scripts/mkii/pdftools.man index f63bf7e39..acb3b8c92 100644 --- a/doc/context/scripts/mkii/pdftools.man +++ b/doc/context/scripts/mkii/pdftools.man @@ -1,4 +1,4 @@ -.TH "pdftools" "1" "01-01-2015" "version 1.2.1" "PDFTools" +.TH "pdftools" "1" "01-01-2016" "version 1.2.1" "PDFTools" .SH NAME .B pdftools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/pstopdf.man b/doc/context/scripts/mkii/pstopdf.man index 8203e76cc..628903964 100644 --- a/doc/context/scripts/mkii/pstopdf.man +++ b/doc/context/scripts/mkii/pstopdf.man @@ -1,4 +1,4 @@ -.TH "pstopdf" "1" "01-01-2015" "version 2.0.1" "PStoPDF" +.TH "pstopdf" "1" "01-01-2016" "version 2.0.1" "PStoPDF" .SH NAME .B pstopdf .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/rlxtools.man b/doc/context/scripts/mkii/rlxtools.man index 58e7032d8..0810b3a35 100644 --- a/doc/context/scripts/mkii/rlxtools.man +++ b/doc/context/scripts/mkii/rlxtools.man @@ -1,4 +1,4 @@ -.TH "rlxtools" "1" "01-01-2015" "version 1.0.1" "RlxTools" +.TH "rlxtools" "1" "01-01-2016" "version 1.0.1" "RlxTools" .SH NAME .B rlxtools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/texexec.man b/doc/context/scripts/mkii/texexec.man index 841622bcd..a2c3325d0 100644 --- a/doc/context/scripts/mkii/texexec.man +++ b/doc/context/scripts/mkii/texexec.man @@ -1,4 +1,4 @@ -.TH "texexec" "1" "01-01-2015" "version 6.2.1" "TeXExec" +.TH "texexec" "1" "01-01-2016" "version 6.2.1" "TeXExec" .SH NAME .B texexec .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/texmfstart.man b/doc/context/scripts/mkii/texmfstart.man index 8a3a75b64..90a0f9152 100644 --- a/doc/context/scripts/mkii/texmfstart.man +++ b/doc/context/scripts/mkii/texmfstart.man @@ -1,4 +1,4 @@ -.TH "mtxrun" "1" "01-01-2015" "version 1.31" "ConTeXt TDS Runner Tool" +.TH "mtxrun" "1" "01-01-2016" "version 1.31" "ConTeXt TDS Runner Tool" .SH NAME .B mtxrun .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/textools.man b/doc/context/scripts/mkii/textools.man index c256969fd..17830ffae 100644 --- a/doc/context/scripts/mkii/textools.man +++ b/doc/context/scripts/mkii/textools.man @@ -1,4 +1,4 @@ -.TH "textools" "1" "01-01-2015" "version 1.3.1" "TeXTools" +.TH "textools" "1" "01-01-2016" "version 1.3.1" "TeXTools" .SH NAME .B textools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/texutil.man b/doc/context/scripts/mkii/texutil.man index c92f51a6f..c8062b7f6 100644 --- a/doc/context/scripts/mkii/texutil.man +++ b/doc/context/scripts/mkii/texutil.man @@ -1,4 +1,4 @@ -.TH "texutil" "1" "01-01-2015" "version 9.1.0" "TeXUtil" +.TH "texutil" "1" "01-01-2016" "version 9.1.0" "TeXUtil" .SH NAME .B texutil .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/tmftools.man b/doc/context/scripts/mkii/tmftools.man index 780efb7eb..f6c0d7dfe 100644 --- a/doc/context/scripts/mkii/tmftools.man +++ b/doc/context/scripts/mkii/tmftools.man @@ -1,4 +1,4 @@ -.TH "tmftools" "1" "01-01-2015" "version 1.1.0" "TMFTools" +.TH "tmftools" "1" "01-01-2016" "version 1.1.0" "TMFTools" .SH NAME .B tmftools .SH SYNOPSIS diff --git a/doc/context/scripts/mkii/xmltools.man b/doc/context/scripts/mkii/xmltools.man index d43cc1a03..7596f20ac 100644 --- a/doc/context/scripts/mkii/xmltools.man +++ b/doc/context/scripts/mkii/xmltools.man @@ -1,4 +1,4 @@ -.TH "xmltools" "1" "01-01-2015" "version 1.2.2" "XMLTools" +.TH "xmltools" "1" "01-01-2016" "version 1.2.2" "XMLTools" .SH NAME .B xmltools .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/context.man b/doc/context/scripts/mkiv/context.man index e2bfa2f1e..5784fee83 100644 --- a/doc/context/scripts/mkiv/context.man +++ b/doc/context/scripts/mkiv/context.man @@ -1,4 +1,4 @@ -.TH "mtx-context" "1" "01-01-2015" "version 0.62" "ConTeXt Process Management" +.TH "mtx-context" "1" "01-01-2016" "version 0.62" "ConTeXt Process Management" .SH NAME .B mtx-context .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/luatools.man b/doc/context/scripts/mkiv/luatools.man index ecdd6aa32..bcf7fb514 100644 --- a/doc/context/scripts/mkiv/luatools.man +++ b/doc/context/scripts/mkiv/luatools.man @@ -1,4 +1,4 @@ -.TH "luatools" "1" "01-01-2015" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)" +.TH "luatools" "1" "01-01-2016" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)" .SH NAME .B luatools .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-babel.man b/doc/context/scripts/mkiv/mtx-babel.man index 8477eb522..a0a3f312f 100644 --- a/doc/context/scripts/mkiv/mtx-babel.man +++ b/doc/context/scripts/mkiv/mtx-babel.man @@ -1,4 +1,4 @@ -.TH "mtx-babel" "1" "01-01-2015" "version 1.20" "Babel Input To UTF Conversion" +.TH "mtx-babel" "1" "01-01-2016" "version 1.20" "Babel Input To UTF Conversion" .SH NAME .B mtx-babel .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-base.man b/doc/context/scripts/mkiv/mtx-base.man index 08e13b09d..fdd239c68 100644 --- a/doc/context/scripts/mkiv/mtx-base.man +++ b/doc/context/scripts/mkiv/mtx-base.man @@ -1,4 +1,4 @@ -.TH "mtx-base" "1" "01-01-2015" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)" +.TH "mtx-base" "1" "01-01-2016" "version 1.35" "ConTeXt TDS Management Tool (aka luatools)" .SH NAME .B mtx-base .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-bibtex.man b/doc/context/scripts/mkiv/mtx-bibtex.man index ddd3cfbc5..7fdb304a5 100644 --- a/doc/context/scripts/mkiv/mtx-bibtex.man +++ b/doc/context/scripts/mkiv/mtx-bibtex.man @@ -1,4 +1,4 @@ -.TH "mtx-bibtex" "1" "01-01-2015" "version 1.00" "bibtex helpers" +.TH "mtx-bibtex" "1" "01-01-2016" "version 1.00" "bibtex helpers" .SH NAME .B mtx-bibtex .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-cache.man b/doc/context/scripts/mkiv/mtx-cache.man index cc448a5c8..91c9aa45e 100644 --- a/doc/context/scripts/mkiv/mtx-cache.man +++ b/doc/context/scripts/mkiv/mtx-cache.man @@ -1,4 +1,4 @@ -.TH "mtx-cache" "1" "01-01-2015" "version 0.10" "ConTeXt & MetaTeX Cache Management" +.TH "mtx-cache" "1" "01-01-2016" "version 0.10" "ConTeXt & MetaTeX Cache Management" .SH NAME .B mtx-cache .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-chars.man b/doc/context/scripts/mkiv/mtx-chars.man index 5c9d79bb3..f05536430 100644 --- a/doc/context/scripts/mkiv/mtx-chars.man +++ b/doc/context/scripts/mkiv/mtx-chars.man @@ -1,4 +1,4 @@ -.TH "mtx-chars" "1" "01-01-2015" "version 0.10" "MkII Character Table Generators" +.TH "mtx-chars" "1" "01-01-2016" "version 0.10" "MkII Character Table Generators" .SH NAME .B mtx-chars .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-check.man b/doc/context/scripts/mkiv/mtx-check.man index ca18bc1a6..85a352d04 100644 --- a/doc/context/scripts/mkiv/mtx-check.man +++ b/doc/context/scripts/mkiv/mtx-check.man @@ -1,4 +1,4 @@ -.TH "mtx-check" "1" "01-01-2015" "version 0.10" "Basic ConTeXt Syntax Checking" +.TH "mtx-check" "1" "01-01-2016" "version 0.10" "Basic ConTeXt Syntax Checking" .SH NAME .B mtx-check .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-colors.man b/doc/context/scripts/mkiv/mtx-colors.man index a969e474c..9d1de2b35 100644 --- a/doc/context/scripts/mkiv/mtx-colors.man +++ b/doc/context/scripts/mkiv/mtx-colors.man @@ -1,4 +1,4 @@ -.TH "mtx-colors" "1" "01-01-2015" "version 0.10" "ConTeXt Color Management" +.TH "mtx-colors" "1" "01-01-2016" "version 0.10" "ConTeXt Color Management" .SH NAME .B mtx-colors .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-context.man b/doc/context/scripts/mkiv/mtx-context.man index e2bfa2f1e..5784fee83 100644 --- a/doc/context/scripts/mkiv/mtx-context.man +++ b/doc/context/scripts/mkiv/mtx-context.man @@ -1,4 +1,4 @@ -.TH "mtx-context" "1" "01-01-2015" "version 0.62" "ConTeXt Process Management" +.TH "mtx-context" "1" "01-01-2016" "version 0.62" "ConTeXt Process Management" .SH NAME .B mtx-context .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-epub.man b/doc/context/scripts/mkiv/mtx-epub.man index bb33c23df..f40501270 100644 --- a/doc/context/scripts/mkiv/mtx-epub.man +++ b/doc/context/scripts/mkiv/mtx-epub.man @@ -1,4 +1,4 @@ -.TH "mtx-epub" "1" "01-01-2015" "version 1.10" "ConTeXt EPUB Helpers" +.TH "mtx-epub" "1" "01-01-2016" "version 1.10" "ConTeXt EPUB Helpers" .SH NAME .B mtx-epub .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-fcd.man b/doc/context/scripts/mkiv/mtx-fcd.man index 311f90e4a..80d8670e4 100644 --- a/doc/context/scripts/mkiv/mtx-fcd.man +++ b/doc/context/scripts/mkiv/mtx-fcd.man @@ -1,4 +1,4 @@ -.TH "mtx-fcd" "1" "01-01-2015" "version 1.00" "Fast Directory Change" +.TH "mtx-fcd" "1" "01-01-2016" "version 1.00" "Fast Directory Change" .SH NAME .B mtx-fcd .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-flac.man b/doc/context/scripts/mkiv/mtx-flac.man index 4ab875899..693cb71ed 100644 --- a/doc/context/scripts/mkiv/mtx-flac.man +++ b/doc/context/scripts/mkiv/mtx-flac.man @@ -1,4 +1,4 @@ -.TH "mtx-flac" "1" "01-01-2015" "version 0.10" "ConTeXt Flac Helpers" +.TH "mtx-flac" "1" "01-01-2016" "version 0.10" "ConTeXt Flac Helpers" .SH NAME .B mtx-flac .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-fonts.man b/doc/context/scripts/mkiv/mtx-fonts.man index 21cb63411..0a2b4dbf9 100644 --- a/doc/context/scripts/mkiv/mtx-fonts.man +++ b/doc/context/scripts/mkiv/mtx-fonts.man @@ -1,4 +1,4 @@ -.TH "mtx-fonts" "1" "01-01-2015" "version 0.21" "ConTeXt Font Database Management" +.TH "mtx-fonts" "1" "01-01-2016" "version 0.21" "ConTeXt Font Database Management" .SH NAME .B mtx-fonts .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-grep.man b/doc/context/scripts/mkiv/mtx-grep.man index 6b85f541f..2a3d30316 100644 --- a/doc/context/scripts/mkiv/mtx-grep.man +++ b/doc/context/scripts/mkiv/mtx-grep.man @@ -1,4 +1,4 @@ -.TH "mtx-grep" "1" "01-01-2015" "version 0.10" "Simple Grepper" +.TH "mtx-grep" "1" "01-01-2016" "version 0.10" "Simple Grepper" .SH NAME .B mtx-grep .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-interface.man b/doc/context/scripts/mkiv/mtx-interface.man index 36bf8bc13..77085306b 100644 --- a/doc/context/scripts/mkiv/mtx-interface.man +++ b/doc/context/scripts/mkiv/mtx-interface.man @@ -1,4 +1,4 @@ -.TH "mtx-interface" "1" "01-01-2015" "version 0.13" "ConTeXt Interface Related Goodies" +.TH "mtx-interface" "1" "01-01-2016" "version 0.13" "ConTeXt Interface Related Goodies" .SH NAME .B mtx-interface .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-metapost.man b/doc/context/scripts/mkiv/mtx-metapost.man index 37b1b7c9f..ca712c7f8 100644 --- a/doc/context/scripts/mkiv/mtx-metapost.man +++ b/doc/context/scripts/mkiv/mtx-metapost.man @@ -1,4 +1,4 @@ -.TH "mtx-metapost" "1" "01-01-2015" "version 0.10" "MetaPost to PDF processor" +.TH "mtx-metapost" "1" "01-01-2016" "version 0.10" "MetaPost to PDF processor" .SH NAME .B mtx-metapost .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-metatex.man b/doc/context/scripts/mkiv/mtx-metatex.man index 72635044f..68e090031 100644 --- a/doc/context/scripts/mkiv/mtx-metatex.man +++ b/doc/context/scripts/mkiv/mtx-metatex.man @@ -1,4 +1,4 @@ -.TH "mtx-metatex" "1" "01-01-2015" "version 0.10" "MetaTeX Process Management" +.TH "mtx-metatex" "1" "01-01-2016" "version 0.10" "MetaTeX Process Management" .SH NAME .B mtx-metatex .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-modules.man b/doc/context/scripts/mkiv/mtx-modules.man index a51a1b00e..1e1e34fc2 100644 --- a/doc/context/scripts/mkiv/mtx-modules.man +++ b/doc/context/scripts/mkiv/mtx-modules.man @@ -1,4 +1,4 @@ -.TH "mtx-modules" "1" "01-01-2015" "version 1.00" "ConTeXt Module Documentation Generators" +.TH "mtx-modules" "1" "01-01-2016" "version 1.00" "ConTeXt Module Documentation Generators" .SH NAME .B mtx-modules .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-package.man b/doc/context/scripts/mkiv/mtx-package.man index 83c140f35..dfd8d21f0 100644 --- a/doc/context/scripts/mkiv/mtx-package.man +++ b/doc/context/scripts/mkiv/mtx-package.man @@ -1,4 +1,4 @@ -.TH "mtx-package" "1" "01-01-2015" "version 0.10" "Distribution Related Goodies" +.TH "mtx-package" "1" "01-01-2016" "version 0.10" "Distribution Related Goodies" .SH NAME .B mtx-package .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-patterns.man b/doc/context/scripts/mkiv/mtx-patterns.man index e93c1aff0..fd0088cca 100644 --- a/doc/context/scripts/mkiv/mtx-patterns.man +++ b/doc/context/scripts/mkiv/mtx-patterns.man @@ -1,4 +1,4 @@ -.TH "mtx-patterns" "1" "01-01-2015" "version 0.20" "ConTeXt Pattern File Management" +.TH "mtx-patterns" "1" "01-01-2016" "version 0.20" "ConTeXt Pattern File Management" .SH NAME .B mtx-patterns .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-pdf.man b/doc/context/scripts/mkiv/mtx-pdf.man index 29b5ad420..60fa91e50 100644 --- a/doc/context/scripts/mkiv/mtx-pdf.man +++ b/doc/context/scripts/mkiv/mtx-pdf.man @@ -1,4 +1,4 @@ -.TH "mtx-pdf" "1" "01-01-2015" "version 0.10" "ConTeXt PDF Helpers" +.TH "mtx-pdf" "1" "01-01-2016" "version 0.10" "ConTeXt PDF Helpers" .SH NAME .B mtx-pdf .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-plain.man b/doc/context/scripts/mkiv/mtx-plain.man index c2e0e0bd9..174402377 100644 --- a/doc/context/scripts/mkiv/mtx-plain.man +++ b/doc/context/scripts/mkiv/mtx-plain.man @@ -1,4 +1,4 @@ -.TH "mtx-plain" "1" "01-01-2015" "version 1.00" "Plain TeX Runner" +.TH "mtx-plain" "1" "01-01-2016" "version 1.00" "Plain TeX Runner" .SH NAME .B mtx-plain .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-profile.man b/doc/context/scripts/mkiv/mtx-profile.man index 6aa8e2087..d09563415 100644 --- a/doc/context/scripts/mkiv/mtx-profile.man +++ b/doc/context/scripts/mkiv/mtx-profile.man @@ -1,4 +1,4 @@ -.TH "mtx-profile" "1" "01-01-2015" "version 1.00" "ConTeXt MkIV LuaTeX Profiler" +.TH "mtx-profile" "1" "01-01-2016" "version 1.00" "ConTeXt MkIV LuaTeX Profiler" .SH NAME .B mtx-profile .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-rsync.man b/doc/context/scripts/mkiv/mtx-rsync.man index 195b6b0f0..7297ace50 100644 --- a/doc/context/scripts/mkiv/mtx-rsync.man +++ b/doc/context/scripts/mkiv/mtx-rsync.man @@ -1,4 +1,4 @@ -.TH "mtx-rsync" "1" "01-01-2015" "version 0.10" "Rsync Helpers" +.TH "mtx-rsync" "1" "01-01-2016" "version 0.10" "Rsync Helpers" .SH NAME .B mtx-rsync .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-scite.man b/doc/context/scripts/mkiv/mtx-scite.man index cbaed08d1..f88d4b016 100644 --- a/doc/context/scripts/mkiv/mtx-scite.man +++ b/doc/context/scripts/mkiv/mtx-scite.man @@ -1,4 +1,4 @@ -.TH "mtx-scite" "1" "01-01-2015" "version 1.00" "Scite Helper Script" +.TH "mtx-scite" "1" "01-01-2016" "version 1.00" "Scite Helper Script" .SH NAME .B mtx-scite .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-server.man b/doc/context/scripts/mkiv/mtx-server.man index f3d3ae6e4..3c115c0c1 100644 --- a/doc/context/scripts/mkiv/mtx-server.man +++ b/doc/context/scripts/mkiv/mtx-server.man @@ -1,4 +1,4 @@ -.TH "mtx-server" "1" "01-01-2015" "version 0.10" "Simple Webserver For Helpers" +.TH "mtx-server" "1" "01-01-2016" "version 0.10" "Simple Webserver For Helpers" .SH NAME .B mtx-server .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-texworks.man b/doc/context/scripts/mkiv/mtx-texworks.man index b9cc2ed98..1422b802a 100644 --- a/doc/context/scripts/mkiv/mtx-texworks.man +++ b/doc/context/scripts/mkiv/mtx-texworks.man @@ -1,4 +1,4 @@ -.TH "mtx-texworks" "1" "01-01-2015" "version 1.00" "TeXworks Startup Script" +.TH "mtx-texworks" "1" "01-01-2016" "version 1.00" "TeXworks Startup Script" .SH NAME .B mtx-texworks .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-timing.man b/doc/context/scripts/mkiv/mtx-timing.man index 2f7584f3d..9a5b98790 100644 --- a/doc/context/scripts/mkiv/mtx-timing.man +++ b/doc/context/scripts/mkiv/mtx-timing.man @@ -1,4 +1,4 @@ -.TH "mtx-timing" "1" "01-01-2015" "version 0.10" "ConTeXt Timing Tools" +.TH "mtx-timing" "1" "01-01-2016" "version 0.10" "ConTeXt Timing Tools" .SH NAME .B mtx-timing .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-tools.man b/doc/context/scripts/mkiv/mtx-tools.man index 408d467cd..b828f48d0 100644 --- a/doc/context/scripts/mkiv/mtx-tools.man +++ b/doc/context/scripts/mkiv/mtx-tools.man @@ -1,4 +1,4 @@ -.TH "mtx-tools" "1" "01-01-2015" "version 1.01" "Some File Related Goodies" +.TH "mtx-tools" "1" "01-01-2016" "version 1.01" "Some File Related Goodies" .SH NAME .B mtx-tools .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-unicode.man b/doc/context/scripts/mkiv/mtx-unicode.man index 367738025..4f520b9b8 100644 --- a/doc/context/scripts/mkiv/mtx-unicode.man +++ b/doc/context/scripts/mkiv/mtx-unicode.man @@ -1,4 +1,4 @@ -.TH "mtx-unicode" "1" "01-01-2015" "version 1.02" "Checker for char-dat.lua" +.TH "mtx-unicode" "1" "01-01-2016" "version 1.02" "Checker for char-dat.lua" .SH NAME .B mtx-unicode .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-unzip.man b/doc/context/scripts/mkiv/mtx-unzip.man index d9e2c8447..548ca1dc3 100644 --- a/doc/context/scripts/mkiv/mtx-unzip.man +++ b/doc/context/scripts/mkiv/mtx-unzip.man @@ -1,4 +1,4 @@ -.TH "mtx-unzip" "1" "01-01-2015" "version 0.10" "Simple Unzipper" +.TH "mtx-unzip" "1" "01-01-2016" "version 0.10" "Simple Unzipper" .SH NAME .B mtx-unzip .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-update.man b/doc/context/scripts/mkiv/mtx-update.man index 0e3dbcc77..3a3ca6ae8 100644 --- a/doc/context/scripts/mkiv/mtx-update.man +++ b/doc/context/scripts/mkiv/mtx-update.man @@ -1,4 +1,4 @@ -.TH "mtx-update" "1" "01-01-2015" "version 1.02" "ConTeXt Minimals Updater" +.TH "mtx-update" "1" "01-01-2016" "version 1.02" "ConTeXt Minimals Updater" .SH NAME .B mtx-update .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-watch.man b/doc/context/scripts/mkiv/mtx-watch.man index d8fab3acd..1fcb090d0 100644 --- a/doc/context/scripts/mkiv/mtx-watch.man +++ b/doc/context/scripts/mkiv/mtx-watch.man @@ -1,4 +1,4 @@ -.TH "mtx-watch" "1" "01-01-2015" "version 1.00" "ConTeXt Request Watchdog" +.TH "mtx-watch" "1" "01-01-2016" "version 1.00" "ConTeXt Request Watchdog" .SH NAME .B mtx-watch .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtx-youless.man b/doc/context/scripts/mkiv/mtx-youless.man index 2703ec34f..d360430bd 100644 --- a/doc/context/scripts/mkiv/mtx-youless.man +++ b/doc/context/scripts/mkiv/mtx-youless.man @@ -1,4 +1,4 @@ -.TH "mtx-youless" "1" "01-01-2015" "version 1.00" "youless Fetcher" +.TH "mtx-youless" "1" "01-01-2016" "version 1.00" "youless Fetcher" .SH NAME .B mtx-youless .SH SYNOPSIS diff --git a/doc/context/scripts/mkiv/mtxrun.man b/doc/context/scripts/mkiv/mtxrun.man index 8a3a75b64..90a0f9152 100644 --- a/doc/context/scripts/mkiv/mtxrun.man +++ b/doc/context/scripts/mkiv/mtxrun.man @@ -1,4 +1,4 @@ -.TH "mtxrun" "1" "01-01-2015" "version 1.31" "ConTeXt TDS Runner Tool" +.TH "mtxrun" "1" "01-01-2016" "version 1.31" "ConTeXt TDS Runner Tool" .SH NAME .B mtxrun .SH SYNOPSIS diff --git a/tex/context/base/catc-ini.mkiv b/tex/context/base/catc-ini.mkiv index 05bc3f76f..26cf17edf 100644 --- a/tex/context/base/catc-ini.mkiv +++ b/tex/context/base/catc-ini.mkiv @@ -18,10 +18,10 @@ \unprotect -%D A long standing wish has been the availability of catcode -%D arrays. Because traditional \TEX\ does not provide this we -%D implement a fake method in the \MKII\ file. There is some -%D overlap in code with \MKII\ but we take that for granted. +%D A long standing wish has been the availability of catcode arrays. Because +%D traditional \TEX\ does not provide this we implement a fake method in the +%D \MKII\ file. There is some overlap in code with \MKII\ but we take that +%D for granted. Also, in \MKIV\ less active characters are used. \setnewconstant\escapecatcode 0 \setnewconstant\begingroupcatcode 1 @@ -82,7 +82,7 @@ % rather special and used in writing to file: \let\par\outputnewlinechar -\def\initializenewlinechar % operating system dependent +\normalprotected\def\initializenewlinechar % operating system dependent {\begingroup \newlinechar\newlineasciicode \xdef\outputnewlinechar{^^J}% @@ -163,16 +163,15 @@ % \catcodetable\scratchcounter % \egroup} -%D The next command can be defined in a cleaner way in the -%D Mk IV file but we want to have a fast one with a minimal -%D chance for interference. Do we still need this complex -%D mechanism? Future versions of \MKIV\ might only use +%D The next command can be defined in a cleaner way in the MkIV way but we want +%D to have a fast one with a minimal chance for interference. Do we still need +%D this complex mechanism? Probably not. Future versions of \MKIV\ might only use %D active characters for very special cases. \setnewconstant\c_syst_catcodes_hack\tildeasciicode -%D Once a catcode is assigned, the next assignments will happen -%D faster. +%D Once a catcode is assigned, the next assignments will happen faster. However, +%D redefinitions probably happen seldom so it's sort of overkill. \def\letcatcodecommand{\afterassignment\syst_catcodes_let_a\c_syst_catcodes_a} \def\defcatcodecommand{\afterassignment\syst_catcodes_def_a\c_syst_catcodes_a} @@ -184,7 +183,6 @@ \def\syst_catcodes_let_b % each time {\ifcsname\??catcodelet\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\endcsname - %\csname\??catcodelet\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname \expandafter\lastnamedcs \else \expandafter\syst_catcodes_let_c @@ -192,7 +190,6 @@ \def\syst_catcodes_def_b % each time {\ifcsname\??catcodedef\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\endcsname - %\csname\??catcodedef\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname \expandafter\lastnamedcs \else \expandafter\syst_catcodes_def_c @@ -200,7 +197,6 @@ \def\syst_catcodes_ued_b % each time {\ifcsname\??catcodeued\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\endcsname - %\csname\??catcodeued\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname \expandafter\lastnamedcs \else \expandafter\syst_catcodes_ued_c @@ -212,7 +208,6 @@ \syst_catcodes_reinstate_unexpanded \csname\??catcodelet\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\endcsname} - \def\syst_catcodes_def_c % only first time (we could use \normalexpanded here) {\expandafter\gdef\csname\??catcodedef\number\c_syst_catcodes_a:\number\c_syst_catcodes_b\expandafter\endcsname \expandafter##\expandafter1\expandafter @@ -229,18 +224,33 @@ \def\reinstatecatcodecommand{\afterassignment\syst_catcodes_reinstate_normal\c_syst_catcodes_b} -\def\syst_catcodes_reinstate_normal % can be used when a direct definition has been done - {\begingroup % and the selector has been lost - \uccode\c_syst_catcodes_hack\c_syst_catcodes_b - \catcode\uccode\c_syst_catcodes_hack\activecatcode - \uppercase{\xdef~{\noexpand\catcodecommand{\number\c_syst_catcodes_b}}}% +% \def\syst_catcodes_reinstate_normal % can be used when a direct definition has been done +% {\begingroup % and the selector has been lost +% \uccode\c_syst_catcodes_hack\c_syst_catcodes_b +% \catcode\uccode\c_syst_catcodes_hack\activecatcode +% \uppercase{\xdef~{\noexpand\catcodecommand{\number\c_syst_catcodes_b}}}% +% \endgroup} + +% \def\syst_catcodes_reinstate_unexpanded % can be used when a direct definition has been done +% {\begingroup % and the selector has been lost +% \uccode\c_syst_catcodes_hack\c_syst_catcodes_b +% \catcode\uccode\c_syst_catcodes_hack\activecatcode +% \uppercase{\normalprotected\xdef~{\noexpand\catcodecommand{\number\c_syst_catcodes_b}}}% +% \endgroup} + +%D This can be used when a direct definition has been done and the selector has been +%D lost. + +\def\syst_catcodes_reinstate_normal + {\begingroup + \edef\next{\noexpand\catcodecommand{\number\c_syst_catcodes_b}}% + \global\letcharcode\c_syst_catcodes_b\next \endgroup} -\def\syst_catcodes_reinstate_unexpanded % can be used when a direct definition has been done - {\begingroup % and the selector has been lost - \uccode\c_syst_catcodes_hack\c_syst_catcodes_b - \catcode\uccode\c_syst_catcodes_hack\activecatcode - \uppercase{\normalprotected\xdef~{\noexpand\catcodecommand{\number\c_syst_catcodes_b}}}% +\def\syst_catcodes_reinstate_unexpanded + {\begingroup + \normalprotected\edef\next{\noexpand\catcodecommand{\number\c_syst_catcodes_b}}% + \global\letcharcode\c_syst_catcodes_b\next \endgroup} \newconstant\defaultcatcodetable @@ -255,15 +265,14 @@ %D \macros %D {restorecatcodes,pushcatcodetable,popcatcodetable} %D -%D We're not finished dealing \CATCODES\ yet. In \CONTEXT\ we -%D use only one auxiliary file, which deals with tables of -%D contents, registers, two pass tracking, references etc. This -%D file, as well as files concerning graphics, is processed when -%D needed, which can be in the mid of typesetting verbatim. -%D However, when reading in data in verbatim mode, we should -%D temporary restore the normal \CATCODES, and that's exactly -%D what the next macros do. Saving the catcodes can be -%D disabled by saying \type{\localcatcodestrue}. +%D We're not finished dealing \CATCODES\ yet. In \CONTEXT\ we use only one auxiliary +%D file, which deals with tables of contents, registers, two pass tracking, references +%D etc. This file, as well as files concerning graphics, is processed when needed, +%D which can be in the mid of typesetting verbatim. However, when reading in data in +%D verbatim mode, we should temporary restore the normal \CATCODES, and that's exactly +%D what the next macros do. Saving the catcodes can be disabled by saying \type +%D {\localcatcodestrue}. In \MKIV\ instead we can push and pop catcode tables and as +%D we keep track of used tables users seldom need to deal with this themselves. \newcount\c_syst_catcodes_level diff --git a/tex/context/base/cldf-ini.lua b/tex/context/base/cldf-ini.lua index 7d904282f..e3ec5268a 100644 --- a/tex/context/base/cldf-ini.lua +++ b/tex/context/base/cldf-ini.lua @@ -40,7 +40,7 @@ if not modules then modules = { } end modules ['cldf-ini'] = { -- context(string.formatters["%!tex!"]("${}")) -- context("%!tex!","${}") -local format, validstring, stripstring = string.format, string.valid, string.strip +local format, stripstring = string.format, string.strip local next, type, tostring, tonumber, setmetatable, unpack, select, rawset = next, type, tostring, tonumber, setmetatable, unpack, select, rawset local insert, remove, concat = table.insert, table.remove, table.concat local lpegmatch, lpegC, lpegS, lpegP, lpegV, lpegCc, lpegCs, patterns = lpeg.match, lpeg.C, lpeg.S, lpeg.P, lpeg.V, lpeg.Cc, lpeg.Cs, lpeg.patterns @@ -57,12 +57,15 @@ local interfaces = interfaces local loaddata = io.loaddata local tex = tex -local texsprint = tex.sprint -local texprint = tex.print -local texwrite = tex.write +local texsprint = tex.sprint -- just appended (no space,eol treatment) +local texprint = tex.print -- each arg a separate line (not last in directlua) +----- texwrite = tex.write -- all 'space' and 'character' local texgetcount = tex.getcount -local isnode = node.is_node -- after 0.65 just node.type +-- local function texsprint(...) print("sprint",...) tex.sprint(...) end +-- local function texprint (...) print("print", ...) tex.print (...) end + +local isnode = node.is_node local writenode = node.write local copynodelist = node.copy_list @@ -75,9 +78,9 @@ local txtcatcodes = catcodenumbers.txtcatcodes local vrbcatcodes = catcodenumbers.vrbcatcodes local xmlcatcodes = catcodenumbers.xmlcatcodes -local flush = texsprint -local flushdirect = texprint -local flushraw = texwrite +local flush = texsprint -- snippets +local flushdirect = texprint -- lines +----- flushraw = texwrite local report_context = logs.reporter("cld","tex") local report_cld = logs.reporter("cld","stack") @@ -677,20 +680,6 @@ function context.printlines(str,raw) -- todo: see if via file is useable end end --- This is the most reliable way to deal with nested buffers and other --- catcode sensitive data. - -local methodhandler = resolvers.methodhandler - -function context.viafile(data,tag) - if data and data ~= "" then - local filename = resolvers.savers.byscheme("virtual",validstring(tag,"viafile"),data) - -- context.startregime { "utf" } - context.input(filename) - -- context.stopregime() - end -end - -- -- -- "{" .. ti .. "}" is somewhat slower in a cld-mkiv run than "{",ti,"}" local containseol = patterns.containseol @@ -1196,7 +1185,7 @@ local trace_stack = { } local normalflush = flush local normalflushdirect = flushdirect -local normalflushraw = flushraw +----- normalflushraw = flushraw local normalwriter = writer local currenttrace = nil local nofwriters = 0 @@ -1349,6 +1338,88 @@ end local trace_cld = false trackers.register("context.files", function(v) trace_cld = v end) +do + + -- This is the most reliable way to deal with nested buffers and other + -- catcode sensitive data. + + local resolve = resolvers.savers.byscheme + local validstring = string.valid + local input = context.input + + local function viafile(data,tag) + if data and data ~= "" then + local filename = resolve("virtual",validstring(tag,"viafile"),data) + -- context.startregime { "utf" } + context.input(filename) + -- context.stopregime() + end + end + + context.viafile = viafile + + -- experiment for xtables, don't use it elsewhere yet + + local collected = nil + local nofcollected = 0 + local sentinel = string.char(26) -- endoffileasciicode : ignorecatcode + local level = 0 + + local function collect(c,...) -- can be optimized + -- snippets + for i=1,select("#",...) do + nofcollected = nofcollected + 1 + collected[nofcollected] = (select(i,...)) + end + end + + -- local function collectdirect(c,...) -- can be optimized + -- -- lines + -- for i=1,select("#",...) do + -- n = n + 1 + -- t[n] = (select(i,...)) + -- n = n + 1 + -- t[n] = "\r" + -- end + -- end + + local collectdirect = collect + + function context.startcollecting() + if level == 0 then + collected = { } + nofcollected = 0 + -- + flush = collect + flushdirect = collectdirect + -- + context.__flush = flush + context.__flushdirect = flushdirect + end + level = level + 1 + end + + function context.stopcollecting() + level = level - 1 + if level < 1 then + flush = normalflush + flushdirect = normalflushdirect + -- + context.__flush = flush + context.__flushdirect = flushdirect + -- + viafile(concat(collected,sentinel)) + -- + collected = nil + nofcollected = 0 + level = 0 + end + end + +end + +-- + function context.runfile(filename) local foundname = resolvers.findtexfile(file.addsuffix(filename,"cld")) or "" if foundname ~= "" then diff --git a/tex/context/base/colo-ini.mkiv b/tex/context/base/colo-ini.mkiv index cc698e3c0..0f8d9b662 100644 --- a/tex/context/base/colo-ini.mkiv +++ b/tex/context/base/colo-ini.mkiv @@ -621,18 +621,15 @@ \def\colo_helpers_fast_activate_yes#1% {\ifcsname\??colorsetter\currentcolorprefix#1\endcsname - %\csname\??colorsetter\currentcolorprefix#1\endcsname \lastnamedcs \csname\??transparencysetter\currentcolorprefix#1\endcsname \else\ifcsname\??colorsetter#1\endcsname - %\csname\??colorsetter#1\endcsname \lastnamedcs \csname\??transparencysetter#1\endcsname \fi\fi} \def\colo_helpers_fast_activate_nop#1% {\ifcsname\??colorsetter#1\endcsname - %\csname\??colorsetter#1\endcsname \lastnamedcs \csname\??transparencysetter#1\endcsname \fi} @@ -651,11 +648,9 @@ \def\colo_helpers_activate_yes#1% {\edef\currentcolorname{#1}% \ifcsname\??colorsetter\currentcolorprefix\currentcolorname\endcsname - %\csname\??colorsetter\currentcolorprefix\currentcolorname\endcsname \lastnamedcs \csname\??transparencysetter\currentcolorprefix\currentcolorname\endcsname \else\ifcsname\??colorsetter\currentcolorname\endcsname - %\csname\??colorsetter\currentcolorname\endcsname \lastnamedcs \csname\??transparencysetter\currentcolorname\endcsname \fi\fi} @@ -663,7 +658,6 @@ \def\colo_helpers_activate_nop#1% {\edef\currentcolorname{#1}% \ifcsname\??colorsetter\currentcolorname\endcsname - %\csname\??colorsetter\currentcolorname\endcsname \lastnamedcs \csname\??transparencysetter\currentcolorname\endcsname \fi} @@ -682,11 +676,9 @@ \unexpanded\def\dousecurrentcolorparameter {\let\currentcolorname\currentcolorparameter % maybe only when success \ifcsname\??colorsetter\currentcolorprefix\currentcolorparameter\endcsname - %\csname\??colorsetter\currentcolorprefix\currentcolorparameter\endcsname \lastnamedcs \csname\??transparencysetter\currentcolorprefix\currentcolorparameter\endcsname \else\ifcsname\??colorsetter\currentcolorparameter\endcsname - %\csname\??colorsetter\currentcolorparameter\endcsname \lastnamedcs \csname\??transparencysetter\currentcolorparameter\endcsname \fi\fi} diff --git a/tex/context/base/cont-new.mkiv b/tex/context/base/cont-new.mkiv index 925100a29..01512d912 100644 --- a/tex/context/base/cont-new.mkiv +++ b/tex/context/base/cont-new.mkiv @@ -11,7 +11,7 @@ %C therefore copyrighted by \PRAGMA. See mreadme.pdf for %C details. -\newcontextversion{2015.12.31 16:49} +\newcontextversion{2016.01.04 15:47} %D This file is loaded at runtime, thereby providing an excellent place for %D hacks, patches, extensions and new features. diff --git a/tex/context/base/context-version.pdf b/tex/context/base/context-version.pdf index e2154f19f..afdfcd136 100644 Binary files a/tex/context/base/context-version.pdf and b/tex/context/base/context-version.pdf differ diff --git a/tex/context/base/context.mkiv b/tex/context/base/context.mkiv index b29fc9b11..dd0020994 100644 --- a/tex/context/base/context.mkiv +++ b/tex/context/base/context.mkiv @@ -39,7 +39,7 @@ %D up and the dependencies are more consistent. \edef\contextformat {\jobname} -\edef\contextversion{2015.12.31 16:49} +\edef\contextversion{2016.01.04 15:47} \edef\contextkind {beta} %D For those who want to use this: diff --git a/tex/context/base/core-env.mkiv b/tex/context/base/core-env.mkiv index 3d12a8944..47ae35d2e 100644 --- a/tex/context/base/core-env.mkiv +++ b/tex/context/base/core-env.mkiv @@ -504,6 +504,24 @@ \expandafter\firstofoneargument \fi} +% maybe some day: +% +% \unexpanded\def\fastsetupfallback#1#2% +% {\ifcsname\??setup:#1\endcsname +% \expandafter\lastnamedcs +% \else +% \csname\??setup:#2\expandafter\endcsname +% \fi} +% +% or +% +% \unexpanded\def\fastsetupfallback#1#2#3% prefix preferred fallback +% {\ifcsname\??setup:#1#2\endcsname +% \expandafter\lastnamedcs +% \else +% \csname\??setup:#1#3\expandafter\endcsname +% \fi} + % \startluasetups oeps % context("DONE") % a = 1 diff --git a/tex/context/base/font-dsp.lua b/tex/context/base/font-dsp.lua index 05420f8d6..93c961536 100644 --- a/tex/context/base/font-dsp.lua +++ b/tex/context/base/font-dsp.lua @@ -1618,6 +1618,7 @@ do elseif not next(rlookups) then local name = sequence.name if not reported[name] then + -- can be ok as it aborts a chain sequence report("rule %i in %s lookup %a has %s lookups",i,what,name,"empty") reported[name] = true end @@ -1657,9 +1658,12 @@ do end for i, n in sortedhash(sublookupcheck) do - local t = lookups[i].type + local l = lookups[i] + local t = l.type if n == 0 and t ~= "extension" then - report("%s lookup %i of type %a is not used",what,i,t) + local d = l.done + report("%s lookup %s of type %a is not used",what,d and d.name or l.name,t) + -- inspect(l) end end @@ -1873,7 +1877,7 @@ function readers.gdef(f,fontdata,specification) for i=1,nofsets do local offset = sets[i] if offset ~= 0 then - marksets[i] = readcoverage(f,offset) + marksets[i] = readcoverage(f,marksetsoffset+offset) end end end diff --git a/tex/context/base/font-ini.mkvi b/tex/context/base/font-ini.mkvi index cf9f63e47..ee146c1a5 100644 --- a/tex/context/base/font-ini.mkvi +++ b/tex/context/base/font-ini.mkvi @@ -1661,7 +1661,6 @@ {\ifcsname\??fontdefinitions\s!default:#style\endcsname \edef\m_font_asked_body{#body}% \edef\m_font_asked_style{#style}% - %\csname\??fontdefinitions\s!default:#style\endcsname % {#body}{#style}% \lastnamedcs \settrue\c_font_defining_state \fi} @@ -1700,7 +1699,6 @@ \unexpanded\def\font_basics_switch_style#style% {\ifcsname\??fontstyle#style\endcsname - %\csname\??fontstyle#style\endcsname \lastnamedcs \edef\fontstyle{#style}% \ifmmode\mr\fi % in order to be compatible with \rm in math mode diff --git a/tex/context/base/font-otl.lua b/tex/context/base/font-otl.lua index 5a03de844..30a351973 100644 --- a/tex/context/base/font-otl.lua +++ b/tex/context/base/font-otl.lua @@ -53,7 +53,7 @@ local report_otf = logs.reporter("fonts","otf loading") local fonts = fonts local otf = fonts.handlers.otf -otf.version = 3.010 -- beware: also sync font-mis.lua and in mtx-fonts +otf.version = 3.012 -- beware: also sync font-mis.lua and in mtx-fonts otf.cache = containers.define("fonts", "otl", otf.version, true) local otfreaders = otf.readers diff --git a/tex/context/base/font-otr.lua b/tex/context/base/font-otr.lua index 1de255eba..7e5cf56f1 100644 --- a/tex/context/base/font-otr.lua +++ b/tex/context/base/font-otr.lua @@ -828,30 +828,30 @@ readers["os/2"] = function(f,fontdata) local version = readushort(f) local windowsmetrics = { version = version, - averagewidth = readushort(f), + averagewidth = readshort(f), weightclass = readushort(f), widthclass = readushort(f), fstype = readushort(f), - subscriptxsize = readushort(f), - subscriptysize = readushort(f), - subscriptxoffset = readushort(f), - subscriptyoffset = readushort(f), - superscriptxsize = readushort(f), - superscriptysize = readushort(f), - superscriptxoffset = readushort(f), - superscriptyoffset = readushort(f), - strikeoutsize = readushort(f), - strikeoutpos = readushort(f), - familyclass = readushort(f), + subscriptxsize = readshort(f), + subscriptysize = readshort(f), + subscriptxoffset = readshort(f), + subscriptyoffset = readshort(f), + superscriptxsize = readshort(f), + superscriptysize = readshort(f), + superscriptxoffset = readshort(f), + superscriptyoffset = readshort(f), + strikeoutsize = readshort(f), + strikeoutpos = readshort(f), + familyclass = readshort(f), panose = { readbytes(f,10) }, unicoderanges = { readulong(f), readulong(f), readulong(f), readulong(f) }, vendor = readstring(f,4), fsselection = readushort(f), firstcharindex = readushort(f), lastcharindex = readushort(f), - typoascender = readushort(f), - typodescender = readushort(f), - typolinegap = readushort(f), + typoascender = readshort(f), + typodescender = readshort(f), + typolinegap = readshort(f), winascent = readushort(f), windescent = readushort(f), } diff --git a/tex/context/base/font-ots.lua b/tex/context/base/font-ots.lua index 40319ae99..0f457a834 100644 --- a/tex/context/base/font-ots.lua +++ b/tex/context/base/font-ots.lua @@ -2632,7 +2632,7 @@ local function handle_contextchain(head,start,dataset,sequence,contexts,rlmode) local chainlookup = chainlookups[1] -- should be i when they can be different if not chainlookup then -- we just advance - i = i + 1 + i = i + 1 -- shouldn't that be #current else local chainkind = chainlookup.type local chainproc = chainprocs[chainkind] diff --git a/tex/context/base/lang-lab.mkiv b/tex/context/base/lang-lab.mkiv index ffa221ee8..17d583b0e 100644 --- a/tex/context/base/lang-lab.mkiv +++ b/tex/context/base/lang-lab.mkiv @@ -92,10 +92,8 @@ \def#3{#5#4}% \def#5##1##2% ##1=language {\ifcsname\??label\currentlabelcategory#1:##1:##2\endcsname - %\csname\??label\currentlabelcategory#1:##1:##2\endcsname \lastnamedcs \else\ifcsname\??label#1:##1:##2\endcsname - %\csname\??label#1:##1:##2\endcsname \lastnamedcs % \else\ifcsname\??language#4\s!default\endcsname % \expandafter#5\csname\??language#4\s!default\endcsname{##2}% @@ -103,16 +101,12 @@ %\expandafter#5\csname\??language##1\s!default\endcsname{##2}% \expandafter#5\lastnamedcs{##2}% \else\ifcsname\??label\currentlabelcategory#1:##2\endcsname - %\csname\??label\currentlabelcategory#1:##2\endcsname \lastnamedcs \else\ifcsname\??label#1:##2\endcsname - %\csname\??label#1:##2\endcsname \lastnamedcs \else\ifcsname\??label\currentlabelcategory#1:\s!en:##2\endcsname - %\csname\??label\currentlabelcategory#1:\s!en:##2\endcsname \lastnamedcs \else\ifcsname\??label#1:\s!en:##2\endcsname - %\csname\??label#1:\s!en:##2\endcsname \lastnamedcs \else ##2% @@ -324,10 +318,8 @@ \def\lang_translate[#1]% {\getparameters[\??translation][#1]% \ifcsname\??translation\currentlanguage\endcsname - %\csname\??translation\currentlanguage\endcsname \lastnamedcs \else\ifcsname\??translation\s!en\endcsname - %\csname\??translation\s!en\endcsname \lastnamedcs \else [translation #1]% diff --git a/tex/context/base/lang-mis.mkiv b/tex/context/base/lang-mis.mkiv index 8b55c712e..f442042e2 100644 --- a/tex/context/base/lang-mis.mkiv +++ b/tex/context/base/lang-mis.mkiv @@ -195,9 +195,6 @@ \scratchcounter\expandafter`\detokenize{#1}% \expandafter\uedcatcodecommand\expandafter\ctxcatcodes\expandafter\scratchcounter\csname\??discretionaryboth\detokenize{#1}\endcsname} -%unexpanded\def\handlemathmodediscretionary#1{\executeifdefined{\??discretionarymath\detokenize{#1}}\donothing} -%unexpanded\def\handletextmodediscretionary#1{\executeifdefined{\??discretionarytext\detokenize{#1}}\donothing} - \unexpanded\def\handlemathmodediscretionary#1{\ifcsname\??discretionarymath\detokenize{#1}\endcsname\lastnamedcs} \unexpanded\def\handletextmodediscretionary#1{\ifcsname\??discretionarytext\detokenize{#1}\endcsname\lastnamedcs} @@ -276,7 +273,6 @@ \ifx\discretionarytoken\empty \ifx#1\nextnext % takes care of ||| and +++ and ...... \ifcsname\??discretionaryaction\string#1\endcsname - %\csname\??discretionaryaction\string#1\endcsname \lastnamedcs \else\ifconditional\spaceafterdiscretionary \prewordbreak\hbox{\string#1}\relax @@ -292,7 +288,6 @@ % \prewordbreak\hbox{\textmodediscretionary\nextnext}\allowbreak\postwordbreak % but an hbox blocks a possible \discretionary \ifcsname\??discretionaryaction\endcsname - %\csname\??discretionaryaction\endcsname \lastnamedcs \else\ifconditional\spaceafterdiscretionary \prewordbreak\textmodediscretionary\relax @@ -304,7 +299,6 @@ % \prewordbreak\textmodediscretionary\nextnext\allowbreak\postwordbreak \fi \else\ifcsname\??discretionaryaction\discretionarytoken\endcsname - %\csname\??discretionaryaction\discretionarytoken\endcsname \lastnamedcs \else \lang_discretionaries_check_before @@ -485,193 +479,176 @@ \discretionary{-}{}{}% \fi\fi\fi} -%D \macros -%D {installcompoundcharacter} -%D -%D When Tobias Burnus started translating the dutch manual of \PPCHTEX\ into german, -%D he suggested to let \CONTEXT\ support the \type{german.sty} method of handling -%D compound characters, especially the umlaut. This package is meant for use with -%D \PLAIN\ \TEX\ as well as \LATEX. -%D -%D I decided to implement compound character support as versatile as possible. As a -%D result one can define his own compound character support, like: -%D -%D \starttyping -%D \installcompoundcharacter "a {\"a} -%D \installcompoundcharacter "e {\"e} -%D \installcompoundcharacter "i {\"i} -%D \installcompoundcharacter "u {\"u} -%D \installcompoundcharacter "o {\"o} -%D \installcompoundcharacter "s {\SS} -%D \stoptyping -%D -%D or even -%D -%D \starttyping -%D \installcompoundcharacter "ck {\discretionary {k-}{k}{ck}} -%D \installcompoundcharacter "ff {\discretionary{ff-}{f}{ff}} -%D \stoptyping -%D -%D The support is not limited to alphabetic characters, so the next definition is -%D also valid. -%D -%D \starttyping -%D \installcompoundcharacter ". {.\doifnextcharelse{\spacetoken}{}{\kern.125em}} -%D \stoptyping -%D -%D The implementation looks familiar and uses the same tricks as mentioned earlier -%D in this module. We take care of two arguments, which complicates things a bit. - -\installcorenamespace{compoundnormal} -\installcorenamespace{compoundsingle} -\installcorenamespace{compoundmultiple} -\installcorenamespace{compounddefinition} - -%D When I started working on \MKIV\ code, we needed a different approach for -%D defining the active character itself. In \MKII\ as well as in \MKIV\ we now use -%D the catcode vectors. - -\setnewconstant\compoundcharactermode\plusone - -\newcount\c_lang_compounds_character - -\def\installcompoundcharacter #1#2#3 #4% {#4} no grouping - {\ifcase\compoundcharactermode - % ignore mode - \else - \chardef\c_lang_compounds_character`#1% - \expandafter\chardef\csname\??compoundnormal\string#1\endcsname\c_lang_compounds_character - \def\!!stringa{#3}% - \expandafter\def\csname\ifx\!!stringa\empty\??compoundsingle\else\??compoundmultiple\fi\detokenize{#1#2#3}\endcsname{#4}% - \setevalue{\??compounddefinition\detokenize{#1}}{\noexpand\lang_compounds_handle_character{\detokenize{#1}}}% beter nr's - \expandafter\letcatcodecommand\expandafter\ctxcatcodes\expandafter\c_lang_compounds_character\csname\??compounddefinition\detokenize{#1}\endcsname - \fi} - -%D We can also ignore definitions (needed in for instance \XML). Beware, this macro -%D is supposed to be used grouped! - -\def\ignorecompoundcharacter - {\compoundcharactermode\zerocount} - -%D In handling the compound characters we have to take care of \type {\bgroup} and -%D \type {\egroup} tokens, so we end up with a multi||step interpretation macro. We -%D look ahead for a \type {\bgroup}, \type {\egroup} or \type {\blankspace}. Being -%D no user of this mechanism, the credits for testing them goes to Tobias Burnus, -%D the first german user of \CONTEXT. -%D -%D We need to look into the future with \type{\futurelet} to prevent spaces from -%D disappearing. - -\def\lang_compounds_handle_character#1% - {\def\lang_compounds_handle_character_finish{\lang_compounds_handle_character_finish_indeed{#1}}% - \futurelet\nexttoken\xhandlecompoundcharacter} - -\def\lang_compounds_handle_character_finish_indeed - {\ifx\nexttoken\bgroup - %\expandafter\lang_compounds_handle_character_pickup % handle "{ee} -> \"ee - %\expandafter\gobbleoneargument % forget "{ee} -> ee - \expandafter\lang_compounds_handle_character_one % ignore "{ee} -> "ee - \else\ifx\nexttoken\egroup - \doubleexpandafter\lang_compounds_handle_character_normal - \else\ifx\nexttoken\blankspace - \tripleexpandafter\lang_compounds_handle_character_normal - \else - \tripleexpandafter\lang_compounds_handle_character_pickup - \fi\fi\fi} - -\def\lang_compounds_handle_character_normal#1% - {\csname\??compoundnormal\string#1\endcsname} - -\def\lang_compounds_handle_character_pickup#1#2% preserve space - {\def\lang_compounds_handle_character_finish{\lang_compounds_handle_character_finish_indeed#1#2}% - \futurelet\nexttoken\lang_compounds_handle_character_finish} - -\def\lang_compounds_handle_character_finish_indeed - {\ifx\nexttoken\bgroup - \expandafter\lang_compounds_handle_character_one - \else\ifx\nexttoken\egroup - \doubleexpandafter\lang_compounds_handle_character_one - \else\ifx\nexttoken\blankspace - \tripleexpandafter\lang_compounds_handle_character_one - \else - \tripleexpandafter\lang_compounds_handle_character_two - \fi\fi\fi} - -%D Besides taken care of the grouping and space tokens, we have to deal with three -%D situations. First we look if the next character equals the first one, if so, then -%D we just insert the original. Next we look if indeed a compound character is -%D defined. We either execute the compound character or just insert the first. So we -%D have -%D -%D \starttyping -%D -%D \stoptyping -%D -%D In later modules we will see how these commands are used. - +% As this is rather mkii-ish we keep the mkiv definition around for educational +% purposes but consider this feature obsolete in post mkii versions. + +% %D \macros +% %D {installcompoundcharacter} +% %D +% %D When Tobias Burnus started translating the dutch manual of \PPCHTEX\ into german, +% %D he suggested to let \CONTEXT\ support the \type{german.sty} method of handling +% %D compound characters, especially the umlaut. This package is meant for use with +% %D \PLAIN\ \TEX\ as well as \LATEX. +% %D +% %D I decided to implement compound character support as versatile as possible. As a +% %D result one can define his own compound character support, like: +% %D +% %D \starttyping +% %D \installcompoundcharacter "a {\"a} +% %D \installcompoundcharacter "e {\"e} +% %D \installcompoundcharacter "i {\"i} +% %D \installcompoundcharacter "u {\"u} +% %D \installcompoundcharacter "o {\"o} +% %D \installcompoundcharacter "s {\SS} +% %D \stoptyping +% %D +% %D or even +% %D +% %D \starttyping +% %D \installcompoundcharacter "ck {\discretionary {k-}{k}{ck}} +% %D \installcompoundcharacter "ff {\discretionary{ff-}{f}{ff}} +% %D \stoptyping +% %D +% %D The support is not limited to alphabetic characters, so the next definition is +% %D also valid. +% %D +% %D \starttyping +% %D \installcompoundcharacter ". {.\doifnextcharelse{\spacetoken}{}{\kern.125em}} +% %D \stoptyping +% %D +% %D The implementation looks familiar and uses the same tricks as mentioned earlier +% %D in this module. We take care of two arguments, which complicates things a bit. +% +% \installcorenamespace{compoundnormal} +% \installcorenamespace{compoundsingle} +% \installcorenamespace{compoundmultiple} +% \installcorenamespace{compounddefinition} +% +% %D When I started working on \MKIV\ code, we needed a different approach for +% %D defining the active character itself. In \MKII\ as well as in \MKIV\ we now use +% %D the catcode vectors. +% +% \setnewconstant\compoundcharactermode\plusone +% +% \newcount\c_lang_compounds_character +% +% \def\installcompoundcharacter #1#2#3 #4% {#4} no grouping +% {\ifcase\compoundcharactermode +% % ignore mode +% \else +% \chardef\c_lang_compounds_character`#1% +% \expandafter\chardef\csname\??compoundnormal\string#1\endcsname\c_lang_compounds_character +% \def\!!stringa{#3}% +% \expandafter\def\csname\ifx\!!stringa\empty\??compoundsingle\else\??compoundmultiple\fi\detokenize{#1#2#3}\endcsname{#4}% +% \setevalue{\??compounddefinition\detokenize{#1}}{\noexpand\lang_compounds_handle_character{\detokenize{#1}}}% beter nr's +% \expandafter\letcatcodecommand\expandafter\ctxcatcodes\expandafter\c_lang_compounds_character\csname\??compounddefinition\detokenize{#1}\endcsname +% \fi} +% +% %D We can also ignore definitions (needed in for instance \XML). Beware, this macro +% %D is supposed to be used grouped! +% +% \def\ignorecompoundcharacter +% {\compoundcharactermode\zerocount} + +\let\ignorecompoundcharacter\relax + +% %D In handling the compound characters we have to take care of \type {\bgroup} and +% %D \type {\egroup} tokens, so we end up with a multi||step interpretation macro. We +% %D look ahead for a \type {\bgroup}, \type {\egroup} or \type {\blankspace}. Being +% %D no user of this mechanism, the credits for testing them goes to Tobias Burnus, +% %D the first german user of \CONTEXT. +% %D +% %D We need to look into the future with \type{\futurelet} to prevent spaces from +% %D disappearing. +% +% \def\lang_compounds_handle_character#1% +% {\def\lang_compounds_handle_character_finish{\lang_compounds_handle_character_finish_indeed{#1}}% +% \futurelet\nexttoken\xhandlecompoundcharacter} +% +% \def\lang_compounds_handle_character_finish_indeed +% {\ifx\nexttoken\bgroup +% %\expandafter\lang_compounds_handle_character_pickup % handle "{ee} -> \"ee +% %\expandafter\gobbleoneargument % forget "{ee} -> ee +% \expandafter\lang_compounds_handle_character_one % ignore "{ee} -> "ee +% \else\ifx\nexttoken\egroup +% \doubleexpandafter\lang_compounds_handle_character_normal +% \else\ifx\nexttoken\blankspace +% \tripleexpandafter\lang_compounds_handle_character_normal +% \else +% \tripleexpandafter\lang_compounds_handle_character_pickup +% \fi\fi\fi} +% +% \def\lang_compounds_handle_character_normal#1% +% {\csname\??compoundnormal\string#1\endcsname} +% +% \def\lang_compounds_handle_character_pickup#1#2% preserve space +% {\def\lang_compounds_handle_character_finish{\lang_compounds_handle_character_finish_indeed#1#2}% +% \futurelet\nexttoken\lang_compounds_handle_character_finish} +% +% \def\lang_compounds_handle_character_finish_indeed +% {\ifx\nexttoken\bgroup +% \expandafter\lang_compounds_handle_character_one +% \else\ifx\nexttoken\egroup +% \doubleexpandafter\lang_compounds_handle_character_one +% \else\ifx\nexttoken\blankspace +% \tripleexpandafter\lang_compounds_handle_character_one +% \else +% \tripleexpandafter\lang_compounds_handle_character_two +% \fi\fi\fi} +% +% %D Besides taken care of the grouping and space tokens, we have to deal with three +% %D situations. First we look if the next character equals the first one, if so, then +% %D we just insert the original. Next we look if indeed a compound character is +% %D defined. We either execute the compound character or just insert the first. So we +% %D have +% %D +% %D \starttyping +% %D +% %D \stoptyping +% %D +% %D In later modules we will see how these commands are used. +% % \def\lang_compounds_handle_character_one#1#2% % {\if\string#1\string#2% was: \ifx#1#2% -% \def\next{\csname\??compoundnormal\string#1\endcsname}% +% %\expandafter\let\expandafter\next\csname\??compoundnormal\string#1\endcsname +% \csname\??compoundnormal\string#1\expandafter\endcsname % \else\ifcsname\??compoundsingle\string#1\string#2\endcsname -% \def\next{\csname\??compoundsingle\string#1\string#2\endcsname}% +% %\expandafter\let\expandafter\next\lastnamedcs +% \expandafter\lastnamedcs % \else -% \def\next{\csname\??compoundnormal\string#1\endcsname#2}% -% \fi\fi -% \next} +% %\expandafter\let\expandafter\next\lastnamedcs +% \expandafter\lastnamedcs +% \fi\fi} % % \def\lang_compounds_handle_character_two#1#2#3% % {\if\string#1\string#2% % \def\next{\csname\??compoundnormal\string#1\endcsname#3}% % \else\ifcsname\??compoundmultiple\string#1\string#2\string#3\endcsname -% \def\next{\csname\??compoundmultiple\string#1\string#2\string#3\endcsname}% +% \expandafter\let\expandafter\next\lastnamedcs % \else\ifcsname\??compoundsingle\string#1\string#2\endcsname -% \def\next{\csname\??compoundsingle\string#1\string#2\endcsname#3}% +% \expandafter\let\expandafter\next\lastnamedcs % \else -% \def\next{\csname\??compoundnormal\string#1\endcsname#2#3}% +% \expandafter\let\expandafter\next\lastnamedcs % \fi\fi\fi % \next} - -\def\lang_compounds_handle_character_one#1#2% - {\if\string#1\string#2% was: \ifx#1#2% - %\expandafter\let\expandafter\next\csname\??compoundnormal\string#1\endcsname - \csname\??compoundnormal\string#1\expandafter\endcsname - \else\ifcsname\??compoundsingle\string#1\string#2\endcsname - %\expandafter\let\expandafter\next\lastnamedcs - \expandafter\lastnamedcs - \else - %\expandafter\let\expandafter\next\lastnamedcs - \expandafter\lastnamedcs - \fi\fi} - -\def\lang_compounds_handle_character_two#1#2#3% - {\if\string#1\string#2% - \def\next{\csname\??compoundnormal\string#1\endcsname#3}% - \else\ifcsname\??compoundmultiple\string#1\string#2\string#3\endcsname - \expandafter\let\expandafter\next\lastnamedcs - \else\ifcsname\??compoundsingle\string#1\string#2\endcsname - \expandafter\let\expandafter\next\lastnamedcs - \else - \expandafter\let\expandafter\next\lastnamedcs - \fi\fi\fi - \next} - -%D For very obscure applications (see for an application \type {lang-sla.tex}) we -%D provide: - +% +% %D For very obscure applications (see for an application \type {lang-sla.tex}) we +% %D provide: +% +% % \def\simplifiedcompoundcharacter#1#2% +% % {\ifcsname\??compoundsingle\string#1\string#2\endcsname +% % \doubleexpandafter\firstofoneargument\csname\??compoundsingle\string#1\string#2\endcsname +% % \else +% % #2% +% % \fi} +% % \def\simplifiedcompoundcharacter#1#2% % {\ifcsname\??compoundsingle\string#1\string#2\endcsname -% \doubleexpandafter\firstofoneargument\csname\??compoundsingle\string#1\string#2\endcsname +% \doubleexpandafter\firstofoneargument\lastnamedcs % \else % #2% % \fi} -\def\simplifiedcompoundcharacter#1#2% - {\ifcsname\??compoundsingle\string#1\string#2\endcsname - \doubleexpandafter\firstofoneargument\lastnamedcs - \else - #2% - \fi} - %D \macros %D {disablediscretionaries,disablecompoundcharacter} %D @@ -713,7 +690,7 @@ %D Here we hook some code into the clean up mechanism needed for verbatim data. \appendtoks - \disablecompoundcharacters + %\disablecompoundcharacters \disablediscretionaries \to \everycleanupfeatures diff --git a/tex/context/base/math-fen.mkiv b/tex/context/base/math-fen.mkiv index 11464dfbc..d1e978e42 100644 --- a/tex/context/base/math-fen.mkiv +++ b/tex/context/base/math-fen.mkiv @@ -263,7 +263,11 @@ \unexpanded\def\installmathfencepair#1#2#3#4% {\expandafter\let\csname\??mathleft \meaning#1\endcsname#2% - \expandafter\let\csname\??mathright\meaning#3\endcsname#4} + \expandafter\let\csname\??mathright\meaning#3\endcsname#4% +% \writestatus{!}{\meaning#1=\meaning#2}% +% \writestatus{!}{\meaning#3=\meaning#4}% +% \wait + } \def\math_unknown_left {\setfalse\c_math_fenced_done\ifconditional\c_math_fenced_unknown\normalleft \nexttoken\fi} \def\math_unknown_right {\setfalse\c_math_fenced_done\ifconditional\c_math_fenced_unknown\normalright \nexttoken\fi} @@ -372,18 +376,12 @@ \ignorediscretionaries % so $\mtext{a|b}$ works, this is ok because it's an \hbox \to \everymathematics -% todo paren parent - -\let\lbrack\lbracket -\let\rbrack\rbracket - \installmathfencepair \lbrace \Lbrace \rbrace \Rbrace \installmathfencepair \lbracket \Lbracket \rbracket \Rbracket -\installmathfencepair \lparen \Lparen \rparen \Rparen \installmathfencepair \lparent \Lparent \rparent \Rparent \installmathfencepair \langle \Langle \rangle \Rangle -\installmathfencepair \lrangle \Ldoubleangle \rrangle \Rdoubleangle -\installmathfencepair \lbar \Lbar \rbar \Rbar +\installmathfencepair \llangle \Ldoubleangle \rrangle \Rdoubleangle +%installmathfencepair \lbar \Lbar \rbar \Rbar \installmathfencepair \lVert \Ldoublebar \rVert \Rdoublebar \installmathfencepair \vert \Lbar \vert \Rbar \installmathfencepair \solidus \Lsolidus \solidus \Rsolidus @@ -393,9 +391,23 @@ \installmathfencepair \ulcorner \Luppercorner \urcorner \Ruppercorner \installmathfencepair \llcorner \Llowercorner \lrcorner \Rlowercorner \installmathfencepair \lmoustache \Lmoustache \rmoustache \Rmoustache -\installmathfencepair \llbracket \Lopenbracket \lrbracket \Ropenbracket +\installmathfencepair \llbracket \Lopenbracket \rrbracket \Ropenbracket \installmathfencepair \lgroup \Lgroup \rgroup \Rgroup +% unofficial and only there for some fuzzy web related math: + +\let\textlbar\lbar \let\mathlbar\Lbar +\let\textrbar\lbar \let\mathrbar\Rbar + +\unexpanded\def\lbar{\mathortext\mathlbar\textlbar} +\unexpanded\def\rbar{\mathortext\mathrbar\textrbar} + +\let\lbrack\lbracket +\let\rbrack\rbracket + +\let\lparen\lparent +\let\rparen\rparent + % \setupmathfences[color=darkgreen] \unexpanded\def\{{\mathortext\lbrace \letterleftbrace } % or maybe a chardef diff --git a/tex/context/base/math-frc.mkiv b/tex/context/base/math-frc.mkiv index 35b938fbb..785e8ea8e 100644 --- a/tex/context/base/math-frc.mkiv +++ b/tex/context/base/math-frc.mkiv @@ -365,7 +365,6 @@ \edef\p_distance{\rootmathfractionparameter\c!distance}% \ifx\p_distance\empty\else \ifcsname\??mathfractiondistance\p_distance\endcsname - %\csname\??mathfractiondistance\p_distance\endcsname \lastnamedcs \fi \fi diff --git a/tex/context/base/meta-ini.mkiv b/tex/context/base/meta-ini.mkiv index 6e1a8c231..9f53aea69 100644 --- a/tex/context/base/meta-ini.mkiv +++ b/tex/context/base/meta-ini.mkiv @@ -1142,9 +1142,9 @@ {\defconvertedargument\ascii{#2}% \dodoglobal\letvalue{\??mptext#1}\ascii} -\def\MPtext #1{\executeifdefined{\??mptext#1}\empty} -\def\MPstring#1{"\executeifdefined{\??mptext#1}\empty"} -\def\MPbetex #1{btex \executeifdefined{\??mptext#1}\empty\space etex} +\def\MPtext #1{\begincsname\??mptext#1\endcsname\empty} +\def\MPstring#1{"\begincsname\??mptext#1\endcsname\empty"} +\def\MPbetex #1{btex \begincsname\??mptext#1\endcsname\space etex} %D In order to communicate conveniently with the \TEX\ %D engine, we introduce some typesetting variables. @@ -1209,7 +1209,7 @@ \appendtoks \disablediscretionaries - \disablecompoundcharacters + %\disablecompoundcharacters \to \everyMPgraphic % \appendtoks % before color, inefficient, replace by low level copy diff --git a/tex/context/base/node-aux.lua b/tex/context/base/node-aux.lua index 07c3965bc..38df55eef 100644 --- a/tex/context/base/node-aux.lua +++ b/tex/context/base/node-aux.lua @@ -520,7 +520,7 @@ end nuts.locate = locate -nodes.locate = function(start,wantedid,wantedsubtype) +function nodes.locate(start,wantedid,wantedsubtype) local found = locate(tonut(start),wantedid,wantedsubtype) return found and tonode(found) end @@ -543,4 +543,3 @@ end -- return 0 -- end -- end - diff --git a/tex/context/base/node-rul.mkiv b/tex/context/base/node-rul.mkiv index 9899a5775..87277337e 100644 --- a/tex/context/base/node-rul.mkiv +++ b/tex/context/base/node-rul.mkiv @@ -101,7 +101,6 @@ \appendtoks \ifcsname\??barindex\currentbar\endcsname - %\csname\??barindex\currentbar\endcsname\zerocount \lastnamedcs \else \expandafter\newcount\csname\??barindex\currentbar\endcsname @@ -278,7 +277,6 @@ \appendtoks \ifcsname\??shiftindex\currentshift\endcsname - %\csname\??shiftindex\currentshift\endcsname\zerocount \lastnamedcs\zerocount \else \expandafter\newcount\csname\??shiftindex\currentshift\endcsname diff --git a/tex/context/base/pack-box.mkiv b/tex/context/base/pack-box.mkiv index c48f4cbd1..fad7d6e18 100644 --- a/tex/context/base/pack-box.mkiv +++ b/tex/context/base/pack-box.mkiv @@ -211,7 +211,6 @@ \def\pack_boxes_collector_check_corner#1% {\ifcsname\??collectorcorners#1\endcsname - %\csname\??collectorcorners#1\endcsname \lastnamedcs \fi} diff --git a/tex/context/base/pack-lyr.mkiv b/tex/context/base/pack-lyr.mkiv index 3d3638c3f..61ed1e64b 100644 --- a/tex/context/base/pack-lyr.mkiv +++ b/tex/context/base/pack-lyr.mkiv @@ -209,12 +209,6 @@ {\edef\currentlayerwidth {\thelayerwidth {#2#1}}% \edef\currentlayerheight{\thelayerheight{#2#1}}} -% \def\thelayerwidth #1{\the\wd\executeifdefined{\??layerbox#1}\emptybox} -% \def\thelayerheight#1{\the\ht\executeifdefined{\??layerbox#1}\emptybox} - -%def\thelayerwidth #1{\the\ifcsname\??layerbox#1\endcsname\wd\csname\??layerbox#1\endcsname\else\zeropoint\fi} -%def\thelayerheight#1{\the\ifcsname\??layerbox#1\endcsname\ht\csname\??layerbox#1\endcsname\else\zeropoint\fi} - \def\thelayerwidth #1{\the\ifcsname\??layerbox#1\endcsname\wd\lastnamedcs\else\zeropoint\fi} \def\thelayerheight#1{\the\ifcsname\??layerbox#1\endcsname\ht\lastnamedcs\else\zeropoint\fi} @@ -326,7 +320,6 @@ \edef\p_pack_layers_preset {\layerparameter\c!preset }% % \ifcsname\??layerpreset\p_pack_layers_preset\endcsname - %\csname\??layerpreset\p_pack_layers_preset\endcsname \lastnamedcs \setupcurrentlayer[#1]% postroll \fi @@ -570,7 +563,6 @@ \offinterlineskip \edef\p_pack_layers_preset{\layerparameter\c!preset}% \ifcsname\??layerpreset\p_pack_layers_preset\endcsname - %\csname\??layerpreset\p_pack_layers_preset\endcsname \lastnamedcs \fi \edef\p_pack_layers_method{\layerparameter\c!method}% diff --git a/tex/context/base/page-brk.mkiv b/tex/context/base/page-brk.mkiv index a25941ffc..914553253 100644 --- a/tex/context/base/page-brk.mkiv +++ b/tex/context/base/page-brk.mkiv @@ -58,13 +58,10 @@ \def\page_breaks_handle_step#1% {\edef\page_breaks_current_option{#1}% can be used in handler \ifcsname\??pagebreakmethod\page_breaks_current_option\endcsname - %\csname\??pagebreakmethod\page_breaks_current_option\endcsname \lastnamedcs \else\ifcsname\??pagebreaks\page_breaks_current_option\endcsname - %\expandafter\page_breaks_handle\csname\??pagebreaks\page_breaks_current_option\endcsname \expandafter\page_breaks_handle\lastnamedcs \else - %\csname\??pagebreakmethod\s!unknown\endcsname \page_breaks_unknown \fi\fi} @@ -284,7 +281,6 @@ \def\page_breaks_columns_handle_step#1% {\edef\page_breaks_columns_current_option{#1}% \ifcsname\??columnbreakmethod\currentoutputroutine:\page_breaks_columns_current_option\endcsname - %\csname\??columnbreakmethod\currentoutputroutine:\page_breaks_columns_current_option\endcsname \lastnamedcs \else\ifcsname\??columnbreaks\page_breaks_columns_current_option\endcsname %\expandafter\csname\page_breaks_columns_handle\??columnbreaks\page_breaks_columns_current_option\endcsname diff --git a/tex/context/base/page-imp.mkiv b/tex/context/base/page-imp.mkiv index 403145d6a..2382d131a 100644 --- a/tex/context/base/page-imp.mkiv +++ b/tex/context/base/page-imp.mkiv @@ -304,7 +304,7 @@ {\setgvalue{\??layoutarranger#1}} \def\checkinstalledpagearrangement#1% can be empty: aaa,,bbb - {\executeifdefined{\??layoutarranger#1}\donothing} + {\begincsname\??layoutarranger#1\endcsname} \let\poparrangedpages\relax \let\pusharrangedpage\relax diff --git a/tex/context/base/page-lin.mkvi b/tex/context/base/page-lin.mkvi index 3f88f66aa..290984779 100644 --- a/tex/context/base/page-lin.mkvi +++ b/tex/context/base/page-lin.mkvi @@ -94,7 +94,6 @@ \def\page_lines_setup {\ifcsname \??linenumberinginstance\currentlinenumbering\endcsname \clf_setuplinenumbering - %\csname\??linenumberinginstance\currentlinenumbering\endcsname \lastnamedcs {% continue {\ifnum\c_page_lines_mode=\zerocount\v!yes\else\v!no\fi}% @@ -379,7 +378,7 @@ \fi \fi % - \executeifdefined{\??linenumberinghandler\p_location}\relax + \begincsname\??linenumberinghandler\p_location\endcsname \fi \egroup} diff --git a/tex/context/base/page-otr.mkvi b/tex/context/base/page-otr.mkvi index d1dbaad93..1249498f5 100644 --- a/tex/context/base/page-otr.mkvi +++ b/tex/context/base/page-otr.mkvi @@ -143,7 +143,6 @@ \unexpanded\def\page_otr_triggered_output_routine_normal {\ifcsname\??otrtriggers\the\outputpenalty\endcsname - %\csname\??otrtriggers\the\outputpenalty\endcsname \lastnamedcs \else \page_otr_command_routine diff --git a/tex/context/base/page-txt.mkvi b/tex/context/base/page-txt.mkvi index 401a65dbd..ed1104312 100644 --- a/tex/context/base/page-txt.mkvi +++ b/tex/context/base/page-txt.mkvi @@ -283,7 +283,6 @@ \uselayoutelementstyleandcolor#style#color% \csname\??layouttextstrut\layoutelementparameter\c!strut\endcsname \ifcsname\??layouttextspecial\m_page_layouts_element_content\endcsname - %\csname\??layouttextspecial\m_page_layouts_element_content\endcsname \lastnamedcs \else \edef\currentlayoutelementwidth{\layoutelementparameter#width}% @@ -357,7 +356,6 @@ \unexpanded\def\page_layouts_place_text_line#vertical% {\page_layouts_set_element_status#vertical\relax - %\csname\??layouttextsline\ifcsname\??layouttextsline\textlinestatus\endcsname\textlinestatus\else\s!unknown\fi\endcsname#vertical} \ifcsname\??layouttextsline\textlinestatus\endcsname \expandafter\lastnamedcs \else diff --git a/tex/context/base/spac-ali.mkiv b/tex/context/base/spac-ali.mkiv index dbe46b4e0..8b05577d0 100644 --- a/tex/context/base/spac-ali.mkiv +++ b/tex/context/base/spac-ali.mkiv @@ -113,13 +113,13 @@ {\textdir TRT\relax \setfalse\inlinelefttoright} -\def\currentdirectionparameters - {\ifconditional\inlinelefttoright \else - idir="r2l", - \fi - \ifconditional\displaylefttoright \else - ddir="r2l", - \fi} +% \def\currentdirectionparameters +% {\ifconditional\inlinelefttoright \else +% idir {r2l}% +% \fi +% \ifconditional\displaylefttoright \else +% ddir {r2l}% +% \fi} \unexpanded\def\synchronizelayoutdirection {\ifconditional\layoutlefttoright @@ -514,7 +514,6 @@ \c_spac_align_state_direction \zerocount % what is default ? \c_spac_align_state_page \zerocount \ifcsname\??aligncommand\m_spac_align_asked\endcsname - %\csname\??aligncommand\m_spac_align_asked\endcsname % not much gain in new method \lastnamedcs \else \rawprocesscommacommand[\m_spac_align_asked]\spac_align_collect @@ -754,14 +753,12 @@ \def\spac_align_set_ragged_vbox#1% {\ifcsname\??alignvertical#1\endcsname - %\csname\??alignvertical#1\endcsname \lastnamedcs \quitcommalist \fi} \def\spac_align_set_ragged_hbox#1% {\ifcsname\??alignhorizontal#1\endcsname - %\csname\??alignhorizontal#1\endcsname \lastnamedcs \quitcommalist \fi} diff --git a/tex/context/base/spac-hor.mkiv b/tex/context/base/spac-hor.mkiv index 8730f81cb..94e45f47a 100644 --- a/tex/context/base/spac-hor.mkiv +++ b/tex/context/base/spac-hor.mkiv @@ -122,7 +122,6 @@ % {\ifcsname\??indentingpreset#1\endcsname % \spac_indentation_apply_step_two_nested{#1}% % \else\ifcsname\??indentingmethod#1\endcsname -% %\csname\??indentingmethod#1\endcsname % \lastnamedcs % \else % % case one @@ -149,7 +148,6 @@ {\ifcsname\??indentingpreset#1\endcsname \spac_indentation_apply_step_two_nested \else\ifcsname\??indentingmethod#1\endcsname - %\csname\??indentingmethod#1\endcsname \lastnamedcs \else % case one @@ -303,13 +301,11 @@ \installcorenamespace{indentnext} \unexpanded\def\checknextindentation[#1]% - %{\csname\??indentnext\ifcsname\??indentnext#1\endcsname#1\fi\endcsname} {\begincsname\??indentnext#1\endcsname} \unexpanded\def\useindentnextparameter#1% new, the more efficient variant {\edef\p_indentnext{#1\c!indentnext}% \ifx\p_indentnext\empty\else - %\csname\??indentnext\ifcsname\??indentnext\p_indentnext\endcsname\p_indentnext\fi\endcsname \begincsname\??indentnext\p_indentnext\endcsname \fi} @@ -638,7 +634,6 @@ \unexpanded\def\spac_narrower_method_analyze#1% {\ifcsname\??narrowermethod#1\endcsname - %\csname\??narrowermethod#1\endcsname \lastnamedcs \else \global\advance\s_spac_narrower_mid#1\relax diff --git a/tex/context/base/spac-ver.mkiv b/tex/context/base/spac-ver.mkiv index 41617bd2b..ee30cb264 100644 --- a/tex/context/base/spac-ver.mkiv +++ b/tex/context/base/spac-ver.mkiv @@ -132,7 +132,6 @@ \def\spac_linespacing_setup_relative_interlinespace#1% {\ifcsname\??interlinespacerelative#1\endcsname - %\csname\??interlinespacerelative#1\endcsname \lastnamedcs \else \spac_linespacing_set_specified_relative_interlinespace{#1}% @@ -371,7 +370,6 @@ \def\spac_whitespace_setup % quick test for no list {\ifcsname\??whitespacemethod\v_spac_whitespace_current\endcsname - %\csname\??whitespacemethod\v_spac_whitespace_current\endcsname \lastnamedcs \else \expandafter\processcommalist\expandafter[\v_spac_whitespace_current]\spac_whitespace_setup_method % can be raw @@ -424,7 +422,6 @@ \def\spac_whitespace_setup_method#1% {\ifcsname\??whitespacemethod#1\endcsname - %\csname\??whitespacemethod#1\endcsname \lastnamedcs \else \s_spac_whitespace_parskip#1\fi @@ -1066,7 +1063,6 @@ \def\spac_struts_setup[#1]% {\edef\m_strut{#1}% \ifcsname\??struts\m_strut\endcsname - %\csname\??struts\m_strut\endcsname % these are defined later \lastnamedcs \else \setcharstrut\m_strut @@ -1075,7 +1071,6 @@ \unexpanded\def\synchronizestrut#1% no [] parsing, faster for internal {\edef\m_strut{#1}% \ifcsname\??struts\m_strut\endcsname - %\csname\??struts\m_strut\endcsname \lastnamedcs \else \setcharstrut\m_strut @@ -1083,7 +1078,6 @@ \unexpanded\def\dosynchronizestrut#1% no [] parsing, faster for internal {\ifcsname\??struts#1\endcsname - %\csname\??struts#1\endcsname \lastnamedcs \else \setcharstrut{#1}% @@ -1467,12 +1461,10 @@ \def\spac_grids_snap_value_set#1% {%\gridsnappingtrue - %\ifcsname\??gridsnappers#1\endcsname\csname\??gridsnappers#1\endcsname\fi} \begincsname\??gridsnappers#1\endcsname} \def\spac_grids_snap_value_auto#1% {\ifcsname\??gridsnappers#1\endcsname - %\csname\??gridsnappers#1\endcsname \lastnamedcs \else \installsnapvalues\s!dummy{#1}% diff --git a/tex/context/base/status-files.pdf b/tex/context/base/status-files.pdf index 321b0f2b9..d75785346 100644 Binary files a/tex/context/base/status-files.pdf and b/tex/context/base/status-files.pdf differ diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf index 56eafab4a..ab77d9c62 100644 Binary files a/tex/context/base/status-lua.pdf and b/tex/context/base/status-lua.pdf differ diff --git a/tex/context/base/strc-con.mkvi b/tex/context/base/strc-con.mkvi index 9686903fc..792f3b156 100644 --- a/tex/context/base/strc-con.mkvi +++ b/tex/context/base/strc-con.mkvi @@ -493,7 +493,7 @@ \advance\ifx#1\v!flushleft\rightskip\else\leftskip\fi\constructionsheaddistance % only difference and wrong anyway \fi \flushconstructionheadbox}% - \setbox\constructionheadbox\hbox{\box\constructionheadbox}% needed in case of e.g. a real big head font, see descriptions-006.tex + \setbox\constructionheadbox\hpack{\box\constructionheadbox}% needed in case of e.g. a real big head font, see descriptions-006.tex \ht\constructionheadbox\strutht \dp\constructionheadbox\strutdp} @@ -508,7 +508,7 @@ \setupalign[\p_strc_constructions_headalign]% use fast one \fi \flushconstructionheadbox}% - \setbox\constructionheadbox\hbox{\box\constructionheadbox}% needed in case of e.g. a real big head font, see descriptions-006.tex + \setbox\constructionheadbox\hpack{\box\constructionheadbox}% needed in case of e.g. a real big head font, see descriptions-006.tex \ht\constructionheadbox\strutht \dp\constructionheadbox\strutdp} @@ -568,9 +568,10 @@ \leftskip\dimexpr\leftconstructionskip+\constructionsheadwidth+\constructionsheaddistance\relax \rightskip\rightconstructionskip\relax \llap { - \hbox to \leftskip { + \hpack to \leftskip { \hskip\leftconstructionskip - \copy\constructionheadbox\hss + \box\constructionheadbox % was copy + \hss } } \nobreak @@ -617,8 +618,8 @@ \noindent \strc_constructions_set_pure_box\v!flushleft \llap { - \hbox to \constructionsheadwidth { - \copy\constructionheadbox + \hpack to \constructionsheadwidth { + \box\constructionheadbox % was copy \hss } \hskip\constructionsheaddistance @@ -633,8 +634,9 @@ \strc_constructions_set_pure_box\v!flushright \rlap { \hskip\constructionsheaddistance - \hbox to \constructionsheadwidth { - \copy\constructionheadbox\hss + \hpack to \constructionsheadwidth { + \box\constructionheadbox % was copy + \hss } } \useconstructionstyleandcolor\c!style\c!color @@ -649,7 +651,7 @@ \strc_constructions_set_hang\v!left \noindent \llap { - \vtop to \zeropoint { + \tpack to \zeropoint { \box\constructionheadbox } } @@ -666,9 +668,9 @@ \strc_constructions_set_hang\v!right \noindent \rlap { - \hbox to \dimexpr\hsize-\leftskip-\rightskip\relax { + \hpack to \dimexpr\hsize-\leftskip-\rightskip\relax { \hss - \vtop to \zeropoint { + \tpack to \zeropoint { \box\constructionheadbox } } @@ -956,7 +958,6 @@ name {\currentconstructionmain} % level structures.sections.currentlevel() catcodes \catcodetable - % \currentdirectionparameters } references { internal \nextinternalreference diff --git a/tex/context/base/strc-itm.mkvi b/tex/context/base/strc-itm.mkvi index f951920d2..03ae38fb7 100644 --- a/tex/context/base/strc-itm.mkvi +++ b/tex/context/base/strc-itm.mkvi @@ -388,7 +388,6 @@ \let\itemgroupfirst\!!plusone \fi \ifcsname\??itemgroupkeyword\itemgroupsecond\endcsname - %\csname\??itemgroupkeyword\itemgroupsecond\endcsname \lastnamedcs \else \strc_itemgroups_set_symbol\itemgroupconstantvalue @@ -483,7 +482,6 @@ \def\strc_itemgroups_preset_stage_one_indeed#option% {\ifcsname\??itemgroupfirst#option\endcsname - %\csname\??itemgroupfirst#option\endcsname \lastnamedcs \fi} @@ -1431,7 +1429,6 @@ \ifx\m_strc_itemgroups_text_distance\empty % \else\ifcsname\??itemgroupdistance\m_strc_itemgroups_text_distance\endcsname - %\csname\??itemgroupdistance\m_strc_itemgroups_text_distance\endcsname \lastnamedcs \else \strc_itemgroups_set_text_item_distance_indeed @@ -1546,7 +1543,6 @@ \advance\c_strc_itemgroups_collected_current\plusone \fi \ifcsname\??itemgroupstack\number\c_strc_itemgroups_collected_current\endcsname - %\csname\??itemgroupstack\number\c_strc_itemgroups_collected_current\endcsname \lastnamedcs \letbeundefined{\??itemgroupstack\number\c_strc_itemgroups_collected_current}% \advance\c_strc_itemgroups_collected_done\plusone diff --git a/tex/context/base/strc-lst.lua b/tex/context/base/strc-lst.lua index e36ed9eaa..79f4dfc39 100644 --- a/tex/context/base/strc-lst.lua +++ b/tex/context/base/strc-lst.lua @@ -33,6 +33,7 @@ local report_lists = logs.reporter("structure","lists") local context = context local commands = commands local implement = interfaces.implement +local conditionals = tex.conditionals local structures = structures local lists = structures.lists @@ -219,6 +220,14 @@ function lists.addto(t) -- maybe more more here (saves parsing at the tex end) if not metadata.level then metadata.level = structures.sections.currentlevel() -- this is not used so it will go away end + -- + -- if not conditionals.inlinelefttoright then + -- metadata.idir = "r2l" + -- end + -- if not conditionals.displaylefttoright then + -- metadata.ddir = "r2l" + -- end + -- if numberdata then local numbers = numberdata.numbers if type(numbers) == "string" then @@ -247,18 +256,20 @@ function lists.addto(t) -- maybe more more here (saves parsing at the tex end) r.section = structures.sections.currentid() end local i = r and r.internal or 0 -- brrr -if r and kind and name then - local tag = tags.getid(kind,name) - if tag and tag ~= "?" then - r.tag = tag -- todo: use internal ... is unique enough + if r and kind and name then + local tag = tags.getid(kind,name) + if tag and tag ~= "?" then + r.tag = tag -- todo: use internal ... is unique enough + end end -end local p = pushed[i] if not p then p = #cached + 1 cached[p] = helpers.simplify(t) pushed[i] = p - r.listindex = p + if r then + r.listindex = p + end end if group then groupindices[name][group] = p diff --git a/tex/context/base/strc-not.mkvi b/tex/context/base/strc-not.mkvi index 06d6d502e..c3dc86f3e 100644 --- a/tex/context/base/strc-not.mkvi +++ b/tex/context/base/strc-not.mkvi @@ -256,19 +256,6 @@ \strc_constructions_finalize \normalexpanded{\endgroup\noteparameter\c!next}} -% \unexpanded\def\strc_notations_start#tag#stoptag% -% {\begingroup -% \edef\currentnote{#tag}% -% \strc_constructions_initialize{#tag}% -% \strc_notes_synchronize -% \ifnotesenabled -% \strc_counters_increment_sub\currentconstructionnumber\currentconstructionlevel -% \fi -% \normalexpanded % not that efficient but also not that frequently used (\normaldef for parser) -% {\normaldef\noexpand\strc_pickup_yes[##1]##2\csname\e!stop#stoptag\endcsname{\strc_notations_command_yes[##1]{##2}}% -% \normaldef\noexpand\strc_pickup_nop ##1\csname\e!stop#stoptag\endcsname{\strc_notations_command_nop {##1}}}% -% \doifnextoptionalcselse\strc_pickup_yes\strc_pickup_nop} - \unexpanded\def\strc_notations_start#tag#stoptag% {\begingroup \edef\currentnote{#tag}% @@ -461,13 +448,11 @@ \global\settrue\postponednote \else\ifconditional\inlocalnotes % todo: per note class \global\settrue\postponednote + \else\ifconditional\c_strc_notes_delayed + % probably end notes \else -\ifconditional\c_strc_notes_delayed - % probably end notes -\else \handlenoteinsert\currentnote\currentnotenumber % either an insert or just delayed -\fi - \fi\fi + \fi\fi\fi \endgroup \fi \fi @@ -674,7 +659,7 @@ \strc_notes_inject_separator \fi \nobreak - \hbox to .5\emwidth{}% + \hpack to .5\emwidth{}% \globallet\lastnotesymbol\relax} \unexpanded\def\strc_notes_inject_separator % patch by WS due to request on list @@ -816,8 +801,8 @@ \installcorenamespace{notepenalty} \installcorenamespace{noterule} -\def\currentnoterulecommand{\csname\??notecommand\currentnote\endcsname} -\def\currentnoterulealign {\csname\??notealign \currentnote\endcsname} +\def\currentnoterulecommand{\begincsname\??notecommand\currentnote\endcsname} +\def\currentnoterulealign {\begincsname\??notealign \currentnote\endcsname} \def\currentnoterulecommandcommand{\noteparameter\c!rulecommand} \def\currentnoterulecommandnormal {\normalnoterule} % no let as it can be changed afterwards @@ -833,18 +818,25 @@ \def\strc_notes_set_rule {\letcurrentnoterulecommand\relax % so we default to nothing + \letcurrentnoterulealign \relax \processcommacommand[\noteparameter\c!rule]\strc_notes_set_rule_step} \def\strc_notes_set_rule_step#alternative% - {\csname\??noterule\ifcsname\??noterule#alternative\endcsname#alternative\else\s!unknown\fi\endcsname} - -\setvalue{\??noterule\v!command}{\letcurrentnoterulecommand\currentnoterulecommandcommand} -\setvalue{\??noterule \v!on}{\letcurrentnoterulecommand\currentnoterulecommandnormal} -\setvalue{\??noterule \v!normal}{\letcurrentnoterulecommand\currentnoterulecommandnormal} -\setvalue{\??noterule \v!left}{\letcurrentnoterulealign \lefttoright} -\setvalue{\??noterule \v!right}{\letcurrentnoterulealign \righttoleft} -\setvalue{\??noterule \v!off}{\letcurrentnoterulecommand\relax} -%setvalue{\??noterule\s!unknown}{\letcurrentnoterulecommand\currentnoterulecommandunknown} % obsolete + {\begincsname\??noterule#alternative\endcsname} + +\def\strc_notes_set_rule_autodir + {\doifelserighttoleftinbox\currentnoteinsertionnumber\righttoleft\lefttoright} + +\setvalue{\??noterule \v!command}{\letcurrentnoterulecommand\currentnoterulecommandcommand} +\setvalue{\??noterule \v!on}{\letcurrentnoterulecommand\currentnoterulecommandnormal} +\setvalue{\??noterule \v!normal}{\letcurrentnoterulecommand\currentnoterulecommandnormal} +\setvalue{\??noterule \v!left}{\letcurrentnoterulecommand\currentnoterulecommandnormal + \letcurrentnoterulealign \lefttoright} +\setvalue{\??noterule \v!right}{\letcurrentnoterulecommand\currentnoterulecommandnormal + \letcurrentnoterulealign \righttoleft} +\setvalue{\??noterule\v!paragraph}{\letcurrentnoterulecommand\currentnoterulecommandnormal + \letcurrentnoterulealign \strc_notes_set_rule_autodir} +\setvalue{\??noterule \v!off}{\letcurrentnoterulecommand\relax} \appendtoks \strc_notes_set_rule @@ -852,7 +844,7 @@ \def\currentnotepenalty {\ifcsname\??notepenalty\noteparameter\c!split\endcsname - \csname\??notepenalty\noteparameter\c!split\endcsname + \lastnamedcs \else \numexpr\noteparameter\c!split\relax \fi} @@ -1301,11 +1293,7 @@ \whitespace \noteparameter\c!before \fi - % \bgroup - % \usealignparameter\noteparameter - \placenoterule % alleen in ..mode - % \par - % \egroup + \placenoterule \bgroup \strc_notes_set_bodyfont \setbox\scratchbox\hbox @@ -1319,12 +1307,12 @@ \c!strut=\v!no, \c!offset=\v!overlay]% \inheritednoteframed - {\ifdim\dp\scratchbox=\zeropoint % this hack is needed because \vadjust - \hbox{\lower\strutdp\box\scratchbox}% % in margin number placement - \else % hides the (always) present depth + {\ifdim\dp\scratchbox=\zeropoint % this hack is needed because \vadjust + \hpack{\lower\strutdp\box\scratchbox}% % in margin number placement + \else % hides the (always) present depth \box\scratchbox \fi}}% - \setbox\scratchbox\hbox{\lower\strutdepth\box\scratchbox}% + \setbox\scratchbox\hpack{\lower\strutdepth\box\scratchbox}% \dp\scratchbox\strutdepth % so we know that it has the note bodyfont depth \ifvmode \nointerlineskip % else sometimes empty line diff --git a/tex/context/base/strc-ref.mkvi b/tex/context/base/strc-ref.mkvi index 1f2c91404..404bef62f 100644 --- a/tex/context/base/strc-ref.mkvi +++ b/tex/context/base/strc-ref.mkvi @@ -2130,13 +2130,10 @@ \def\referencestructureprefixparameter#kind#name#category#parameter% {\ifcsname\??referencingprefix#name:#category#parameter\endcsname - %\csname\??referencingprefix#name:#category#parameter\endcsname \lastnamedcs \else\ifcsname\??referencingprefix#kind:#category#parameter\endcsname - %\csname \??referencingprefix#kind:#category#parameter\endcsname \lastnamedcs \else\ifcsname\??referencingprefix:#category#parameter\endcsname - %\csname \??referencingprefix:#category#parameter\endcsname \lastnamedcs \fi\fi\fi} diff --git a/tex/context/base/strc-sec.mkiv b/tex/context/base/strc-sec.mkiv index a187ed50e..c57fb2dd6 100644 --- a/tex/context/base/strc-sec.mkiv +++ b/tex/context/base/strc-sec.mkiv @@ -671,7 +671,6 @@ \unexpanded\def\strc_sectioning_initialize_increment {\edef\currentheadincrement{\headparameter\c!incrementnumber}% \ifcsname\??headincrement\currentheadincrement\endcsname - %\csname\??headincrement\currentheadincrement\endcsname \lastnamedcs \else \settrue \c_strc_sectioning_increment\settrue \c_strc_sectioning_to_list diff --git a/tex/context/base/strc-syn.mkiv b/tex/context/base/strc-syn.mkiv index 1c47dc876..28d418751 100644 --- a/tex/context/base/strc-syn.mkiv +++ b/tex/context/base/strc-syn.mkiv @@ -344,6 +344,8 @@ \let \currentsynonym\currentsimplelist % for a while \def \currentsynonymtag{#2}% \edef\currentsimplelistalternative{\simplelistparameter\c!alternative}% + \doifnotcommandhandler\??simplelistalternative\currentsimplelistalternative + {\let\currentsimplelistalternative\v!normal}% \fastsetup{\??simplelistrenderings:\v!synonym:\currentsimplelistalternative}% \normalexpanded{\endgroup\simplelistparameter\c!next}} @@ -550,9 +552,17 @@ \def \currentsortingtag{#2}% \let \currentsimplelist\currentsorting \edef\currentsimplelistalternative{\simplelistparameter\c!alternative}% + \doifnotcommandhandler\??simplelistalternative\currentsimplelistalternative + {\let\currentsimplelistalternative\v!normal}% \fastsetup{\??simplelistrenderings:\v!sorting:\currentsimplelistalternative}% \normalexpanded{\endgroup\simplelistparameter\c!next}} +% or: +% +% \doifelsesetups{\??simplelistrenderings:\v!sorting:\currentsimplelistalternative} +% {\fastsetup{\??simplelistrenderings:\v!sorting:\currentsimplelistalternative}} +% {\fastsetup{\??simplelistrenderings:\v!sorting:\v!normal}} + \startsetups [\??simplelistrenderings:\v!sorting:\v!normal] \fastsetup{\??simplelistrenderings::\v!sorting}% \stopsetups diff --git a/tex/context/base/strc-tag.lua b/tex/context/base/strc-tag.lua index 967b0d63b..8f2e18978 100644 --- a/tex/context/base/strc-tag.lua +++ b/tex/context/base/strc-tag.lua @@ -511,6 +511,6 @@ implement { implement { name = "settaggedmetadata", - actions = structures.tags.registermetadata, + actions = tags.registermetadata, arguments = "string" } diff --git a/tex/context/base/supp-box.lua b/tex/context/base/supp-box.lua index 7ba349a6b..d3a4f57e5 100644 --- a/tex/context/base/supp-box.lua +++ b/tex/context/base/supp-box.lua @@ -394,3 +394,27 @@ interfaces.implement { context.lastnaturalboxwd(false) end } + +local function firstdirinbox(n) + local b = getbox(n) + if b then + local l = getlist(b) + if l then + for h in traverse_id(hlist_code,l) do + return getfield(h,"dir") + end + end + end +end + +nodes.firstdirinbox = firstdirinbox + +local doifelse = commands.doifelse + +interfaces.implement { + name = "doifelserighttoleftinbox", + arguments = "integer", + actions = function(n) + doifelse(firstdirinbox(n) == "TRT") + end +} diff --git a/tex/context/base/supp-box.mkiv b/tex/context/base/supp-box.mkiv index e32303956..e36671277 100644 --- a/tex/context/base/supp-box.mkiv +++ b/tex/context/base/supp-box.mkiv @@ -281,7 +281,6 @@ \def\syst_boxes_smash_process_option#1% {\ifx#1\relax\else - %\csname\??smashoptions#1\endcsname\csname\??smashoptions#1\endcsname\fi \begincsname\??smashoptions#1\endcsname \expandafter\syst_boxes_smash_process_option \fi} @@ -2883,6 +2882,10 @@ \let\getnaturaldimensions\clf_getnaturaldimensions % sets three dimensions \let\naturalwd \clf_naturalwd % calculates and returns wd +\unexpanded\def\doifelserighttoleftinbox{\clf_doifelserighttoleftinbox} + +\let\doifrighttoleftinboxelse\doifelserighttoleftinbox + \protect \endinput % a bit of test code: diff --git a/tex/context/base/tabl-mis.mkiv b/tex/context/base/tabl-mis.mkiv index aafe270de..8db31b31d 100644 --- a/tex/context/base/tabl-mis.mkiv +++ b/tex/context/base/tabl-mis.mkiv @@ -134,7 +134,8 @@ \def\typo_paragraphs_setup[#1][#2][#3]% we are downward compatible with [each] and [1,3] {\ifthirdargument \doifelse{#2}\v!each - {\typo_paragraphs_setup_saved[#1][#3]} + {\dorecurse{\namedparagraphsparameter{#1}\c!n}% + {\normalexpanded{\typo_paragraphs_setup_saved[#1:\recurselevel]}[#3]}}% {\def\typo_paragraphs_setup_step##1{\typo_paragraphs_setup_saved[#1:##1][#3]}% \processcommalist[#2]\typo_paragraphs_setup_step}% \else\ifsecondargument diff --git a/tex/context/base/tabl-ntb.mkiv b/tex/context/base/tabl-ntb.mkiv index e42903274..78e867546 100644 --- a/tex/context/base/tabl-ntb.mkiv +++ b/tex/context/base/tabl-ntb.mkiv @@ -290,11 +290,6 @@ \def\tabl_ntb_let_dis#1{\global\expandafter\let\csname\??naturaltabledis\m_tabl_tbl_level:\number#1\endcsname} % {#2} global ! \def\tabl_ntb_let_aut#1{\global\expandafter\let\csname\??naturaltableaut\m_tabl_tbl_level:\number#1\endcsname} % {#2} global ! -%def\tabl_ntb_get_wid#1{\ifcsname\??naturaltablewid\m_tabl_tbl_level:\number#1\endcsname\csname\??naturaltablewid\m_tabl_tbl_level:\number#1\endcsname\else\zeropoint\fi} -%def\tabl_ntb_get_hei#1{\ifcsname\??naturaltablehei\m_tabl_tbl_level:\number#1\endcsname\csname\??naturaltablehei\m_tabl_tbl_level:\number#1\endcsname\else\zeropoint\fi} -%def\tabl_ntb_get_dis#1{\ifcsname\??naturaltabledis\m_tabl_tbl_level:\number#1\endcsname\csname\??naturaltabledis\m_tabl_tbl_level:\number#1\endcsname\else\zeropoint\fi} -%def\tabl_ntb_get_aut#1{\csname \??naturaltableaut\m_tabl_tbl_level:\number#1\endcsname} - \def\tabl_ntb_get_wid#1{\ifcsname\??naturaltablewid\m_tabl_tbl_level:\number#1\endcsname\lastnamedcs\else\zeropoint\fi} \def\tabl_ntb_get_hei#1{\ifcsname\??naturaltablehei\m_tabl_tbl_level:\number#1\endcsname\lastnamedcs\else\zeropoint\fi} \def\tabl_ntb_get_dis#1{\ifcsname\??naturaltabledis\m_tabl_tbl_level:\number#1\endcsname\lastnamedcs\else\zeropoint\fi} @@ -515,90 +510,6 @@ \let\tabl_ntb_setup_section\relax -% \unexpanded\def\tabl_ntb_setup_cell#1#2% cell over col over row -% {\tabl_ntb_setup_section % already forgotten -% \edef\m_tabl_ntb_positive_row{\number#1}% -% \edef\m_tabl_ntb_positive_col{\number#2}% -% \edef\m_tabl_ntb_negative_row{\the\numexpr-\c_tabl_ntb_maximum_row+#1+\minusone\relax}% -% \edef\m_tabl_ntb_negative_col{\the\numexpr-\c_tabl_ntb_maximum_col+#2+\minusone\relax}% -% % saves tokens (no speed gain) -% \edef\m_tabl_ntb_prefix{\??naturaltableset\m_tabl_tbl_level:}% -% % each each -% \csname\m_tabl_ntb_prefix\c!x\v!each\c!y\v!each\endcsname -% \csname\m_tabl_ntb_prefix\c!y\v!each\endcsname -% \csname\m_tabl_ntb_prefix\c!x\v!each\endcsname -% % odd even -% \csname\m_tabl_ntb_prefix\c!y\v!oddeven\m_tabl_ntb_positive_row\endcsname -% \csname\m_tabl_ntb_prefix\c!x\v!oddeven\m_tabl_ntb_positive_col\endcsname -% \csname\m_tabl_ntb_prefix\c!x\v!oddeven\m_tabl_ntb_positive_col\c!y\v!oddeven\m_tabl_ntb_positive_row\endcsname -% % row/col number combinations -% \ifcsname\m_tabl_ntb_prefix\c!y\m_tabl_ntb_positive_row\endcsname\csname\m_tabl_ntb_prefix\c!y\m_tabl_ntb_positive_row\endcsname\fi -% \ifcsname\m_tabl_ntb_prefix\c!y\m_tabl_ntb_negative_row\endcsname\csname\m_tabl_ntb_prefix\c!y\m_tabl_ntb_negative_row\endcsname\fi -% \naturaltablelocalparameter\c!extras -% \letnaturaltablelocalparameter\c!extras\relax % new, see x-fo -% \ifcsname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_positive_col\endcsname\csname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_positive_col\endcsname\fi -% \ifcsname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_negative_col\endcsname\csname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_negative_col\endcsname\fi -% \naturaltablelocalparameter\c!extras -% \letnaturaltablelocalparameter\c!extras\relax % new, see x-fo -% % first/last combinations -% \ifnum\m_tabl_ntb_positive_row=\plusone -% \csname\m_tabl_ntb_prefix\c!y\v!first\endcsname -% \ifcsname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_positive_col\c!y\v!first\endcsname\csname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_positive_col\c!y\v!first\endcsname\fi -% \fi -% \ifnum\m_tabl_ntb_positive_col=\plusone -% \csname\m_tabl_ntb_prefix\c!x\v!first\endcsname -% \ifcsname\m_tabl_ntb_prefix\c!x\v!first\c!y\m_tabl_ntb_positive_row\endcsname\csname\m_tabl_ntb_prefix\c!x\v!first\c!y\m_tabl_ntb_positive_row\endcsname\fi -% \fi -% \ifnum\m_tabl_ntb_positive_row=\c_tabl_ntb_maximum_row\relax -% \csname\m_tabl_ntb_prefix\c!y\v!last\endcsname -% \ifcsname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_positive_col\c!y\v!last\endcsname\csname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_positive_col\c!y\v!last\endcsname\fi -% \fi -% \ifnum\m_tabl_ntb_positive_col=\c_tabl_ntb_maximum_col\relax -% \csname\m_tabl_ntb_prefix\c!x\v!last\endcsname -% \ifcsname\m_tabl_ntb_prefix\c!x\v!last\c!y\m_tabl_ntb_positive_row\endcsname\csname\m_tabl_ntb_prefix\c!x\v!last\c!y\m_tabl_ntb_positive_row\endcsname\fi -% \fi -% \ifnum\m_tabl_ntb_positive_row=\c_tabl_ntb_maximum_row\relax \ifnum\m_tabl_ntb_positive_col=\c_tabl_ntb_maximum_col\relax -% \csname\m_tabl_ntb_prefix\c!x\v!last\c!y\v!last\endcsname -% \fi\fi -% \ifnum\m_tabl_ntb_positive_row=\plusone \ifnum\m_tabl_ntb_positive_col=\plusone -% \csname\m_tabl_ntb_prefix\c!x\v!first\c!y\v!first\endcsname -% \fi\fi -% \ifnum\m_tabl_ntb_positive_row=\plusone \ifnum\m_tabl_ntb_positive_col=\c_tabl_ntb_maximum_col\relax -% \csname\m_tabl_ntb_prefix\c!x\v!last\c!y\v!first\endcsname -% \fi\fi -% \ifnum\m_tabl_ntb_positive_row=\c_tabl_ntb_maximum_row\relax \ifnum\m_tabl_ntb_positive_col=\plusone -% \csname\m_tabl_ntb_prefix\c!x\v!first\c!y\v!last\endcsname -% \fi\fi -% % special case: two rows and last row : two&first and two&last (round corners) -% \ifnum\c_tabl_ntb_maximum_row=\plustwo\relax -% \ifnum\m_tabl_ntb_positive_row=\c_tabl_ntb_maximum_row\relax \ifnum\m_tabl_ntb_positive_col=\plusone -% \csname\m_tabl_ntb_prefix\c!x\v!first\c!y\v!two\endcsname -% \fi\fi -% \ifnum\m_tabl_ntb_positive_row=\c_tabl_ntb_maximum_row\relax \ifnum\m_tabl_ntb_positive_col=\c_tabl_ntb_maximum_col\relax -% \csname\m_tabl_ntb_prefix\c!x\v!last\c!y\v!two\endcsname -% \fi\fi -% \fi -% \ifnum\tabl_ntb_get_col\m_tabl_ntb_positive_row\m_tabl_ntb_positive_col=\c_tabl_ntb_maximum_col\relax % top span over whole width -% \ifnum\m_tabl_ntb_positive_row=\plusone -% \csname\m_tabl_ntb_prefix\c!x\v!one\c!y\v!first\endcsname -% \fi -% \ifnum\m_tabl_ntb_positive_row=\c_tabl_ntb_maximum_row\relax -% \csname\m_tabl_ntb_prefix\c!x\v!one\c!y\v!last\endcsname -% \fi -% \fi -% % header things -% \ifnum#1>\c_tabl_ntb_n_of_hdnx_lines\else -% \ifcsname\m_tabl_ntb_prefix\v!header\v!each \endcsname\csname\m_tabl_ntb_prefix\v!header\v!each \endcsname\fi -% \ifcsname\m_tabl_ntb_prefix\v!header\m_tabl_ntb_positive_col\endcsname\csname\m_tabl_ntb_prefix\v!header\m_tabl_ntb_positive_col\endcsname\fi -% \fi -% % explicit cells -% \ifcsname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_positive_col\c!y\m_tabl_ntb_positive_row\endcsname\csname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_positive_col\c!y\m_tabl_ntb_positive_row\endcsname\fi -% \ifcsname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_negative_col\c!y\m_tabl_ntb_negative_row\endcsname\csname\m_tabl_ntb_prefix\c!x\m_tabl_ntb_negative_col\c!y\m_tabl_ntb_negative_row\endcsname\fi -% % local -% \ifcsname\m_tabl_ntb_prefix\c!y++\m_tabl_ntb_positive_row\endcsname\csname\m_tabl_ntb_prefix\c!y++\m_tabl_ntb_positive_row\endcsname\fi -% % done -% \relax} - \unexpanded\def\tabl_ntb_setup_cell#1#2% cell over col over row {\tabl_ntb_setup_section % already forgotten \edef\m_tabl_ntb_positive_row{\number#1}% @@ -965,17 +876,6 @@ #2% \let\tabl_ntb_setup_section\relax} -% \def\tabl_ntb_preset_parameters% each odd|even level / can be sped up but only once per table -% {\ifcsname\??naturaltableset\m_tabl_tbl_level:\v!start\v!each\endcsname -% \csname\??naturaltableset\m_tabl_tbl_level:\v!start\v!each\endcsname -% \fi -% \ifcsname\??naturaltableset\m_tabl_tbl_level:\v!start\v!oddeven\m_tabl_tbl_level\endcsname % hm -% \csname\??naturaltableset\m_tabl_tbl_level:\v!start\v!oddeven\m_tabl_tbl_level\endcsname -% \fi -% \ifcsname\??naturaltableset\m_tabl_tbl_level:\v!start\m_tabl_tbl_level\endcsname % hm -% \csname\??naturaltableset\m_tabl_tbl_level:\v!start\m_tabl_tbl_level\endcsname -% \fi} - \def\tabl_ntb_preset_parameters% each odd|even level / can be sped up but only once per table {\begincsname\??naturaltableset\m_tabl_tbl_level:\v!start\v!each\endcsname \begincsname\??naturaltableset\m_tabl_tbl_level:\v!start\v!oddeven\m_tabl_tbl_level\endcsname diff --git a/tex/context/base/tabl-tab.mkiv b/tex/context/base/tabl-tab.mkiv index 6f7a005f1..c8ddd131e 100644 --- a/tex/context/base/tabl-tab.mkiv +++ b/tex/context/base/tabl-tab.mkiv @@ -1424,8 +1424,8 @@ \egroup} \def\dousetabletemplate#1#2#3% - {\gdef\dotablehead{\executeifdefined{\??tablehead#2}\empty}% - \gdef\dotabletail{\executeifdefined{\??tabletail#3}\empty}% + {\gdef\dotablehead{\begincsname\??tablehead#2\endcsname}% + \gdef\dotabletail{\begincsname\??tabletail#3\endcsname}% \secondstagestarttable[#1]} %D The optional third and fourth arguments define which table @@ -1670,11 +1670,11 @@ % \def\dosettabletail[#1][#2]#3\end{\setvalue{\??tabletail#1}{\tablenoalign{\global\settrue\hassometabletail}#3}} \def\dosettablehead[#1][#2]#3\end - {\gdef\dotablehead{\executeifdefined{\??tablehead#1}\empty}% new + {\gdef\dotablehead{\begincsname\??tablehead#1\endcsname}% new \setvalue{\??tablehead#1}{\tablenoalign{\global\settrue\hassometablehead}#3}} \def\dosettabletail[#1][#2]#3\end - {\gdef\dotabletail{\executeifdefined{\??tabletail#1}\empty}% new + {\gdef\dotabletail{\begincsname\??tabletail#1\endcsname}% new \setvalue{\??tabletail#1}{\tablenoalign{\global\settrue\hassometabletail}#3}} \normalexpanded diff --git a/tex/context/base/tabl-tbl.mkiv b/tex/context/base/tabl-tbl.mkiv index abe32d593..f7305b5bb 100644 --- a/tex/context/base/tabl-tbl.mkiv +++ b/tex/context/base/tabl-tbl.mkiv @@ -1542,7 +1542,6 @@ \def\tabl_tabulate_column_rule_separator_step#1% {\ifcsname\??tabulateseparator#1\endcsname - %\csname\??tabulateseparator#1\endcsname \lastnamedcs \else \s_tabl_tabulate_separator#1\relax diff --git a/tex/context/base/tabl-xtb.lua b/tex/context/base/tabl-xtb.lua index c3b07b234..87d5fa121 100644 --- a/tex/context/base/tabl-xtb.lua +++ b/tex/context/base/tabl-xtb.lua @@ -1247,3 +1247,27 @@ implement { name = "x_table_set_reflow_height", actions = xtables.set_re implement { name = "x_table_set_construct", actions = xtables.set_construct } implement { name = "x_table_r", actions = function() context(data.currentrow or 0) end } implement { name = "x_table_c", actions = function() context(data.currentcolumn or 0) end } + +-- experiment: + +do + + local context = context + + local startxtable = context.startxtable + local stopxtable = context.stopxtable + + local startcollecting = context.startcollecting + local stopcollecting = context.stopcollecting + + function context.startxtable(...) + startcollecting() + startxtable(...) + end + + function context.stopxtable() + stopxtable() + stopcollecting() + end + +end diff --git a/tex/context/base/x-mathml.mkiv b/tex/context/base/x-mathml.mkiv index d0c1aaa8a..ec56aa3df 100644 --- a/tex/context/base/x-mathml.mkiv +++ b/tex/context/base/x-mathml.mkiv @@ -2361,11 +2361,9 @@ \edef\mmlovercommand {\utfmathcommandabove\mmlovertoken} \edef\mmlbasecommand {\mmlovercommand\mmlundercommand} \ifcsname\mmlbasecommand\endcsname - %\csname\mmlbasecommand\endcsname{\mmlfencedfirst{#1}} \lastnamedcs {\mmlfencedfirst{#1}} \else\ifcsname\mmlundercommand\endcsname \ifcsname\mmlovercommand\endcsname - %\csname\mmlovercommand\endcsname{\csname\mmlundercommand\endcsname{\mmlfencedfirst{#1}}} \lastnamedcs {\csname\mmlundercommand\endcsname{\mmlfencedfirst{#1}}} \else \mmldoubletriplet {\csname\mmlundercommand\endcsname{\mmlfencedfirst{#1}}} {\mmlfencedthird{#1}\mmlfencedthird{#1}} {} @@ -2380,7 +2378,6 @@ \edef\mmlundercommand{\utfmathcommandbelow\mmlundertoken} \edef\mmlbasecommand {\mmlundercommand text} \ifcsname\mmlbasecommand\endcsname - %\csname\mmlbasecommand\endcsname {\mmlfencedfirst{#1}} {\mmlfencedthird{#1}} \lastnamedcs {\mmlfencedfirst{#1}} {\mmlfencedthird{#1}} \else\ifcsname\mmlundercommand\endcsname \mmldoubletriplet {\csname\mmlundercommand\endcsname{\mmlfencedfirst{#1}}} {\mmlfencedthird{#1}} {} @@ -2392,7 +2389,6 @@ \edef\mmlovercommand{\utfmathcommandabove\mmlovertoken} \edef\mmlbasecommand{\mmlovercommand text} \ifcsname\mmlbasecommand\endcsname - %\csname\mmlbasecommand\endcsname {\mmlfencedfirst{#1}} {\mmlfencedsecond{#1}} \lastnamedcs {\mmlfencedfirst{#1}} {\mmlfencedsecond{#1}} \else\ifcsname\mmlovercommand\endcsname \mmldoubletriplet {\csname\mmlovercommand\endcsname{\mmlfencedfirst{#1}}} {} {\mmlfencedsecond{#1}} diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua index fd8280c8c..6be225fcd 100644 --- a/tex/generic/context/luatex/luatex-fonts-merged.lua +++ b/tex/generic/context/luatex/luatex-fonts-merged.lua @@ -1,6 +1,6 @@ -- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua -- parent file : c:/data/develop/context/sources/luatex-fonts.lua --- merge date : 12/31/15 16:49:34 +-- merge date : 01/04/16 15:47:13 do -- begin closure to overcome local limits and interference -- cgit v1.2.3