summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-04 16:15:08 +0100
committerContext Git Mirror Bot <phg42.2a@gmail.com>2016-01-04 16:15:08 +0100
commit375d5805bcdeeade99aff1cee9eae3bf7838dc66 (patch)
tree4ca0e22df4d25e897c6189ee7a0c5b0a65ec3728
parentda0401e373d5db17ad5b2da41eb599ec126840bf (diff)
downloadcontext-375d5805bcdeeade99aff1cee9eae3bf7838dc66.tar.gz
2016-01-04 15:49:00
-rw-r--r--doc/context/scripts/mkii/ctxtools.man2
-rw-r--r--doc/context/scripts/mkii/imgtopdf.man2
-rw-r--r--doc/context/scripts/mkii/mptopdf.man2
-rw-r--r--doc/context/scripts/mkii/pdftools.man2
-rw-r--r--doc/context/scripts/mkii/pstopdf.man2
-rw-r--r--doc/context/scripts/mkii/rlxtools.man2
-rw-r--r--doc/context/scripts/mkii/texexec.man2
-rw-r--r--doc/context/scripts/mkii/texmfstart.man2
-rw-r--r--doc/context/scripts/mkii/textools.man2
-rw-r--r--doc/context/scripts/mkii/texutil.man2
-rw-r--r--doc/context/scripts/mkii/tmftools.man2
-rw-r--r--doc/context/scripts/mkii/xmltools.man2
-rw-r--r--doc/context/scripts/mkiv/context.man2
-rw-r--r--doc/context/scripts/mkiv/luatools.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-babel.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-base.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-bibtex.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-cache.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-chars.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-check.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-colors.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-context.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-epub.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-fcd.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-flac.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-fonts.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-grep.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-interface.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-metapost.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-metatex.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-modules.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-package.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-patterns.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-pdf.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-plain.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-profile.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-rsync.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-scite.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-server.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-texworks.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-timing.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-tools.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-unicode.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-unzip.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-update.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-watch.man2
-rw-r--r--doc/context/scripts/mkiv/mtx-youless.man2
-rw-r--r--doc/context/scripts/mkiv/mtxrun.man2
-rw-r--r--tex/context/base/catc-ini.mkiv77
-rw-r--r--tex/context/base/cldf-ini.lua117
-rw-r--r--tex/context/base/colo-ini.mkiv8
-rw-r--r--tex/context/base/cont-new.mkiv2
-rw-r--r--tex/context/base/context-version.pdfbin4177 -> 4170 bytes
-rw-r--r--tex/context/base/context.mkiv2
-rw-r--r--tex/context/base/core-env.mkiv18
-rw-r--r--tex/context/base/font-dsp.lua10
-rw-r--r--tex/context/base/font-ini.mkvi2
-rw-r--r--tex/context/base/font-otl.lua2
-rw-r--r--tex/context/base/font-otr.lua30
-rw-r--r--tex/context/base/font-ots.lua2
-rw-r--r--tex/context/base/lang-lab.mkiv8
-rw-r--r--tex/context/base/lang-mis.mkiv327
-rw-r--r--tex/context/base/math-fen.mkiv32
-rw-r--r--tex/context/base/math-frc.mkiv1
-rw-r--r--tex/context/base/meta-ini.mkiv8
-rw-r--r--tex/context/base/node-aux.lua3
-rw-r--r--tex/context/base/node-rul.mkiv2
-rw-r--r--tex/context/base/pack-box.mkiv1
-rw-r--r--tex/context/base/pack-lyr.mkiv8
-rw-r--r--tex/context/base/page-brk.mkiv4
-rw-r--r--tex/context/base/page-imp.mkiv2
-rw-r--r--tex/context/base/page-lin.mkvi3
-rw-r--r--tex/context/base/page-otr.mkvi1
-rw-r--r--tex/context/base/page-txt.mkvi2
-rw-r--r--tex/context/base/spac-ali.mkiv17
-rw-r--r--tex/context/base/spac-hor.mkiv5
-rw-r--r--tex/context/base/spac-ver.mkiv8
-rw-r--r--tex/context/base/status-files.pdfbin24355 -> 24371 bytes
-rw-r--r--tex/context/base/status-lua.pdfbin257777 -> 257802 bytes
-rw-r--r--tex/context/base/strc-con.mkvi25
-rw-r--r--tex/context/base/strc-itm.mkvi4
-rw-r--r--tex/context/base/strc-lst.lua23
-rw-r--r--tex/context/base/strc-not.mkvi68
-rw-r--r--tex/context/base/strc-ref.mkvi3
-rw-r--r--tex/context/base/strc-sec.mkiv1
-rw-r--r--tex/context/base/strc-syn.mkiv10
-rw-r--r--tex/context/base/strc-tag.lua2
-rw-r--r--tex/context/base/supp-box.lua24
-rw-r--r--tex/context/base/supp-box.mkiv5
-rw-r--r--tex/context/base/tabl-mis.mkiv3
-rw-r--r--tex/context/base/tabl-ntb.mkiv100
-rw-r--r--tex/context/base/tabl-tab.mkiv8
-rw-r--r--tex/context/base/tabl-tbl.mkiv1
-rw-r--r--tex/context/base/tabl-xtb.lua24
-rw-r--r--tex/context/base/x-mathml.mkiv4
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
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
--- a/tex/context/base/context-version.pdf
+++ b/tex/context/base/context-version.pdf
Binary files 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 <key><key> <key><known> <key><unknown>
-%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 <key><key> <key><known> <key><unknown>
+% %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
--- a/tex/context/base/status-files.pdf
+++ b/tex/context/base/status-files.pdf
Binary files differ
diff --git a/tex/context/base/status-lua.pdf b/tex/context/base/status-lua.pdf
index 56eafab4a..ab77d9c62 100644
--- a/tex/context/base/status-lua.pdf
+++ b/tex/context/base/status-lua.pdf
Binary files 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