summaryrefslogtreecommitdiff
path: root/doc/context
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-07-27 19:52:30 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-07-27 19:52:30 +0200
commitdf12f144a2cb09cec29a95df26bdfc5ccad58aff (patch)
treef25cb74e040f21e898e270c1299899b51b34bba7 /doc/context
parentc73351bc5e590d5a7ebd2b0f13f895a447d25794 (diff)
downloadcontext-df12f144a2cb09cec29a95df26bdfc5ccad58aff.tar.gz
2021-07-27 19:27:00
Diffstat (limited to 'doc/context')
-rw-r--r--doc/context/documents/general/manuals/bidi.pdfbin121014 -> 108054 bytes
-rw-r--r--doc/context/documents/general/manuals/cld-mkiv.pdfbin804291 -> 692894 bytes
-rw-r--r--doc/context/documents/general/manuals/colors-mkiv.pdfbin2129948 -> 2319397 bytes
-rw-r--r--doc/context/documents/general/manuals/followingup.pdfbin913258 -> 439529 bytes
-rw-r--r--doc/context/documents/general/manuals/languages-mkiv.pdfbin678284 -> 283651 bytes
-rw-r--r--doc/context/documents/general/manuals/musings.pdfbin6002933 -> 1469208 bytes
-rw-r--r--doc/context/documents/general/manuals/primitives.pdfbin143288 -> 143967 bytes
-rw-r--r--doc/context/documents/general/manuals/rules-mkiv.pdfbin187549 -> 111325 bytes
-rw-r--r--doc/context/documents/general/manuals/spacing-mkiv.pdfbin40300 -> 97602 bytes
-rw-r--r--doc/context/documents/general/manuals/xml-mkiv.pdfbin899449 -> 268614 bytes
-rw-r--r--doc/context/presentations/context/2020/context-2020-implementers.pdfbin39686 -> 33665 bytes
-rw-r--r--doc/context/presentations/context/2020/context-2020-tokens.pdfbin43876 -> 42665 bytes
-rw-r--r--doc/context/presentations/context/2020/context-2020-tokens.tex26
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi-contents.tex2
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi-fonts.tex2
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi-introduction.tex2
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi-lua.tex2
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi-mixed.tex2
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi-numbering.tex2
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi-style.tex2
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi-titlepage.tex2
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi-vertical.tex2
-rw-r--r--doc/context/sources/general/manuals/bidi/bidi.tex8
-rw-r--r--doc/context/sources/general/manuals/cld/cld-abitoflua.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-afewdetails.tex4
-rw-r--r--doc/context/sources/general/manuals/cld/cld-backendcode.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-callbacks.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-contents.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-ctxfunctions.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-environment.tex25
-rw-r--r--doc/context/sources/general/manuals/cld/cld-files.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-gettingstarted.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-goodies.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-graphics.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-introduction.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-logging.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-luafunctions.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-macros.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-mkiv.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-moreonfunctions.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-nicetoknow.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-scanners.tex22
-rw-r--r--doc/context/sources/general/manuals/cld/cld-somemoreexamples.tex14
-rw-r--r--doc/context/sources/general/manuals/cld/cld-specialcommands.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-summary.tex2
-rw-r--r--doc/context/sources/general/manuals/cld/cld-titlepage.tex18
-rw-r--r--doc/context/sources/general/manuals/cld/cld-variables.tex7
-rw-r--r--doc/context/sources/general/manuals/cld/cld-verbatim.tex2
-rw-r--r--doc/context/sources/general/manuals/colors/colors-basics.tex12
-rw-r--r--doc/context/sources/general/manuals/colors/colors-environment.tex2
-rw-r--r--doc/context/sources/general/manuals/colors/colors-graphics.tex2
-rw-r--r--doc/context/sources/general/manuals/colors/colors-introduction.tex2
-rw-r--r--doc/context/sources/general/manuals/colors/colors-metafun.tex2
-rw-r--r--doc/context/sources/general/manuals/colors/colors-mkiv.tex2
-rw-r--r--doc/context/sources/general/manuals/columnsets/columnsets-205.tex6
-rw-r--r--doc/context/sources/general/manuals/followingup/followingup-expressions.tex24
-rw-r--r--doc/context/sources/general/manuals/followingup/followingup-fonts.tex46
-rw-r--r--doc/context/sources/general/manuals/followingup/followingup.tex2
-rw-r--r--doc/context/sources/general/manuals/languages/languages-appendix.tex2
-rw-r--r--doc/context/sources/general/manuals/languages/languages-basics.tex2
-rw-r--r--doc/context/sources/general/manuals/languages/languages-environment.tex2
-rw-r--r--doc/context/sources/general/manuals/languages/languages-hyphenation.tex2
-rw-r--r--doc/context/sources/general/manuals/languages/languages-introduction.tex2
-rw-r--r--doc/context/sources/general/manuals/languages/languages-labels.tex2
-rw-r--r--doc/context/sources/general/manuals/languages/languages-mkiv.tex2
-rw-r--r--doc/context/sources/general/manuals/languages/languages-sorting.tex4
-rw-r--r--doc/context/sources/general/manuals/libraries/ecmascript-mkiv.tex2
-rw-r--r--doc/context/sources/general/manuals/libraries/libraries-mkiv.tex2
-rw-r--r--doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex80
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-languages.tex40
-rw-r--r--doc/context/sources/general/manuals/luatex/luatex-modifications.tex8
-rw-r--r--doc/context/sources/general/manuals/manuals-explaining-environment.tex2
-rw-r--r--doc/context/sources/general/manuals/mathml/envexamp.tex2
-rw-r--r--doc/context/sources/general/manuals/mathml/mmlexamp.tex2
-rw-r--r--doc/context/sources/general/manuals/mathml/mmlprime.tex34
-rw-r--r--doc/context/sources/general/manuals/musings/musings-children.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-contents.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-introduction.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-names.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-perception.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-plain.tex8
-rw-r--r--doc/context/sources/general/manuals/musings/musings-roadmap.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-stability.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-staygo.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-style.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-titlepage.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings-whytex.tex2
-rw-r--r--doc/context/sources/general/manuals/musings/musings.tex6
-rw-r--r--doc/context/sources/general/manuals/nodes/nodes.tex4
-rw-r--r--doc/context/sources/general/manuals/primitives/primitives.tex594
-rw-r--r--doc/context/sources/general/manuals/rules/rules-mkiv.tex2
-rw-r--r--doc/context/sources/general/manuals/spacing/spacing-contents.tex2
-rw-r--r--doc/context/sources/general/manuals/spacing/spacing-introduction.tex2
-rw-r--r--doc/context/sources/general/manuals/spacing/spacing-linecorrection.tex2
-rw-r--r--doc/context/sources/general/manuals/spacing/spacing-mkiv.tex2
-rw-r--r--doc/context/sources/general/manuals/spacing/spacing-periods.tex2
-rw-r--r--doc/context/sources/general/manuals/spacing/spacing-spaces.tex2
-rw-r--r--doc/context/sources/general/manuals/spacing/spacing-style.tex2
-rw-r--r--doc/context/sources/general/manuals/spacing/spacing-titlepage.tex2
-rw-r--r--doc/context/sources/general/manuals/tiptrick/tiptrick.tex2
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-03.xml11
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-commands.tex2
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-contents.tex2
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-converter.tex4
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-examples.tex8
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-expressions.tex2
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-filtering.tex18
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-introduction.tex2
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-lookups.tex2
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-lpath.tex207
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-style.tex11
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex32
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv-tricks.tex2
-rw-r--r--doc/context/sources/general/manuals/xml/xml-mkiv.tex2
114 files changed, 915 insertions, 514 deletions
diff --git a/doc/context/documents/general/manuals/bidi.pdf b/doc/context/documents/general/manuals/bidi.pdf
index 8485f05c7..18c57f654 100644
--- a/doc/context/documents/general/manuals/bidi.pdf
+++ b/doc/context/documents/general/manuals/bidi.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/cld-mkiv.pdf b/doc/context/documents/general/manuals/cld-mkiv.pdf
index f08253793..bb92f9aff 100644
--- a/doc/context/documents/general/manuals/cld-mkiv.pdf
+++ b/doc/context/documents/general/manuals/cld-mkiv.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/colors-mkiv.pdf b/doc/context/documents/general/manuals/colors-mkiv.pdf
index f211288d9..e52eed2f0 100644
--- a/doc/context/documents/general/manuals/colors-mkiv.pdf
+++ b/doc/context/documents/general/manuals/colors-mkiv.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/followingup.pdf b/doc/context/documents/general/manuals/followingup.pdf
index 43a71517d..d7812d563 100644
--- a/doc/context/documents/general/manuals/followingup.pdf
+++ b/doc/context/documents/general/manuals/followingup.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/languages-mkiv.pdf b/doc/context/documents/general/manuals/languages-mkiv.pdf
index 026acfca5..6212bfc47 100644
--- a/doc/context/documents/general/manuals/languages-mkiv.pdf
+++ b/doc/context/documents/general/manuals/languages-mkiv.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/musings.pdf b/doc/context/documents/general/manuals/musings.pdf
index 26b421a03..69197240f 100644
--- a/doc/context/documents/general/manuals/musings.pdf
+++ b/doc/context/documents/general/manuals/musings.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/primitives.pdf b/doc/context/documents/general/manuals/primitives.pdf
index 9d6fe7670..d42e72970 100644
--- a/doc/context/documents/general/manuals/primitives.pdf
+++ b/doc/context/documents/general/manuals/primitives.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/rules-mkiv.pdf b/doc/context/documents/general/manuals/rules-mkiv.pdf
index dee2a4607..95b1d5d24 100644
--- a/doc/context/documents/general/manuals/rules-mkiv.pdf
+++ b/doc/context/documents/general/manuals/rules-mkiv.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/spacing-mkiv.pdf b/doc/context/documents/general/manuals/spacing-mkiv.pdf
index fde9d6c70..102fa58a6 100644
--- a/doc/context/documents/general/manuals/spacing-mkiv.pdf
+++ b/doc/context/documents/general/manuals/spacing-mkiv.pdf
Binary files differ
diff --git a/doc/context/documents/general/manuals/xml-mkiv.pdf b/doc/context/documents/general/manuals/xml-mkiv.pdf
index bd538c215..8e9af41a6 100644
--- a/doc/context/documents/general/manuals/xml-mkiv.pdf
+++ b/doc/context/documents/general/manuals/xml-mkiv.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2020/context-2020-implementers.pdf b/doc/context/presentations/context/2020/context-2020-implementers.pdf
index 94c515138..b7f7f7bb0 100644
--- a/doc/context/presentations/context/2020/context-2020-implementers.pdf
+++ b/doc/context/presentations/context/2020/context-2020-implementers.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2020/context-2020-tokens.pdf b/doc/context/presentations/context/2020/context-2020-tokens.pdf
index 7139f0c53..7233c4611 100644
--- a/doc/context/presentations/context/2020/context-2020-tokens.pdf
+++ b/doc/context/presentations/context/2020/context-2020-tokens.pdf
Binary files differ
diff --git a/doc/context/presentations/context/2020/context-2020-tokens.tex b/doc/context/presentations/context/2020/context-2020-tokens.tex
index b987e2d10..d648efb56 100644
--- a/doc/context/presentations/context/2020/context-2020-tokens.tex
+++ b/doc/context/presentations/context/2020/context-2020-tokens.tex
@@ -40,6 +40,8 @@
\stopitemize
+\stoptitle
+
\starttitle[title=Some implementation details]
\startitemize
@@ -127,7 +129,7 @@ Token memory:
\eTABLE
\stoplinecorrection
-\stoptable
+\stoptitle
\starttitle[title=The hash table (simplified)]
@@ -170,9 +172,9 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\starttitle[title=Other data management]
\startitemize
-\startitem Grouping is handles by a nesting stack. \stopitem
+\startitem Grouping is handled by a nesting stack. \stopitem
\startitem Nested conditionals (\type {\if...}) have their own stack. \stopitem
-\startitem The values before assignments are saved ion the save stack. \stopitem
+\startitem The values before assignments are saved on the save stack. \stopitem
\startitem Also other local changes (housekeeping) ends up in the save stack. \stopitem
\startitem Token lists and macro aliases have references pointers (reuse). \stopitem
\startitem Attributes, being linked node lists, have their own management. \stopitem
@@ -190,7 +192,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\stoptitle
-\starttitle[title=Example 1: in the input]
+\starttitle[title=Example 2: in the input]
\startbuffer
\luatokentable{a \the\scratchcounter b \the\parindent \hbox to 10pt{x}}
@@ -200,7 +202,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\stoptitle
-\starttitle[title=Example 2: user registers]
+\starttitle[title=Example 3: user registers]
\startbuffer
\scratchtoks{foo \framed{\red 123}456}
@@ -212,7 +214,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\stoptitle
-\starttitle[title=Example 3: internal variables]
+\starttitle[title=Example 4: internal variables]
\startbuffer
\luatokentable\everypar
@@ -222,7 +224,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\stoptitle
-\starttitle[title=Example 4: macro definitions]
+\starttitle[title=Example 5: macro definitions]
\startbuffer
\protected\def\whatever#1[#2](#3)\relax{oeps #1 and #2 & #3 done ## error}
@@ -234,7 +236,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\stoptitle
-\starttitle[title=Example 5: commands]
+\starttitle[title=Example 6: commands]
\startbuffer
\luatokentable\startitemize
@@ -244,7 +246,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\stoptitle
-\starttitle[title=Example 6: commands]
+\starttitle[title=Example 7: commands]
\startbuffer
\luatokentable\doifelse
@@ -254,7 +256,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\stoptitle
-\starttitle[title=Example 7: nothing]
+\starttitle[title=Example 8: nothing]
\startbuffer
\luatokentable\relax
@@ -264,7 +266,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\stoptitle
-\starttitle[title=Example 8: Hashes]
+\starttitle[title=Example 9: hashes]
\startbuffer
\edef\foo#1#2{(#1)(\letterhash)(#2)} \luatokentable\foo
@@ -274,7 +276,7 @@ Equivalents (registers direct, macros indirect i.e.\ token lists):
\stoptitle
-\starttitle[title=Example 9: Nesting]
+\starttitle[title=Example 10: nesting]
\startbuffer
\def\foo#1{\def\foo##1{(#1)(##1)}} \luatokentable\foo
diff --git a/doc/context/sources/general/manuals/bidi/bidi-contents.tex b/doc/context/sources/general/manuals/bidi/bidi-contents.tex
index 21c318dff..fd8334197 100644
--- a/doc/context/sources/general/manuals/bidi/bidi-contents.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi-contents.tex
@@ -1,4 +1,4 @@
-% language=us
+% language=us runpath=texruns:manuals/bidi
\startcomponent bidi-contents
diff --git a/doc/context/sources/general/manuals/bidi/bidi-fonts.tex b/doc/context/sources/general/manuals/bidi/bidi-fonts.tex
index bfedd8f47..e4b7944fc 100644
--- a/doc/context/sources/general/manuals/bidi/bidi-fonts.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi-fonts.tex
@@ -1,4 +1,4 @@
-% language=us
+% language=us runpath=texruns:manuals/bidi
\startcomponent bidi-fonts
diff --git a/doc/context/sources/general/manuals/bidi/bidi-introduction.tex b/doc/context/sources/general/manuals/bidi/bidi-introduction.tex
index 5ea0f9879..d20b5f69b 100644
--- a/doc/context/sources/general/manuals/bidi/bidi-introduction.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi-introduction.tex
@@ -1,4 +1,4 @@
-% language=us
+% language=us runpath=texruns:manuals/bidi
\startcomponent bidi-introduction
diff --git a/doc/context/sources/general/manuals/bidi/bidi-lua.tex b/doc/context/sources/general/manuals/bidi/bidi-lua.tex
index beb93b604..2c542dd1e 100644
--- a/doc/context/sources/general/manuals/bidi/bidi-lua.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi-lua.tex
@@ -1,4 +1,4 @@
-% language=us
+% language=us runpath=texruns:manuals/bidi
\startcomponent bidi-lua
diff --git a/doc/context/sources/general/manuals/bidi/bidi-mixed.tex b/doc/context/sources/general/manuals/bidi/bidi-mixed.tex
index 851d6d8b4..8faf7d913 100644
--- a/doc/context/sources/general/manuals/bidi/bidi-mixed.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi-mixed.tex
@@ -1,4 +1,4 @@
-% language=us
+% language=us runpath=texruns:manuals/bidi
\startcomponent bidi-mixed
diff --git a/doc/context/sources/general/manuals/bidi/bidi-numbering.tex b/doc/context/sources/general/manuals/bidi/bidi-numbering.tex
index c328d6a1a..ded26ba54 100644
--- a/doc/context/sources/general/manuals/bidi/bidi-numbering.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi-numbering.tex
@@ -1,4 +1,4 @@
-% language=us
+% language=us runpath=texruns:manuals/bidi
\startcomponent bidi-numbering
diff --git a/doc/context/sources/general/manuals/bidi/bidi-style.tex b/doc/context/sources/general/manuals/bidi/bidi-style.tex
index 1ce4e3b79..f61d940b7 100644
--- a/doc/context/sources/general/manuals/bidi/bidi-style.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi-style.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/bidi
+
\startenvironment bidi-style
\usemodule[abr-04]
diff --git a/doc/context/sources/general/manuals/bidi/bidi-titlepage.tex b/doc/context/sources/general/manuals/bidi/bidi-titlepage.tex
index a80851aea..21d909916 100644
--- a/doc/context/sources/general/manuals/bidi/bidi-titlepage.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi-titlepage.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/bidi
+
\startcomponent bidi-titlepage
\environment bidi-style
diff --git a/doc/context/sources/general/manuals/bidi/bidi-vertical.tex b/doc/context/sources/general/manuals/bidi/bidi-vertical.tex
index 824d7a033..900eac5a6 100644
--- a/doc/context/sources/general/manuals/bidi/bidi-vertical.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi-vertical.tex
@@ -1,4 +1,4 @@
-% language=us
+% language=us runpath=texruns:manuals/bidi
\startcomponent bidi-vertical
diff --git a/doc/context/sources/general/manuals/bidi/bidi.tex b/doc/context/sources/general/manuals/bidi/bidi.tex
index c6fedacdf..7062731fa 100644
--- a/doc/context/sources/general/manuals/bidi/bidi.tex
+++ b/doc/context/sources/general/manuals/bidi/bidi.tex
@@ -1,6 +1,8 @@
-% Because we cross a threshold in the amount of content the sources
-% have been split into components. This is typical a manual that
-% grows. Feel free to send suggestions and improvements.
+% language=us runpath=texruns:manuals/bidi
+
+% Because we cross a threshold in the amount of content the sources have been split
+% into components. This is typical a manual that grows. Feel free to send suggestions
+% and improvements. Future versions might include Idris' long due bidi onthology.
\environment bidi-style
diff --git a/doc/context/sources/general/manuals/cld/cld-abitoflua.tex b/doc/context/sources/general/manuals/cld/cld-abitoflua.tex
index e61507929..54fc507ba 100644
--- a/doc/context/sources/general/manuals/cld/cld-abitoflua.tex
+++ b/doc/context/sources/general/manuals/cld/cld-abitoflua.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-abitoflua
diff --git a/doc/context/sources/general/manuals/cld/cld-afewdetails.tex b/doc/context/sources/general/manuals/cld/cld-afewdetails.tex
index 6c0cf3afa..9c3221e75 100644
--- a/doc/context/sources/general/manuals/cld/cld-afewdetails.tex
+++ b/doc/context/sources/general/manuals/cld/cld-afewdetails.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-afewdetails
@@ -342,7 +342,7 @@ The \LUA\ code like similar to the code presented before:
\startluacode
local setcolor = nodes.tracers.colors.setlist
local getmarker = nodes.markers.get
-local hlist_code = nodes.codes.hlist
+local hlist_code = nodes.nodecodes.hlist
local traverse_id = node.traverse_id
function userdata.processmystuff(head)
diff --git a/doc/context/sources/general/manuals/cld/cld-backendcode.tex b/doc/context/sources/general/manuals/cld/cld-backendcode.tex
index 9c1284baa..4305d7114 100644
--- a/doc/context/sources/general/manuals/cld/cld-backendcode.tex
+++ b/doc/context/sources/general/manuals/cld/cld-backendcode.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-backendcode
diff --git a/doc/context/sources/general/manuals/cld/cld-callbacks.tex b/doc/context/sources/general/manuals/cld/cld-callbacks.tex
index c449af864..3178caa4b 100644
--- a/doc/context/sources/general/manuals/cld/cld-callbacks.tex
+++ b/doc/context/sources/general/manuals/cld/cld-callbacks.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-callbacks
diff --git a/doc/context/sources/general/manuals/cld/cld-contents.tex b/doc/context/sources/general/manuals/cld/cld-contents.tex
index 132da7dff..009c0e66e 100644
--- a/doc/context/sources/general/manuals/cld/cld-contents.tex
+++ b/doc/context/sources/general/manuals/cld/cld-contents.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/cld
+
\startcomponent cld-contents
\environment cld-environment
diff --git a/doc/context/sources/general/manuals/cld/cld-ctxfunctions.tex b/doc/context/sources/general/manuals/cld/cld-ctxfunctions.tex
index 11600b847..a08277ae9 100644
--- a/doc/context/sources/general/manuals/cld/cld-ctxfunctions.tex
+++ b/doc/context/sources/general/manuals/cld/cld-ctxfunctions.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-ctxfunctions
diff --git a/doc/context/sources/general/manuals/cld/cld-environment.tex b/doc/context/sources/general/manuals/cld/cld-environment.tex
index 1355110bd..f0d73677b 100644
--- a/doc/context/sources/general/manuals/cld/cld-environment.tex
+++ b/doc/context/sources/general/manuals/cld/cld-environment.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startenvironment cld-environment
@@ -221,4 +221,27 @@
[chapter,section]
[interaction=all]
+% a hack:
+
+\startluacode
+ function document.checkcldresource(filename)
+ if environment.arguments.runpath then
+ -- We're running elsewhere so we can have started fresh.
+ local cldname = file.replacesuffix(filename,"cld")
+ local pdfname = file.replacesuffix(filename,"pdf")
+ if not lfs.isfile(pdfname) then
+ -- We don't have the titlepage yet but need to fetch
+ -- the template from the real path.
+ local path = environment.arguments.path
+ if lfs.isdir(path) then
+ os.execute('context --global --path="' .. path .. '" ' .. cldname)
+ else
+ -- bad news
+ end
+ end
+ end
+ end
+\stopluacode
+
+
\stopenvironment
diff --git a/doc/context/sources/general/manuals/cld/cld-files.tex b/doc/context/sources/general/manuals/cld/cld-files.tex
index 38a7322b1..c2abf1bdf 100644
--- a/doc/context/sources/general/manuals/cld/cld-files.tex
+++ b/doc/context/sources/general/manuals/cld/cld-files.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-macros
diff --git a/doc/context/sources/general/manuals/cld/cld-gettingstarted.tex b/doc/context/sources/general/manuals/cld/cld-gettingstarted.tex
index 5c7e1c263..5b1911897 100644
--- a/doc/context/sources/general/manuals/cld/cld-gettingstarted.tex
+++ b/doc/context/sources/general/manuals/cld/cld-gettingstarted.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-gettingstarted
diff --git a/doc/context/sources/general/manuals/cld/cld-goodies.tex b/doc/context/sources/general/manuals/cld/cld-goodies.tex
index d5b4b5c9c..a902fa0e5 100644
--- a/doc/context/sources/general/manuals/cld/cld-goodies.tex
+++ b/doc/context/sources/general/manuals/cld/cld-goodies.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-macros
diff --git a/doc/context/sources/general/manuals/cld/cld-graphics.tex b/doc/context/sources/general/manuals/cld/cld-graphics.tex
index 93ab80c2c..f734a4a03 100644
--- a/doc/context/sources/general/manuals/cld/cld-graphics.tex
+++ b/doc/context/sources/general/manuals/cld/cld-graphics.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-graphics
diff --git a/doc/context/sources/general/manuals/cld/cld-introduction.tex b/doc/context/sources/general/manuals/cld/cld-introduction.tex
index a1a74cde4..47c2789a7 100644
--- a/doc/context/sources/general/manuals/cld/cld-introduction.tex
+++ b/doc/context/sources/general/manuals/cld/cld-introduction.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-introduction
diff --git a/doc/context/sources/general/manuals/cld/cld-logging.tex b/doc/context/sources/general/manuals/cld/cld-logging.tex
index cbb904a69..46d622f8b 100644
--- a/doc/context/sources/general/manuals/cld/cld-logging.tex
+++ b/doc/context/sources/general/manuals/cld/cld-logging.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
% maybe this will become a section instead
diff --git a/doc/context/sources/general/manuals/cld/cld-luafunctions.tex b/doc/context/sources/general/manuals/cld/cld-luafunctions.tex
index c48b852fb..0b2bcb3da 100644
--- a/doc/context/sources/general/manuals/cld/cld-luafunctions.tex
+++ b/doc/context/sources/general/manuals/cld/cld-luafunctions.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
% table.unnest : only used in special cases
% table.derive : set metatable if unset
diff --git a/doc/context/sources/general/manuals/cld/cld-macros.tex b/doc/context/sources/general/manuals/cld/cld-macros.tex
index 7b6f578e7..de6b2a8d3 100644
--- a/doc/context/sources/general/manuals/cld/cld-macros.tex
+++ b/doc/context/sources/general/manuals/cld/cld-macros.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-macros
diff --git a/doc/context/sources/general/manuals/cld/cld-mkiv.tex b/doc/context/sources/general/manuals/cld/cld-mkiv.tex
index 9267732fa..6687c8444 100644
--- a/doc/context/sources/general/manuals/cld/cld-mkiv.tex
+++ b/doc/context/sources/general/manuals/cld/cld-mkiv.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
diff --git a/doc/context/sources/general/manuals/cld/cld-moreonfunctions.tex b/doc/context/sources/general/manuals/cld/cld-moreonfunctions.tex
index da3d6fe46..b8f97938d 100644
--- a/doc/context/sources/general/manuals/cld/cld-moreonfunctions.tex
+++ b/doc/context/sources/general/manuals/cld/cld-moreonfunctions.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-moreonfunctions
diff --git a/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex b/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex
index fcc0aa26b..950e394c7 100644
--- a/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex
+++ b/doc/context/sources/general/manuals/cld/cld-nicetoknow.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-nicetoknow
diff --git a/doc/context/sources/general/manuals/cld/cld-scanners.tex b/doc/context/sources/general/manuals/cld/cld-scanners.tex
index 3bf5f658d..9fa816777 100644
--- a/doc/context/sources/general/manuals/cld/cld-scanners.tex
+++ b/doc/context/sources/general/manuals/cld/cld-scanners.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-ctxscanners
@@ -41,6 +41,7 @@ Of course in practice the \type {actions} will be more complex.
interfaces.implement {
name = "MyMacroA",
public = true,
+ permanent = false,
arguments = "string",
actions = function(s)
context("(%s)",s)
@@ -84,14 +85,19 @@ The meaning of \type {\temp} is:
We can also define the macro to be protected (\type {\unexpanded}) in \CONTEXT\
speak). We can overload existing scanners but unless we specify the \type
-{overload} option, we get a warning on the console.
+{overload} option, we get a warning on the console. However, in \LMTX\ there is
+catch. Implementers by default define macros as permanent unless one explicitly
+disables this so this is why in the previous definition we have done so. The
+overload flag below only makes sense in special cases, when for instance format
+file is made. (Of course overload protection only kicks in when it has been
+enabled.)
\startbuffer[definition]
\startluacode
interfaces.implement {
name = "MyMacroA",
public = true,
--- overload = true,
+ -- overload = true,
protected = true,
arguments = "string",
actions = function(s)
@@ -407,14 +413,14 @@ that doesn't expand. Take this:
\typebuffer[definition] \getbuffer[definition]
-Now take this input:
+Now take this input: % we use \C* because \c is already defined
\startbuffer[usage]
-\def\a{A} \def\b{B} \def\c{C}
+\def\Ca{A} \def\Cb{B} \def\Cc{C}
\MyMacroH{a}{b}{c}
-\MyMacroH{a\a}{b\b}{c\c}
-\MyMacroH\a\b\c\relax
-\MyMacroH\a xx\relax
+\MyMacroH{a\Ca}{b\Cb}{c\Cc}
+\MyMacroH\Ca\Cb\Cc\relax
+\MyMacroH\Ca xx\relax
\stopbuffer
\typebuffer[usage]
diff --git a/doc/context/sources/general/manuals/cld/cld-somemoreexamples.tex b/doc/context/sources/general/manuals/cld/cld-somemoreexamples.tex
index a282be4e9..69aeaa7aa 100644
--- a/doc/context/sources/general/manuals/cld/cld-somemoreexamples.tex
+++ b/doc/context/sources/general/manuals/cld/cld-somemoreexamples.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-somemoreexamples
@@ -332,6 +332,8 @@ context.starttext()
context.stoptext()
\stoptyping
+\ctxlua{document.checkcldresource("cld-005.cld")}
+
\placefigure
[here]
[fig:lorien]
@@ -627,7 +629,7 @@ example:
\startbuffer
\defineframed
- [colored]
+ [coloredframed]
[foregroundcolor=red,
foregroundstyle=\underbar,
offset=.1ex,
@@ -637,7 +639,7 @@ example:
\typebuffer \getbuffer
\startbuffer
-\processisolatedwords {\input ward \relax} \colored
+\processisolatedwords {\input ward \relax} \coloredframed
\stopbuffer
\typebuffer \blank \getbuffer \blank
@@ -661,7 +663,7 @@ local function process(data)
else
context.space()
end
- context.colored(words[i])
+ context.coloredframed(words[i])
end
end
@@ -693,7 +695,7 @@ local function apply(s)
done = true
context.dontleavehmode()
end
- context.colored(s)
+ context.coloredframed(s)
end
local splitter = lpeg.P(reset)
@@ -709,7 +711,7 @@ next one is comaprable:
\starttyping
local function apply(s)
- context.colored("%s ",s)
+ context.coloredframed("%s ",s)
end
local splitter lpeg.splitter(lpeg.patterns.spacer,apply)
diff --git a/doc/context/sources/general/manuals/cld/cld-specialcommands.tex b/doc/context/sources/general/manuals/cld/cld-specialcommands.tex
index 510c820f9..158bf4272 100644
--- a/doc/context/sources/general/manuals/cld/cld-specialcommands.tex
+++ b/doc/context/sources/general/manuals/cld/cld-specialcommands.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-specialcommands
diff --git a/doc/context/sources/general/manuals/cld/cld-summary.tex b/doc/context/sources/general/manuals/cld/cld-summary.tex
index 2b62597fa..087bf74ba 100644
--- a/doc/context/sources/general/manuals/cld/cld-summary.tex
+++ b/doc/context/sources/general/manuals/cld/cld-summary.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-summary
diff --git a/doc/context/sources/general/manuals/cld/cld-titlepage.tex b/doc/context/sources/general/manuals/cld/cld-titlepage.tex
index 926a98952..da315d6de 100644
--- a/doc/context/sources/general/manuals/cld/cld-titlepage.tex
+++ b/doc/context/sources/general/manuals/cld/cld-titlepage.tex
@@ -1,12 +1,22 @@
+% language=us runpath=texruns:manuals/cld
+
\startcomponent cld-titlepage
\environment cld-environment
-% \cldprocessfile{cld-mkiv-titlepage.cld}
+\iffalse
+
+ \cldprocessfile{cld-mkiv-titlepage.cld} % kind of slow each time
+
+\else
+
+ \ctxlua{document.checkcldresource("cld-mkiv-titlepage.cld")}
+
+ \startTEXpage
+ \externalfigure[cld-mkiv-titlepage.pdf]%
+ \stopTEXpage
-\startTEXpage
- \externalfigure[cld-mkiv-titlepage.pdf]%
-\stopTEXpage % faster during writing
+\fi
\startstandardmakeup[doublesided=no,page=no]
\stopstandardmakeup
diff --git a/doc/context/sources/general/manuals/cld/cld-variables.tex b/doc/context/sources/general/manuals/cld/cld-variables.tex
index c9afbd44c..b6301cb83 100644
--- a/doc/context/sources/general/manuals/cld/cld-variables.tex
+++ b/doc/context/sources/general/manuals/cld/cld-variables.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-variables
@@ -156,8 +156,9 @@ variables. However, there are also primitives that deal with these data values:
\startbuffer[usage]
\setdatavalue{my-data}{12345}%
-\letdatacode \MyData 67890
-\thedatavalue{my-data} \the\MyData
+\integerdef \MyDataI 67890
+\dimensiondef \MyDataD 12345pt
+\thedatavalue{my-data}, \the\MyDataI, \the\MyDataD.
\stopbuffer
\typebuffer[usage]
diff --git a/doc/context/sources/general/manuals/cld/cld-verbatim.tex b/doc/context/sources/general/manuals/cld/cld-verbatim.tex
index 2007f7d73..10cb3611d 100644
--- a/doc/context/sources/general/manuals/cld/cld-verbatim.tex
+++ b/doc/context/sources/general/manuals/cld/cld-verbatim.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/cld
\startcomponent cld-verbatim
diff --git a/doc/context/sources/general/manuals/colors/colors-basics.tex b/doc/context/sources/general/manuals/colors/colors-basics.tex
index 3832501c5..deffa00c0 100644
--- a/doc/context/sources/general/manuals/colors/colors-basics.tex
+++ b/doc/context/sources/general/manuals/colors/colors-basics.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/colors
\startcomponent colors-basics
@@ -897,7 +897,7 @@ are easier to deal with and therefore in \MKIV\ we have a trick to make sure the
outer color gets applied to the box:
\startbuffer[enable]
-\enabledirectives
+\enabledirectives % only mkiv
[attributes.inheritance]
\stopbuffer
@@ -908,7 +908,7 @@ default {\bf \darkyellow yellow {\attributedbox0} yellow} default
\typebuffer
So, we get: \start\inlinebuffer[box]\inlinebuffer[enable]\space\inlinebuffer
-\stop, but only after we have enabled this mechanisms explicitly:
+\stop. In \MKIV\ you need to enable inheritance first with:
\typebuffer[enable]
@@ -938,6 +938,12 @@ because contrary to \MKII\ colors don't interfere (no extra nodes). We could hav
flushed the framed content using \type {\attributedbox}, but we don't want to
enable inheritance by default because it comes with some overhead.
+{\em The \type {\attributedbox} command is considered obsolete. In \LMTX\ there
+is a \type {\recolorbox} command that recolors a box. Because these commands are
+probably never needed it made more sense to move the burden to a specific command
+than to add additional overhead to the whole color mechanism. My experience is
+that unboxing and copying is very rare in \CONTEXT.}
+
\stopsection
\startsection[title=Color intents]
diff --git a/doc/context/sources/general/manuals/colors/colors-environment.tex b/doc/context/sources/general/manuals/colors/colors-environment.tex
index 99f625854..972bd6228 100644
--- a/doc/context/sources/general/manuals/colors/colors-environment.tex
+++ b/doc/context/sources/general/manuals/colors/colors-environment.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/colors
+
\startenvironment colors-environment
\environment manuals-explaining-environment
diff --git a/doc/context/sources/general/manuals/colors/colors-graphics.tex b/doc/context/sources/general/manuals/colors/colors-graphics.tex
index 4c8fb5270..c438a4630 100644
--- a/doc/context/sources/general/manuals/colors/colors-graphics.tex
+++ b/doc/context/sources/general/manuals/colors/colors-graphics.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/colors
\startcomponent colors-basics
diff --git a/doc/context/sources/general/manuals/colors/colors-introduction.tex b/doc/context/sources/general/manuals/colors/colors-introduction.tex
index ba1db9915..16544cb06 100644
--- a/doc/context/sources/general/manuals/colors/colors-introduction.tex
+++ b/doc/context/sources/general/manuals/colors/colors-introduction.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/colors
\startcomponent colors-introduction
diff --git a/doc/context/sources/general/manuals/colors/colors-metafun.tex b/doc/context/sources/general/manuals/colors/colors-metafun.tex
index 82514659b..1ccba0032 100644
--- a/doc/context/sources/general/manuals/colors/colors-metafun.tex
+++ b/doc/context/sources/general/manuals/colors/colors-metafun.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/colors
\startcomponent colors-basics
diff --git a/doc/context/sources/general/manuals/colors/colors-mkiv.tex b/doc/context/sources/general/manuals/colors/colors-mkiv.tex
index a39ff0f37..4bfe24a84 100644
--- a/doc/context/sources/general/manuals/colors/colors-mkiv.tex
+++ b/doc/context/sources/general/manuals/colors/colors-mkiv.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/colors
+
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
% license : Creative Commons Attribution ShareAlike 4.0 International
diff --git a/doc/context/sources/general/manuals/columnsets/columnsets-205.tex b/doc/context/sources/general/manuals/columnsets/columnsets-205.tex
index b53709770..ba4287967 100644
--- a/doc/context/sources/general/manuals/columnsets/columnsets-205.tex
+++ b/doc/context/sources/general/manuals/columnsets/columnsets-205.tex
@@ -6,7 +6,11 @@
\environment columnsets-000
-\unprotected \def\SpreadGapText#1#2{{\def\+{\blackrule[\c!width=#1]}#2}}
+\unprotect
+
+\def\SpreadGapText#1#2{{\def\+{\blackrule[\c!width=#1]}#2}}
+
+\protect
\definecolumnset[example][n=4,page=left]
diff --git a/doc/context/sources/general/manuals/followingup/followingup-expressions.tex b/doc/context/sources/general/manuals/followingup/followingup-expressions.tex
index f5bce052c..321496c97 100644
--- a/doc/context/sources/general/manuals/followingup/followingup-expressions.tex
+++ b/doc/context/sources/general/manuals/followingup/followingup-expressions.tex
@@ -196,6 +196,30 @@ The normal expansion rules apply, so one can use macros and other symbolic
numbers. The only difference in handling dimensions is that we don't support
\type {true} units but these are obsolete in \LUAMETATEX\ anyway.
+In the end I decided to also add an extra conditional so that we can say:
+
+\starttyping
+\ifexpression (\scratchcounterone > 5) and (\scratchcountertwo > 5)\relax
+ nop
+\else
+ yes
+\fi
+\stoptyping
+
+which looks more natural. Actually, this is an nowadays alias because we have two
+variants:
+
+\starttyping
+\ifnumexpression ... \relax ... \else ... \fi
+\ifdimexpression ... \relax ... \else ... \fi
+\stoptyping
+
+where the later is equivalent to
+
+\starttyping
+\ifboolean\dimexpression ... \relax ... \else ... \fi
+\stoptyping
+
\stopsection
\startsection[title={Tracing}]
diff --git a/doc/context/sources/general/manuals/followingup/followingup-fonts.tex b/doc/context/sources/general/manuals/followingup/followingup-fonts.tex
index fbf0158cb..a4a16878f 100644
--- a/doc/context/sources/general/manuals/followingup/followingup-fonts.tex
+++ b/doc/context/sources/general/manuals/followingup/followingup-fonts.tex
@@ -614,7 +614,6 @@ dimensions of a glyph.
{\getbuffer}
-
\stopsection
\startsection[title={Implementation}]
@@ -653,51 +652,6 @@ enable, or not.
\stopcomponent
-% sample file
-
-\setuplayout[topspace=1cm,header=1cm] \setuplayout[middle]
-
-\setupbodyfont[pagella,10pt]
-
-\setupalign[verytolerant,stretch]
-
-\setupwhitespace[big]
-
-\starttext
-
-\startbuffer
-\definetweakedfont[bfe][xscale=2000,yscale=6000,style=bf]
-
-\setuphead[chapter][style=\bfe]
-
-\dostepwiserecurse {10} {2020} {10} {
- \title{Here we go #1!}
- \start
- \glyphxscale#1\relax
- \glyphyscale#1\relax
- \setupinterlinespace
- \samplefile{ward}%
- \start
- \bf
- \samplefile{ward}%
- \glyphxscale\numexpr(#1*2)/3\relax
- \glyphyscale#1\relax
- \samplefile{ward}%
- \par
- \stop
- \def\TEST{y = \sqrt{x^2 + 1}^3}%
- \dontleavehmode
- \ruledhbox{\glyphxscale #1 \glyphyscale #1 $\left{\TEST\right}$}
- \ruledhbox{\glyphxscale #1 \glyphyscale \numexpr#1*3\relax $\left{\TEST\right}$}
- \ruledhbox{\glyphxscale \numexpr#1/2\relax \glyphyscale \numexpr#1*2\relax $\left{\TEST\right}$}
- \par
- \stop
- \page
-}
-\stopbuffer
-
-\getbuffer
-
% As often there is a musical timestamp to this text: discovering Julia Hofer
% (bass, came there via checking out (of course) Leland Sklar, and now i have to
% watch a bunch of Victor Wooten videos too) and Neon Vine's (play and combine
diff --git a/doc/context/sources/general/manuals/followingup/followingup.tex b/doc/context/sources/general/manuals/followingup/followingup.tex
index 6d7c63bf6..353b3ddd8 100644
--- a/doc/context/sources/general/manuals/followingup/followingup.tex
+++ b/doc/context/sources/general/manuals/followingup/followingup.tex
@@ -4,6 +4,8 @@
\dontcomplain
+% \enableexperiments[fonts.compact]
+
\startdocument
\component followingup-titlepage
diff --git a/doc/context/sources/general/manuals/languages/languages-appendix.tex b/doc/context/sources/general/manuals/languages/languages-appendix.tex
index d8f33e44a..f47536894 100644
--- a/doc/context/sources/general/manuals/languages/languages-appendix.tex
+++ b/doc/context/sources/general/manuals/languages/languages-appendix.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/languages
\startcomponent languages-appendix
diff --git a/doc/context/sources/general/manuals/languages/languages-basics.tex b/doc/context/sources/general/manuals/languages/languages-basics.tex
index 840897096..f99dcb5f0 100644
--- a/doc/context/sources/general/manuals/languages/languages-basics.tex
+++ b/doc/context/sources/general/manuals/languages/languages-basics.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/languages
\startcomponent languages-basics
diff --git a/doc/context/sources/general/manuals/languages/languages-environment.tex b/doc/context/sources/general/manuals/languages/languages-environment.tex
index 2669fe0c5..31eac81cc 100644
--- a/doc/context/sources/general/manuals/languages/languages-environment.tex
+++ b/doc/context/sources/general/manuals/languages/languages-environment.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/languages
+
\startenvironment languages-environment
\environment manuals-explaining-environment
diff --git a/doc/context/sources/general/manuals/languages/languages-hyphenation.tex b/doc/context/sources/general/manuals/languages/languages-hyphenation.tex
index 96271d1aa..b9131d905 100644
--- a/doc/context/sources/general/manuals/languages/languages-hyphenation.tex
+++ b/doc/context/sources/general/manuals/languages/languages-hyphenation.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/languages
\startcomponent languages-hyphenation
diff --git a/doc/context/sources/general/manuals/languages/languages-introduction.tex b/doc/context/sources/general/manuals/languages/languages-introduction.tex
index 25bbb1a90..354f638ac 100644
--- a/doc/context/sources/general/manuals/languages/languages-introduction.tex
+++ b/doc/context/sources/general/manuals/languages/languages-introduction.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/languages
\startcomponent languages-introduction
diff --git a/doc/context/sources/general/manuals/languages/languages-labels.tex b/doc/context/sources/general/manuals/languages/languages-labels.tex
index 6c806ab1c..58b01852d 100644
--- a/doc/context/sources/general/manuals/languages/languages-labels.tex
+++ b/doc/context/sources/general/manuals/languages/languages-labels.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/languages
\startcomponent languages-labels
diff --git a/doc/context/sources/general/manuals/languages/languages-mkiv.tex b/doc/context/sources/general/manuals/languages/languages-mkiv.tex
index 4bfaa9c0b..b0d741250 100644
--- a/doc/context/sources/general/manuals/languages/languages-mkiv.tex
+++ b/doc/context/sources/general/manuals/languages/languages-mkiv.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/languages
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
diff --git a/doc/context/sources/general/manuals/languages/languages-sorting.tex b/doc/context/sources/general/manuals/languages/languages-sorting.tex
index 956866e5d..9e9bde8b6 100644
--- a/doc/context/sources/general/manuals/languages/languages-sorting.tex
+++ b/doc/context/sources/general/manuals/languages/languages-sorting.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/languages
\startcomponent languages-sorting
@@ -292,8 +292,6 @@ which gives:
\getbuffer
-\stoptext
-
\stopsection
\stopchapter
diff --git a/doc/context/sources/general/manuals/libraries/ecmascript-mkiv.tex b/doc/context/sources/general/manuals/libraries/ecmascript-mkiv.tex
index 7a8bcd535..6c6109e8b 100644
--- a/doc/context/sources/general/manuals/libraries/ecmascript-mkiv.tex
+++ b/doc/context/sources/general/manuals/libraries/ecmascript-mkiv.tex
@@ -1,4 +1,4 @@
-% language=us
+% language=us runpath=texruns:manuals/libraries
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
diff --git a/doc/context/sources/general/manuals/libraries/libraries-mkiv.tex b/doc/context/sources/general/manuals/libraries/libraries-mkiv.tex
index 07caca83c..10f1616a6 100644
--- a/doc/context/sources/general/manuals/libraries/libraries-mkiv.tex
+++ b/doc/context/sources/general/manuals/libraries/libraries-mkiv.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/libraries
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
diff --git a/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex b/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex
index 19cf6bfb6..14c2e22a4 100644
--- a/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex
+++ b/doc/context/sources/general/manuals/lowlevel/lowlevel-paragraphs.tex
@@ -219,42 +219,42 @@ longer interferes with the line break algorithm. The magic primitive is \type
\starttabulate[|l|l|r|]
\BC variable \BC category \BC code \NC \NR
-\NC \type {\hsize} \NC hsize \NC 0x\uchexnumbers\frozenhsizecode \NC \NR
-\NC \type {\leftskip} \NC skip \NC 0x\uchexnumbers\frozenskipcode \NC \NR
-\NC \type {\rightskip} \NC skip \NC 0x\uchexnumbers\frozenskipcode \NC \NR
-\NC \type {\hangindent} \NC hang \NC 0x\uchexnumbers\frozenhangcode \NC \NR
-\NC \type {\hangafter} \NC hang \NC 0x\uchexnumbers\frozenhangcode \NC \NR
-\NC \type {\parindent} \NC indent \NC 0x\uchexnumbers\frozenindentcode \NC \NR
-\NC \type {\parfillleftskip} \NC par fill \NC 0x\uchexnumbers\frozenparfillcode \NC \NR
-\NC \type {\parfillrightskip} \NC par fill \NC 0x\uchexnumbers\frozenparfillcode \NC \NR
-\NC \type {\adjustspacing} \NC adjust \NC 0x\uchexnumbers\frozenadjustcode \NC \NR
-\NC \type {\adjustspacingstep} \NC adjust \NC 0x\uchexnumbers\frozenadjustcode \NC \NR
-\NC \type {\adjustspacingshrink} \NC adjust \NC 0x\uchexnumbers\frozenadjustcode \NC \NR
-\NC \type {\adjustspacingstretch} \NC adjust \NC 0x\uchexnumbers\frozenadjustcode \NC \NR
-\NC \type {\protrudechars} \NC protrude \NC 0x\uchexnumbers\frozenprotrudecode \NC \NR
-\NC \type {\pretolerance} \NC tolerance \NC 0x\uchexnumbers\frozentolerancecode \NC \NR
-\NC \type {\tolerance} \NC tolerance \NC 0x\uchexnumbers\frozentolerancecode \NC \NR
-\NC \type {\emergencystretch} \NC stretch \NC 0x\uchexnumbers\frozenstretchcode \NC \NR
-\NC \type {\looseness} \NC looseness \NC 0x\uchexnumbers\frozenloosenesscode \NC \NR
-\NC \type {\lastlinefit} \NC last line \NC 0x\uchexnumbers\frozenlastlinecode \NC \NR
-\NC \type {\linepenalty} \NC line penalty \NC 0x\uchexnumbers\frozenlinepenaltycode \NC \NR
-\NC \type {\interlinepenalty} \NC line penalty \NC 0x\uchexnumbers\frozenlinepenaltycode \NC \NR
-\NC \type {\interlinepenalties} \NC line penalty \NC 0x\uchexnumbers\frozenlinepenaltycode \NC \NR
-\NC \type {\clubpenalty} \NC club penalty \NC 0x\uchexnumbers\frozenclubpenaltycode \NC \NR
-\NC \type {\clubpenalties} \NC club penalty \NC 0x\uchexnumbers\frozenclubpenaltycode \NC \NR
-\NC \type {\widowpenalty} \NC widow penalty \NC 0x\uchexnumbers\frozenwidowpenaltycode \NC \NR
-\NC \type {\widowpenalties} \NC widow penalty \NC 0x\uchexnumbers\frozenwidowpenaltycode \NC \NR
-\NC \type {\displaywidowpenalty} \NC display penalty \NC 0x\uchexnumbers\frozendisplaypenaltycode \NC \NR
-\NC \type {\displaywidowpenalties} \NC display penalty \NC 0x\uchexnumbers\frozendisplaypenaltycode \NC \NR
-\NC \type {\brokenpenalty} \NC broken penalty \NC 0x\uchexnumbers\frozenbrokenpenaltycode \NC \NR
-\NC \type {\adjdemerits} \NC demerits \NC 0x\uchexnumbers\frozendemeritscode \NC \NR
-\NC \type {\doublehyphendemerits} \NC demerits \NC 0x\uchexnumbers\frozendemeritscode \NC \NR
-\NC \type {\finalhyphendemerits} \NC demerits \NC 0x\uchexnumbers\frozendemeritscode \NC \NR
-\NC \type {\parshape} \NC shape \NC 0x\uchexnumbers\frozenshapecode \NC \NR
-\NC \type {\baselineskip} \NC line \NC 0x\uchexnumbers\frozenlinecode \NC \NR
-\NC \type {\lineskip} \NC line \NC 0x\uchexnumbers\frozenlinecode \NC \NR
-\NC \type {\lineskiplimit} \NC line \NC 0x\uchexnumbers\frozenlinecode \NC \NR
-\NC \type {\hyphenationmode} \NC hyphenation \NC 0x\uchexnumbers\frozenhyphenationcode \NC \NR
+\NC \type {\hsize} \NC hsize \NC 0x\uchexnumbers\hsizefrozenparcode \NC \NR
+\NC \type {\leftskip} \NC skip \NC 0x\uchexnumbers\skipfrozenparcode \NC \NR
+\NC \type {\rightskip} \NC skip \NC 0x\uchexnumbers\skipfrozenparcode \NC \NR
+\NC \type {\hangindent} \NC hang \NC 0x\uchexnumbers\hangfrozenparcode \NC \NR
+\NC \type {\hangafter} \NC hang \NC 0x\uchexnumbers\hangfrozenparcode \NC \NR
+\NC \type {\parindent} \NC indent \NC 0x\uchexnumbers\indentfrozenparcode \NC \NR
+\NC \type {\parfillleftskip} \NC par fill \NC 0x\uchexnumbers\parfillfrozenparcode \NC \NR
+\NC \type {\parfillrightskip} \NC par fill \NC 0x\uchexnumbers\parfillfrozenparcode \NC \NR
+\NC \type {\adjustspacing} \NC adjust \NC 0x\uchexnumbers\adjustfrozenparcode \NC \NR
+\NC \type {\adjustspacingstep} \NC adjust \NC 0x\uchexnumbers\adjustfrozenparcode \NC \NR
+\NC \type {\adjustspacingshrink} \NC adjust \NC 0x\uchexnumbers\adjustfrozenparcode \NC \NR
+\NC \type {\adjustspacingstretch} \NC adjust \NC 0x\uchexnumbers\adjustfrozenparcode \NC \NR
+\NC \type {\protrudechars} \NC protrude \NC 0x\uchexnumbers\protrudefrozenparcode \NC \NR
+\NC \type {\pretolerance} \NC tolerance \NC 0x\uchexnumbers\tolerancefrozenparcode \NC \NR
+\NC \type {\tolerance} \NC tolerance \NC 0x\uchexnumbers\tolerancefrozenparcode \NC \NR
+\NC \type {\emergencystretch} \NC stretch \NC 0x\uchexnumbers\stretchfrozenparcode \NC \NR
+\NC \type {\looseness} \NC looseness \NC 0x\uchexnumbers\loosenessfrozenparcode \NC \NR
+\NC \type {\lastlinefit} \NC last line \NC 0x\uchexnumbers\lastlinefrozenparcode \NC \NR
+\NC \type {\linepenalty} \NC line penalty \NC 0x\uchexnumbers\linepenaltyfrozenparcode \NC \NR
+\NC \type {\interlinepenalty} \NC line penalty \NC 0x\uchexnumbers\linepenaltyfrozenparcode \NC \NR
+\NC \type {\interlinepenalties} \NC line penalty \NC 0x\uchexnumbers\linepenaltyfrozenparcode \NC \NR
+\NC \type {\clubpenalty} \NC club penalty \NC 0x\uchexnumbers\clubpenaltyfrozenparcode \NC \NR
+\NC \type {\clubpenalties} \NC club penalty \NC 0x\uchexnumbers\clubpenaltyfrozenparcode \NC \NR
+\NC \type {\widowpenalty} \NC widow penalty \NC 0x\uchexnumbers\widowpenaltyfrozenparcode \NC \NR
+\NC \type {\widowpenalties} \NC widow penalty \NC 0x\uchexnumbers\widowpenaltyfrozenparcode \NC \NR
+\NC \type {\displaywidowpenalty} \NC display penalty \NC 0x\uchexnumbers\displaypenaltyfrozenparcode \NC \NR
+\NC \type {\displaywidowpenalties} \NC display penalty \NC 0x\uchexnumbers\displaypenaltyfrozenparcode \NC \NR
+\NC \type {\brokenpenalty} \NC broken penalty \NC 0x\uchexnumbers\brokenpenaltyfrozenparcode \NC \NR
+\NC \type {\adjdemerits} \NC demerits \NC 0x\uchexnumbers\demeritsfrozenparcode \NC \NR
+\NC \type {\doublehyphendemerits} \NC demerits \NC 0x\uchexnumbers\demeritsfrozenparcode \NC \NR
+\NC \type {\finalhyphendemerits} \NC demerits \NC 0x\uchexnumbers\demeritsfrozenparcode \NC \NR
+\NC \type {\parshape} \NC shape \NC 0x\uchexnumbers\shapefrozenparcode \NC \NR
+\NC \type {\baselineskip} \NC line \NC 0x\uchexnumbers\linefrozenparcode \NC \NR
+\NC \type {\lineskip} \NC line \NC 0x\uchexnumbers\linefrozenparcode \NC \NR
+\NC \type {\lineskiplimit} \NC line \NC 0x\uchexnumbers\linefrozenparcode \NC \NR
+\NC \type {\hyphenationmode} \NC hyphenation \NC 0x\uchexnumbers\hyphenationfrozenparcode \NC \NR
\stoptabulate
@@ -1001,10 +1001,10 @@ examples are visualized in \in {figure} [fig:flow].
% \starttext
% \tracingoutput1 \tracingonline1
-% \pretolerance9000 test \pretolerance8000 test \par
-% \pretolerance9000 test \pretolerance7000 \updateparagraphproperties test \par
-% \pretolerance9000 test \pretolerance6000 \snapshotpar\frozentolerancecode test \par
-% \pretolerance9000 test {\pretolerance5000 \snapshotpar\frozentolerancecode}test \par
+% \pretolerance9000 test \pretolerance 8000 test \par
+% \pretolerance9000 test \pretolerance 7000 \updateparagraphproperties test \par
+% \pretolerance9000 test \pretolerance 6000 \snapshotpar\tolerancefrozenparcode test \par
+% \pretolerance9000 test {\pretolerance5000 \snapshotpar\ntolerancefrozenparcode}test \par
% \stoptext
% \par[newgraf][16=1,17=1], .... pretolerance 9000, ....
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex b/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex
index 236236abe..0d4066ee1 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-languages.tex
@@ -316,23 +316,23 @@ a bitset made from the following values, some of which we saw in the previous
examples.
\starttabulate[|l|p|]
-\NC \number \normalhyphenationmodecode \NC honour (normal) \prm{discretionary}'s \NC \NR
-\NC \number \automatichyphenationmodecode \NC turn \type {-} into (automatic) discretionaries \NC \NR
-\NC \number \explicithyphenationmodecode \NC turn \type {\-} into (explicit) discretionaries \NC \NR
-\NC \number \syllablehyphenationmodecode \NC hyphenate (syllable) according to language \NC \NR
-\NC \number \uppercasehyphenationmodecode \NC hyphenate uppercase characters too (replaces \prm {uchyph} \NC \NR
-\NC \number \compoundhyphenationmodecode \NC permit break at an explicit hyphen (border cases) \NC \NR
-\NC \number \strictstarthyphenationmodecode \NC traditional \TEX\ compatibility wrt the start of a word \NC \NR
-\NC \number \strictendhyphenationmodecode \NC traditional \TEX\ compatibility wrt the end of a word \NC \NR
-\NC \number \automaticpenaltyhyphenationmodecode \NC use \lpr {automatichyphenpenalty} \NC \NR
-\NC \number \explicitpenaltyhyphenationmodecode \NC use \lpr {explicithyphenpenalty} \NC \NR
-\NC \number \permitgluehyphenationmodecode \NC turn glue in discretionaries into kerns \NC \NR
-\NC \number \permitallhyphenationmodecode \NC okay, let's be even more tolerant in discretionaries \NC \NR
-\NC \number \permitmathreplacehyphenationmodecode \NC and again we're more permissive \NC \NR
-\NC \number \lazyligatureshyphenationmodecode \NC controls how successive explicit discretionaries are handled in base mode \NC \NR
-\NC \number \forcecheckhyphenationmodecode \NC treat all discretionaries equal when breaking lines (in all three passes) \NC \NR
-\NC \number \forcehandlerhyphenationmodecode \NC kick in the handler (experiment) \NC \NR
-\NC \number \feedbackcompoundhyphenationmodecode \NC feedback compound snippets \NC \NR
+\NC \number \normalhyphenationcode \NC honour (normal) \prm{discretionary}'s \NC \NR
+\NC \number \automatichyphenationcode \NC turn \type {-} into (automatic) discretionaries \NC \NR
+\NC \number \explicithyphenationcode \NC turn \type {\-} into (explicit) discretionaries \NC \NR
+\NC \number \syllablehyphenationcode \NC hyphenate (syllable) according to language \NC \NR
+\NC \number \uppercasehyphenationcode \NC hyphenate uppercase characters too (replaces \prm {uchyph} \NC \NR
+\NC \number \compoundhyphenationcode \NC permit break at an explicit hyphen (border cases) \NC \NR
+\NC \number \strictstarthyphenationcode \NC traditional \TEX\ compatibility wrt the start of a word \NC \NR
+\NC \number \strictendhyphenationcode \NC traditional \TEX\ compatibility wrt the end of a word \NC \NR
+\NC \number \automaticpenaltyhyphenationcode \NC use \lpr {automatichyphenpenalty} \NC \NR
+\NC \number \explicitpenaltyhyphenationcode \NC use \lpr {explicithyphenpenalty} \NC \NR
+\NC \number \permitgluehyphenationcode \NC turn glue in discretionaries into kerns \NC \NR
+\NC \number \permitallhyphenationcode \NC okay, let's be even more tolerant in discretionaries \NC \NR
+\NC \number \permitmathreplacehyphenationcode \NC and again we're more permissive \NC \NR
+\NC \number \lazyligatureshyphenationcode \NC controls how successive explicit discretionaries are handled in base mode \NC \NR
+\NC \number \forcecheckhyphenationcode \NC treat all discretionaries equal when breaking lines (in all three passes) \NC \NR
+\NC \number \forcehandlerhyphenationcode \NC kick in the handler (experiment) \NC \NR
+\NC \number \feedbackcompoundhyphenationcode \NC feedback compound snippets \NC \NR
\stoptabulate
Some of these options are still experimental, simply because not all aspects and
@@ -452,8 +452,8 @@ have been added:
\stoptyping
The usage of these penalties is controlled by the \lpr {hyphenationmode} flags
-\number\automaticpenaltyhyphenationmodecode\space and
-\number\explicitpenaltyhyphenationmodecode\space and when these are not set \prm
+\number\automaticpenaltyhyphenationcode\space and
+\number\explicitpenaltyhyphenationcode\space and when these are not set \prm
{exhyphenpenalty} is used.
You can use the \lpr {tracinghyphenation} variable to get a bit more information
@@ -734,7 +734,7 @@ In so called base mode, where \TEX\ does the work, the ligature construction
\type {ff} ligatures and that one followed by an \type {i} can become a \type
{ffi} ligature. The situation can be complicated by hyphenation points between
these characters. When there are several in a ligature collapsing happens. Flag
-{\tttf "\uchexnumbers {\lazyligatureshyphenationmodecode}} in the \lpr
+{\tttf "\uchexnumbers {\lazyligatureshyphenationcode}} in the \lpr
{hyphenationmode} variable determines if this happens lazy or greedy, i.e.\ the
first hyphen wins or the last one does. In practice a \CONTEXT\ user won't have
to deal with this because most fonts are processed in node mode.
diff --git a/doc/context/sources/general/manuals/luatex/luatex-modifications.tex b/doc/context/sources/general/manuals/luatex/luatex-modifications.tex
index 1ce628f5e..7cb14a18f 100644
--- a/doc/context/sources/general/manuals/luatex/luatex-modifications.tex
+++ b/doc/context/sources/general/manuals/luatex/luatex-modifications.tex
@@ -507,6 +507,14 @@ opened it up.
\stopsubsection
+\startsubsection[title=Changes from anywhere]
+
+The \tyep {\partokenname} and \type {\partokencontext} primitives are taken from
+the \PDFTEX\ change file posted on the implementers list. They are explained in
+the \PDFTEX\ manual and are classified as \ETEX\ extensions.
+
+\stopsubsection
+
\startsubsection[title=Changes from standard \WEBC]
\topicindex {\WEBC}
diff --git a/doc/context/sources/general/manuals/manuals-explaining-environment.tex b/doc/context/sources/general/manuals/manuals-explaining-environment.tex
index f896c219b..dfe4d4e64 100644
--- a/doc/context/sources/general/manuals/manuals-explaining-environment.tex
+++ b/doc/context/sources/general/manuals/manuals-explaining-environment.tex
@@ -116,7 +116,7 @@
[chapter]
[pagenumber=no,
style=bold,
- before={\blank\startcolor[\structurelistuservariable{color}]},
+ before={\blank\startcolor[\rawstructurelistuservariable{color}]},
after={\placelist[section]\stopcolor}]
\setuplist
diff --git a/doc/context/sources/general/manuals/mathml/envexamp.tex b/doc/context/sources/general/manuals/mathml/envexamp.tex
index 8a2b4e2df..50a38fc0f 100644
--- a/doc/context/sources/general/manuals/mathml/envexamp.tex
+++ b/doc/context/sources/general/manuals/mathml/envexamp.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/mathml
+
\startenvironment envexamp
% this is an old style. only slightly updated to mkiv
diff --git a/doc/context/sources/general/manuals/mathml/mmlexamp.tex b/doc/context/sources/general/manuals/mathml/mmlexamp.tex
index 0beb211ad..2e2875ccb 100644
--- a/doc/context/sources/general/manuals/mathml/mmlexamp.tex
+++ b/doc/context/sources/general/manuals/mathml/mmlexamp.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/mathml
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
diff --git a/doc/context/sources/general/manuals/mathml/mmlprime.tex b/doc/context/sources/general/manuals/mathml/mmlprime.tex
index 811ba376b..4fb4b90bf 100644
--- a/doc/context/sources/general/manuals/mathml/mmlprime.tex
+++ b/doc/context/sources/general/manuals/mathml/mmlprime.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/mathml
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
@@ -17,6 +17,12 @@
% Group journal or otherwise. Thanks to the editors for corrections. Also thanks
% to users for testing, feedback and corrections.
+% The layout is made for the traditional lucida bright fonts. In the meantime we
+% use the opentype variant but it sometimes has different default shapes. So,
+% rendering has become less optimal. However, this is one of the oldest documents
+% that come with \CONTEXT, which has always supported \MATHML, so we keep it as it
+% is. The same is true for the style definition, which hasn't changed much.
+
% \setupbackend[export=yes]
\usemodule[abr-02,mathml,math-coverage,asciimath]
@@ -87,11 +93,13 @@
textcolor=darkred,
after={\blank[big]}]
-\unexpanded\def\SectionCommand#1#2%
- {\darkblue<--\enspace\ifconditional\headshownumber\enspace#1\quad\fi#2\enspace-->}
+\protected\def\SectionCommand#1#2%
+% {\darkblue<--\enspace\ifconditional\headshownumber#1\quad\fi#2\enspace-->}
+ {\darkblue<--\enspace\ifconditional\headshownumber#1\enspace\fi#2\enspace-->}
-\unexpanded\def\SubSectionCommand#1#2%
- {\darkblue<?\enspace\ifconditional\headshownumber#1\quad\fi#2\enspace ?>}
+\protected\def\SubSectionCommand#1#2%
+% {\darkblue<?\enspace\ifconditional\headshownumber#1\quad\fi#2\enspace ?>}
+ {\darkblue<?\space\ifconditional\headshownumber#1\enspace\fi#2\enspace ?>}
\setuplayout
[style=\hw]
@@ -600,17 +608,21 @@
local gsub = string.gsub
local mapping = {
[";"] = "{{\\darkblue\\string;}}",
- ["&"] = "{{\\ttsl\\darkblue\\string&}}", -- otherwise "et"
+ -- ["&"] = "{{\\ttx\\sl\\darkblue\\string&}}", -- too ugly
+ ["&"] = "{{\\darkblue\\string&}}", -- otherwise "et"
["/"] = "{{\\darkblue\\string/}}",
["<"] = "{{\\darkblue\\string<}}",
[">"] = "{{\\darkblue\\string>}}",
}
function document.filterxmltitlestuff(name)
- local data = io.loaddata(name) or ""
- data = gsub(data,"<math[^>]*>","<math>")
- data = gsub(data,"[%s ]+"," ")
- data = gsub(data,"(.)",mapping)
- context(data)
+-- local data = io.loaddata(name) or ""
+local data = io.loaddata(resolvers.findfile(name)) or ""
+ if data then
+ data = gsub(data,"<math[^>]*>","<math>")
+ data = gsub(data,"[%s ]+"," ")
+ data = gsub(data,"(.)",mapping)
+ context(data)
+ end
end
\stopluacode
diff --git a/doc/context/sources/general/manuals/musings/musings-children.tex b/doc/context/sources/general/manuals/musings/musings-children.tex
index b814675bb..aca898774 100644
--- a/doc/context/sources/general/manuals/musings/musings-children.tex
+++ b/doc/context/sources/general/manuals/musings/musings-children.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/musings
% naming-nature.jog
diff --git a/doc/context/sources/general/manuals/musings/musings-contents.tex b/doc/context/sources/general/manuals/musings/musings-contents.tex
index 45b21ec60..db3714be3 100644
--- a/doc/context/sources/general/manuals/musings/musings-contents.tex
+++ b/doc/context/sources/general/manuals/musings/musings-contents.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/musings
+
\startcomponent musings-contents
\starttitle[title=Content]
diff --git a/doc/context/sources/general/manuals/musings/musings-introduction.tex b/doc/context/sources/general/manuals/musings/musings-introduction.tex
index d8dadd743..dc5eb2889 100644
--- a/doc/context/sources/general/manuals/musings/musings-introduction.tex
+++ b/doc/context/sources/general/manuals/musings/musings-introduction.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/musings
\startcomponent musings-introduction
diff --git a/doc/context/sources/general/manuals/musings/musings-names.tex b/doc/context/sources/general/manuals/musings/musings-names.tex
index 55641ecd9..470aba109 100644
--- a/doc/context/sources/general/manuals/musings/musings-names.tex
+++ b/doc/context/sources/general/manuals/musings/musings-names.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/musings
\startcomponent musings-names
diff --git a/doc/context/sources/general/manuals/musings/musings-perception.tex b/doc/context/sources/general/manuals/musings/musings-perception.tex
index 993604473..3f1253f7e 100644
--- a/doc/context/sources/general/manuals/musings/musings-perception.tex
+++ b/doc/context/sources/general/manuals/musings/musings-perception.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/musings
\definefontfeature[ligatures][liga=yes,mode=node]
diff --git a/doc/context/sources/general/manuals/musings/musings-plain.tex b/doc/context/sources/general/manuals/musings/musings-plain.tex
index 757f7300c..96396bb81 100644
--- a/doc/context/sources/general/manuals/musings/musings-plain.tex
+++ b/doc/context/sources/general/manuals/musings/musings-plain.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/musings
% \showfontkerns
@@ -259,8 +259,8 @@ This definition is kind of interesting as it assumes knowledge about what is
acceptable for \TEX\ as dimension:
\startbuffer
-{\maxdimen=16383.99999pt \the\maxdimen \quad \number\maxdimen}
-{\maxdimen=16383.99998pt \the\maxdimen \quad \number\maxdimen}
+{\dimen0=16383.99999pt \the\dimen0 \quad \number\dimen0}
+{\dimen0=16383.99998pt \the\dimen0 \quad \number\dimen0}
\stopbuffer
\typebuffer
@@ -269,7 +269,7 @@ acceptable for \TEX\ as dimension:
\getbuffer
\stoplines
-Indeed it is the largest legal dimension but the real largest one is slighly
+Indeed it is the largest legal dimension but the real largest one is slightly
less. We could also have said the following, which also indicates what the
maximum cardinal is:
diff --git a/doc/context/sources/general/manuals/musings/musings-roadmap.tex b/doc/context/sources/general/manuals/musings/musings-roadmap.tex
index f8771ba42..8deeeb429 100644
--- a/doc/context/sources/general/manuals/musings/musings-roadmap.tex
+++ b/doc/context/sources/general/manuals/musings/musings-roadmap.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/musings
% \showfontkerns
diff --git a/doc/context/sources/general/manuals/musings/musings-stability.tex b/doc/context/sources/general/manuals/musings/musings-stability.tex
index 7dc35c6be..e80d0c4c5 100644
--- a/doc/context/sources/general/manuals/musings/musings-stability.tex
+++ b/doc/context/sources/general/manuals/musings/musings-stability.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/musings
\environment musings-style
diff --git a/doc/context/sources/general/manuals/musings/musings-staygo.tex b/doc/context/sources/general/manuals/musings/musings-staygo.tex
index 4be647e47..c9503dd82 100644
--- a/doc/context/sources/general/manuals/musings/musings-staygo.tex
+++ b/doc/context/sources/general/manuals/musings/musings-staygo.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/musings
% Written with on repeat:
%
diff --git a/doc/context/sources/general/manuals/musings/musings-style.tex b/doc/context/sources/general/manuals/musings/musings-style.tex
index a85960bdd..873c652c1 100644
--- a/doc/context/sources/general/manuals/musings/musings-style.tex
+++ b/doc/context/sources/general/manuals/musings/musings-style.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/musings
+
\startenvironment musings-style
\usemodule[abr-04]
diff --git a/doc/context/sources/general/manuals/musings/musings-titlepage.tex b/doc/context/sources/general/manuals/musings/musings-titlepage.tex
index 33eb44d95..27868ea8b 100644
--- a/doc/context/sources/general/manuals/musings/musings-titlepage.tex
+++ b/doc/context/sources/general/manuals/musings/musings-titlepage.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/musings
+
\environment musings-style
\startcomponent musings-titlepage
diff --git a/doc/context/sources/general/manuals/musings/musings-whytex.tex b/doc/context/sources/general/manuals/musings/musings-whytex.tex
index 8f9b7de9b..6186c4a0f 100644
--- a/doc/context/sources/general/manuals/musings/musings-whytex.tex
+++ b/doc/context/sources/general/manuals/musings/musings-whytex.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/musings
\startcomponent musings-whytex
diff --git a/doc/context/sources/general/manuals/musings/musings.tex b/doc/context/sources/general/manuals/musings/musings.tex
index 687fcdb50..d3c1f3148 100644
--- a/doc/context/sources/general/manuals/musings/musings.tex
+++ b/doc/context/sources/general/manuals/musings/musings.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/musings
+
\environment musings-style
\startproduct musings
@@ -18,9 +20,13 @@
\component musings-roadmap
\component musings-names
\component musings-plain
+
+ % \component musings-toocomplex
+ % \component musings-manuals
% \component musings-performance
% \component musings-history
% \component musings-treasures
+ % \component musings-whytex-again
\stopbodymatter
\stopproduct
diff --git a/doc/context/sources/general/manuals/nodes/nodes.tex b/doc/context/sources/general/manuals/nodes/nodes.tex
index 2d97e676a..2059ae1bc 100644
--- a/doc/context/sources/general/manuals/nodes/nodes.tex
+++ b/doc/context/sources/general/manuals/nodes/nodes.tex
@@ -1,4 +1,4 @@
-% interface=english modes=screen
+% language=us runpath=texruns:manuals/nodes
% author : Alan Braslau
% copyright : ConTeXt Development Team
@@ -739,7 +739,7 @@ first view, but it simplifies things in the end, really!
To avoid such confusion, in particular when drawing complicated diagrams
containing many nodes, the \CONTEXT\ interface allows the use of a \type
-{reference} or tag, assigning a symbolic name to a numbered node. The example of
+{reference} or tag, assigning a symbolic name to a numbered node. The example of
\in{Figure} [fig:ConTeXt] can be redrawn a little more verbosely as:
\startbuffer
diff --git a/doc/context/sources/general/manuals/primitives/primitives.tex b/doc/context/sources/general/manuals/primitives/primitives.tex
index 81b42c5b6..30d3815bb 100644
--- a/doc/context/sources/general/manuals/primitives/primitives.tex
+++ b/doc/context/sources/general/manuals/primitives/primitives.tex
@@ -1,4 +1,4 @@
-% language=us
+% language=us runpath=texruns:manuals/primitives
% The usual time stamp. This written while listening intermized to Fish (just ran
% into), Lazulli (some yt videos too, looking forward to a next live act) and
@@ -51,6 +51,8 @@
\starttext
+\pushoverloadmode
+
\startMPpage
fill Page
withcolor "darkgray" ;
@@ -103,6 +105,68 @@ In this document the section titles that discuss the \color [nonecolor] {origina
\TEX\ and \ETEX\ primitives} have a different color those explaining the \color
[primcolor] {\LUATEX\ and \LUAMETATEX\ primitives}.
+Primitives that extend typesetting related functionality, provide control over
+subsystems (like math), allocate additional datatypes and resources, deal with
+fonts and languages, manipulate boxes and glyphs, etc.\ are not discussed here.
+In this document we concentrate on the programming aspects.
+
+\startalign[verytolerant,stretch]
+To be described here: \typ {enforced}, \typ {immutable}, \typ {instance},
+\typ {aliased}, \typ {mutable}, \typ {overloaded}, \typ {overloadmode}, \typ
+{tolerant}, \typ {permanent}, \typ {ifflags}, \typ {ifinsert}, \typ
+{ifmathparameter}, \typ {ifmathstyle}, \typ {ifparameter}, \typ
+{ifparameters}, \typ {ignorearguments}, \typ {ignorepars}, \typ
+{parametercount}, \typ {lastchkdim}, \typ {lastchknum}.
+
+Of a different order: \typ {adjustspacing}, \typ {adjustspacingshrink}, \typ
+{adjustspacingstep}, \typ {adjustspacingstretch}, \typ {attribute}, \typ
+{attributedef}, \typ {automaticdiscretionary}, \typ {automatichyphenpenalty},
+\typ {automigrationmode}, \typ {boundary}, \typ {boxattribute}, \typ
+{boxdirection}, \typ {boxorientation}, \typ {boxtotal}, \typ {boxxmove}, \typ
+{boxxoffset}, \typ {boxymove}, \typ {boxyoffset}, \typ {catcodetable}, \typ
+{clearmarks}, \typ {crampeddisplaystyle}, \typ {crampedscriptscriptstyle},
+\typ {crampedscriptstyle}, \typ {crampedtextstyle}, \typ {directlua}, \typ
+{efcode}, \typ {everybeforepar}, \typ {everytab}, \typ {exceptionpenalty},
+\typ {explicitdiscretionary}, \typ {explicithyphenpenalty}, \typ
+{firstvalidlanguage}, \typ {fontid}, \typ {fontmathcontrol}, \typ
+{fontspecifiedsize}, \typ {fonttextcontrol}, \typ {formatname}, \typ
+{gleaders}, \typ {gluespecdef}, \typ {glyphdatafield}, \typ {glyphoptions},
+\typ {glyphscale}, \typ {glyphscriptfield}, \typ {glyphscriptscale}, \typ
+{glyphscriptscriptscale}, \typ {glyphstatefield}, \typ {glyphtextscale}, \typ
+{glyphxoffset}, \typ {glyphxscale}, \typ {glyphyoffset}, \typ {glyphyscale},
+\typ {hccode}, \typ {hjcode}, \typ {hpack}, \typ {hyphenationmin}, \typ
+{hyphenationmode}, \typ {initcatcodetable}, \typ {insertbox},\typ
+{insertcopy}, \typ {insertdepth}, \typ {insertdistance}, \typ {insertheight},
+\typ {insertheights}, \typ {insertlimit}, \typ {insertmode}, \typ
+{insertmultiplier}, \typ {insertprogress}, \typ {insertunbox}, \typ
+{insertuncopy}, \typ {insertwidth}, \typ {lastnodesubtype}, \typ
+{leftmarginkern}, \typ {letcharcode}, \typ {linedirection}, \typ {linepar},
+\typ {localbrokenpenalty}, \typ {localinterlinepenalty}, \typ {lpcode}, \typ
+{luabytecode}, \typ {luabytecodecall}, \typ {luacopyinputnodes}, \typ
+{luadef}, \typ {luaescapestring}, \typ {luafunction}, \typ {luafunctioncall},
+\typ {luatexbanner}, \typ {luatexrevision}, \typ {luatexversion}, \typ
+{mathcontrolmode}, \typ {mathdelimitersmode}, \typ {mathdirection}, \typ
+{mathdisplayskipmode}, \typ {matheqnogapstep}, \typ {mathflattenmode}, \typ
+{mathfontcontrol}, \typ {mathitalicsmode}, \typ {mathnolimitsmode}, \typ
+{mathpenaltiesmode}, \typ {mathrulesfam}, \typ {mathrulesmode}, \typ
+{mathrulethicknessmode}, \typ {mathscale}, \typ {mathscriptboxmode}, \typ
+{mathscriptcharmode}, \typ {mathscriptsmode}, \typ {mathstyle}, \typ
+{mathsurroundmode}, \typ {mathsurroundskip}, \typ {mugluespecdef}, \typ
+{noaligned}, \typ {noboundary}, \typ {nohrule}, \typ {normalizelinemode},
+\typ {nospaces}, \typ {novrule}, \typ {numericscale}, \typ {numexpression},
+\typ {outputbox}, \typ {parattribute}, \typ {pardirection}, \typ
+{postexhyphenchar}, \typ {posthyphenchar}, \typ {prebinoppenalty}, \typ
+{predisplaygapfactor}, \typ {preexhyphenchar}, \typ {prehyphenchar}, \typ
+{prerelpenalty}, \typ {protrudechars}, \typ {protrusionboundary}, \typ
+{pxdimen}, \typ {quitvmode}, \typ {rightmarginkern}, \typ {rpcode}, \typ
+{savecatcodetable}, \typ {scantextokens}, \typ {setfontid}, \typ
+{snapshotpar}, \typ {supmarkmode}, \typ {textdirection}, \typ
+{thewithoutunit}, \typ {thewithproperty}, \typ {tpack}, \typ
+{tracingexpressions}, \typ {tracingfonts}, \typ {tracinghyphenation}, \typ
+{tracingmath}, \typ {undent}, \typ {vpack}, \typ {wordboundary}, \typ
+{wrapuppar}.
+\stopalign
+
\stopsubject
\page
@@ -551,15 +615,15 @@ character code. Because it assumes some knowledge of \TEX\ we can show it
using some \type {\expandafter} magic:
\startbuffer
-\expandafter\let\expandafter\temp\expandtoken 11 `X \meaning\temp\crlf
-\expandafter\let\expandafter\temp\expandtoken 12 `X \meaning\temp\crlf
+\expandafter\let\expandafter\temp\expandtoken 11 `X \meaning\temp
+\expandafter\let\expandafter\temp\expandtoken 12 `X \meaning\temp
\stopbuffer
\typebuffer
The meanings are:
-{\getbuffer}
+\startlines \tttf \getbuffer \stoplines
Using other catcodes is possible but the results of injecting them into the input
directly (or here by injecting \type {\temp}) can be unexpected because of what
@@ -569,9 +633,9 @@ catcode|/|character combinations as signals and there is no reason to change
those internals. That said:
\startbuffer
-\edef\tempA{\expandtoken 9 `X} \meaning\tempA\crlf
-\edef\tempB{\expandtoken 10 `X} \meaning\tempB\crlf
-\edef\tempC{\expandtoken 11 `X} \meaning\tempC\crlf
+\edef\tempA{\expandtoken 9 `X} \meaning\tempA
+\edef\tempB{\expandtoken 10 `X} \meaning\tempB
+\edef\tempC{\expandtoken 11 `X} \meaning\tempC
\edef\tempD{\expandtoken 12 `X} \meaning\tempD
\stopbuffer
@@ -579,7 +643,7 @@ those internals. That said:
are all valid and from the meaning you cannot really deduce what's in there:
-{\getbuffer}
+\startlines \tttf \getbuffer \stoplines
But you can be assured that:
@@ -815,14 +879,15 @@ where expansion is happening, like in an \type {\edef}. In \CONTEXT\ you need to
use \type {\normalunexpanded} because we already had a macro with that name.
\startbuffer
-\def\A{!}
-\def\B{?}
-
-\edef\C{\A\B} \meaning\C \crlf
-\edef\C{\normalunexpanded{\A}\B} \meaning\C \crlf
+\def \A{!} \meaning\A
+\def \B{?} \meaning\B
+\edef\C{\A\B} \meaning\C
+\edef\C{\normalunexpanded{\A}\B} \meaning\C
\stopbuffer
-\typebuffer {\getbuffer}
+\typebuffer
+
+\startlines \tttf \getbuffer \stoplines
\stopoldprimitive
@@ -832,11 +897,13 @@ This \ETEX\ primitive turns the content of the provides list will become
characters, kind of verbatim.
\startbuffer
-\expandafter\let\expandafter\temp\detokenize{1} \meaning\temp \crlf
-\expandafter\let\expandafter\temp\detokenize{A} \meaning\temp \crlf
+\expandafter\let\expandafter\temp\detokenize{1} \meaning\temp
+\expandafter\let\expandafter\temp\detokenize{A} \meaning\temp
\stopbuffer
-\typebuffer {\getbuffer}
+\typebuffer
+
+\startlines \tttf \getbuffer \stoplines
\stopoldprimitive
@@ -849,18 +916,16 @@ Just as \type {\expanded} has a counterpart \type {\unexpanded}, it makes sense
\edef\foo{\detokenize{\inframed{foo}}}
\edef\oof{\detokenize{\inframed{oof}}}
-\meaning\foo \crlf
-\dontleavehmode\foo
+\meaning\foo \crlf \dontleavehmode\foo
\edef\foo{\tokenized{\foo\foo}}
-\meaning\foo \crlf
-\dontleavehmode\foo
+\meaning\foo \crlf \dontleavehmode\foo
\dontleavehmode\tokenized{\foo\oof}
\stopbuffer
-\typebuffer {\getbuffer}
+\typebuffer {\tttf \getbuffer}
This primitive is similar to:
@@ -893,54 +958,71 @@ examples:
\stopnewprimitive
-\startnewprimitive[title={\tex {immediateassignment}}]
-
-Assignments are not expandable which means that you cannot define fully
-expandable macros that have assignments. But, there is a way out of this:
+\startnewprimitive[title={\tex {numexpression}}]
+
+The normal \tex {numexpr} primitive understands the \type {+}, \type {-}, \type
+{*} and \type {/} operators but in \LUAMETATEX\ we also can use \type {:} for a
+non rounded integer division (think of \LUA's \type {//}). if you want more than
+that, you can use the new expression primitive where you can use the following
+operators.
+
+\starttabulate[||cT|cT|]
+\BC add \NC + \NC \NC \NR
+\BC subtract \NC - \NC \NC \NR
+\BC multiply \NC * \NC \NC \NR
+\BC divide \NC / : \NC \NC \NR
+\BC mod \NC \letterpercent \NC mod \NC \NR
+\BC band \NC & \NC band \NC \NR
+\BC bxor \NC ^ \NC bxor \NC \NR
+\BC bor \NC \letterbar \space v \NC bor \NC \NR
+\BC and \NC && \NC and \NC \NR
+\BC or \NC \letterbar\letterbar \NC or \NC \NR
+\BC setbit \NC <undecided> \NC bset \NC \NR
+\BC resetbit \NC <undecided> \NC breset \NC \NR
+\BC left \NC << \NC \NC \NR
+\BC right \NC >> \NC \NC \NR
+\BC less \NC < \NC \NC \NR
+\BC lessequal \NC <= \NC \NC \NR
+\BC equal \NC = == \NC \NC \NR
+\BC moreequal \NC >= \NC \NC \NR
+\BC more \NC > \NC \NC \NR
+\BC unequal \NC <> != \lettertilde = \NC \NC \NR
+\BC not \NC ! \lettertilde \NC not \NC \NR
+\stoptabulate
+
+An example of the verbose bitwise operators is:
-\startbuffer
-\scratchcounter = 10
-\edef\whatever{%
- (\the\scratchcounter)
- \immediateassignment\scratchcounter\numexpr\scratchcounter+10\relax
- \immediateassignment\advance\scratchcounter -5
- (\the\scratchcounter)
-}
-\meaning\whatever
-\stopbuffer
-
-\typebuffer
-
-Don't expect miracles: you can't mix|-|in content or unexpandable tokens as they
-will either show up or quit the scanning.
+\starttyping
+\scratchcounter = \numexpression
+ "00000 bor "00001 bor "00020 bor "00400 bor "08000 bor "F0000
+\relax
+\stoptyping
-{\getbuffer}
+In the table you might have notices that some operators have equivalents. This
+makes the scanner a bit less sensitive for catcode regimes.
-\stopnewprimitive
+When \type {\tracingexpressions} is set to one or higher the intermediate \quote
+{reverse polish notation} stack that is used for the calculation is shown, for
+instance:
-\startnewprimitive[title={\tex {immediateassigned}}]
+\starttyping
+4:8: {numexpression rpn: 2 5 > 4 5 > and}
+\stoptyping
-This is the multi|-|token variant of the primitive mentioned in the previous
-section.
+When you want the output on your console, you need to say:
-\startbuffer
-\scratchcounter = 10
-\edef\whatever{%
- (\the\scratchcounter)
- \immediateassigned{
- \scratchcounter\numexpr\scratchcounter+10\relax
- \advance\scratchcounter -5
- }%
- (\the\scratchcounter)
-}
-\meaning\whatever
-\stopbuffer
+\starttyping
+\tracingexpressions 1
+\tracingonline 1
+\stoptyping
-\typebuffer
+\stopnewprimitive
-The results are the same as in the previous section:
+\startnewprimitive[title={\tex {dimexpression}}]
-{\getbuffer}
+This command is like \tex {numexpression} but results in a dimension instead of
+an integer. Where \tex {dimexpr} doesn't like \typ {2 * 10pt} this expression
+primitive is quite happy with it.
\stopnewprimitive
@@ -1487,7 +1569,7 @@ look like \type {\newif} creates one, it actually just defined three macros.
\meaning\ifMyTest \crlf
\stopbuffer
-\typebuffer {\getbuffer}
+\typebuffer {\tttf \getbuffer}
This means that when you say:
@@ -1575,6 +1657,13 @@ macros, register allocations and character definitions.
\stopnewprimitive
+\startnewprimitive[title={\tex {ifrelax}}]
+
+This is a convenient shortcut for \typ {\ifx\relax} and the motivation for adding
+this one is (as with some others) to get less tracing.
+
+\stopnewprimitive
+
\startnewprimitive[title={\tex {ifempty}}]
This conditional checks if a control sequence is empty:
@@ -1760,6 +1849,36 @@ ok:
\stopnewprimitive
+\startnewprimitive[title={\tex {ifnumexpression}}]
+
+Here is an example of a conditional using expressions:
+
+\startbuffer
+\ifnumexpression (\scratchcounterone > 5) and (\scratchcountertwo > 5) \relax
+ do-something
+\fi
+\stopbuffer
+
+This matches when the result is non zero, and you can mix calculations and tests
+as with normal expressions.
+
+\stopnewprimitive
+\startnewprimitive[title={\tex {ifdimexpression}}]
+
+The companion of the previous primitive is:
+
+\startbuffer
+\ifdimexpression 10pt > 10bp \relax
+ do-something
+\fi
+\stopbuffer
+
+This matches when the result is non zero, and you can mix calculations and tests
+as with normal expressions. Contrary to the number variant units can be used and
+precision kicks in.
+
+\stopnewprimitive
+
\startoldprimitive[title={\tex {else}}]
This traditional primitive is part of the condition testing mechanism. When a
@@ -1893,6 +2012,13 @@ masters \TEX\ might hurt.
\stopnewprimitive
+\startnewprimitive[title={\tex {orunless}}]
+
+This is the negated variant of \tex {\orelse} (prefixing that one with \tex
+{unless} doesn't work well.
+
+\stopnewprimitive
+
\startoldprimitive[title={\tex {futurelet}}]
The original \TEX\ primitive \type {\futurelet} can be used to create an alias to a next token,
@@ -1950,6 +2076,17 @@ So we're back to what we want:
\stopnewprimitive
+\startnewprimitive[title={\tex {futurecsname}}]
+
+In order to make the repertoire of \type {def}, \type {let} and \type {futurelet}
+primitives complete we also have:
+
+\starttyping
+\futurecsname MyMacro:1\endcsname\MyAction
+\stoptyping
+
+\stopnewprimitive
+
\startnewprimitive[title={\tex {letcharcode}}]
Assigning a meaning to an active character can sometimes be a bit cumbersome;
@@ -1966,12 +2103,12 @@ used only a few times and then never looked at again. So we have this:
here we define \type {A} as an active charcter with meaning \type {1} in the
first line and \type {2} in the second.
-{\getbuffer}
+{\tttf \getbuffer}
Normally one will assign a control sequence:
\startbuffer
-{\letcharcode 66 \bf \catcode 66 13 {B bold}: \meaning B}\crlf
+{\letcharcode 66 \bf \catcode 66 13 {B bold}: \meaning B}\crlf
{\letcharcode 73 \it \catcode 73 13 {I italic}: \meaning I}\crlf
\stopbuffer
@@ -1979,7 +2116,7 @@ Normally one will assign a control sequence:
Of course \type {\bf} and \type {\it} are \CONTEXT\ specific commands:
-{\getbuffer}
+{\tttf \getbuffer}
\stopnewprimitive
@@ -2033,6 +2170,66 @@ also defined but it has been dropped.
\stopoldprimitive
+\startnewprimitive[title={\tex {expand}}]
+
+Beware, this is not a prefix but a directive to ignore the protected characters of
+the following macro.
+
+\startbuffer
+\protected \def \testa{\the\scratchcounter}
+ \edef\testb{\testa}
+ \edef\testc{\expand\testa}
+\stopbuffer
+
+\typebuffer
+
+The meaning of the three macros is:
+
+\startlines \getbuffer \tttf
+\meaningfull\testa
+\meaningfull\testb
+\meaningfull\testc
+\stoplines
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {untraced}}]
+
+Related to the meaning providers is the \tex {untraced} prefix. It marks a macro
+as to be reported by name only. It makes the macro look like a primitive.
+
+\starttyping
+ \def\foo{}
+\untraced\def\oof{}
+
+\scratchtoks{\foo\foo\oof\oof}
+
+\tracingall \the\scratchtoks \tracingnone
+\stoptyping
+
+This will show up in the log as follows:
+
+\starttyping
+1:4: {\the}
+1:5: \foo ->
+1:5: \foo ->
+1:5: \oof
+1:5: \oof
+\stoptyping
+
+This is again a trick to avoid too much clutter in a log. Often it doesn't matter
+to users what the meaning of a macro is (if they trace at all). \footnote {An
+earlier variant could also hide the expansion completely but that was just
+confusing.}
+
+\startoldprimitive[title={\tex {immediate}}]
+
+This one has no effect unless you intercept it at the \LUA\ end and act upon it.
+In original \TEX\ immediate is used in combination with read from and write to
+file operations. So, this is an old primitive with a new meaning.
+
+\stopoldprimitive
+
\startnewprimitive[title={\tex {frozen}}]
You can define a macro as being frozen:
@@ -2181,6 +2378,59 @@ it that it shares all variables with the parent loop.
\stopnewprimitive
+\startnewprimitive[title={\tex {localcontrolled}}]
+
+The previously described local control feature comes with two extra helpers. The
+\tex {localcontrolled} primitive takes a token list and wraps this into a local
+control sidetrack. For example:
+
+\startbuffer
+\edef\testa{\scratchcounter123 \the\scratchcounter}
+\edef\testb{\localcontrolled{\scratchcounter123}\the\scratchcounter}
+\stopbuffer
+
+\typebuffer
+
+The two meanings are:
+
+\start \getbuffer
+\starttabulate[|T|T|]
+\NC \string\testa \NC \meaningfull\testa \NC \NR
+\NC \string\testb \NC \meaningfull\testb \NC \NR
+\stoptabulate
+\stop
+
+The assignment is applied immediately in the expanded definition.
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {localcontrol}}]
+
+This primitive takes a single token:
+
+\startbuffer
+\edef\testa{\scratchcounter123 \the\scratchcounter}
+\edef\testc{\testa \the\scratchcounter}
+\edef\testd{\localcontrol\testa \the\scratchcounter}
+\stopbuffer
+
+\typebuffer
+
+The three meanings are:
+
+\start \getbuffer
+\starttabulate[|T|T|]
+\NC \string\testa \NC \meaning\testa \NC \NR
+\NC \string\testc \NC \meaning\testc \NC \NR
+\NC \string\testd \NC \meaning\testd \NC \NR
+\stoptabulate
+\stop
+
+The \tex {\localcontrol} makes that the following token gets expanded so we don't
+see the yet to be expanded assignment show up in the macro body.
+
+\stopnewprimitive
+
\startnewprimitive[title={\tex {alignmark}}]
When you have the \type{#} not set up as macro parameter character cq.\ align
@@ -2197,6 +2447,218 @@ macros and alignments.
\stopnewprimitive
+\startnewprimitive[title={\tex {defcsname}}]
+
+We now get a series of log clutter avoidance primitives. It's fine if you argue
+that they are not really needed, just don't use them.
+
+\starttyping
+\expandafter\def\csname MyMacro:1\endcsname{...}
+ \defcsname MyMacro:1\endcsname{...}
+\stoptyping
+
+The fact that \TEX\ has three (expanded and global) companions can be seen as a
+signal that less verbosity makes sense. It's just that macro packages use plenty
+of \tex {\csname}'s.
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {edefcsname}}]
+
+This is the companion of \tex {\edef}:
+
+\starttyping
+\expandafter\edef\csname MyMacro:1\endcsname{...}
+ \edefcsname MyMacro:1\endcsname{...}
+\stoptyping
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {gdefcsname}}]
+
+As with standard \TEX\ we also define global ones:
+
+\starttyping
+\expandafter\gdef\csname MyMacro:1\endcsname{...}
+ \gdefcsname MyMacro:1\endcsname{...}
+\stoptyping
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {xdefcsname}}]
+
+This is the companion of \tex {\xdef}:
+
+\starttyping
+\expandafter\xdef\csname MyMacro:1\endcsname{...}
+ \xdefcsname MyMacro:1\endcsname{...}
+\stoptyping
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {glet}}]
+
+This is the global companion of \tex {\let}. The fact that it is not an original
+primitive is probably due to the expectation for it not it not being used (as)
+often (as in \CONTEXT).
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {letcsname}}]
+
+It is easy to see that we save two tokens when we use this primitive. As with the
+\type {..defcs..} variants it also saves a push back of the composed macro name.
+
+\starttyping
+\expandafter\let\csname MyMacro:1\endcsname\relax
+ \letcsname MyMacro:1\endcsname\relax
+\stoptyping
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {gletcsname}}]
+
+Naturally \LUAMETATEX\ also provides a global variant:
+
+\starttyping
+\expandafter\global\expandafter\let\csname MyMacro:1\endcsname\relax
+\expandafter \glet\csname MyMacro:1\endcsname\relax
+ \gletcsname MyMacro:1\endcsname\relax
+\stoptyping
+
+So, here we save even more.
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {lettonothing}}]
+
+This one let's a control sequence to nothing. Assuming that \tex {empty}
+is indeed empty, these two lines are equivalent.
+
+\starttyping
+\let \foo\empty
+\lettonothing\oof
+\stoptyping
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {glettonothing}}]
+
+This is the global companion of \tex {lettonothing}.
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {norelax}}]
+
+The rationale for this command can be shown by a few examples:
+
+\startbuffer
+\dimen0 1pt \dimen2 1pt \dimen4 2pt
+\edef\testa{\ifdim\dimen0=\dimen2\norelax N\else Y\fi}
+\edef\testb{\ifdim\dimen0=\dimen2\relax N\else Y\fi}
+\edef\testc{\ifdim\dimen0=\dimen4\norelax N\else Y\fi}
+\edef\testd{\ifdim\dimen0=\dimen4\relax N\else Y\fi}
+\edef\teste{\norelax}
+\stopbuffer
+
+\typebuffer
+
+The five meanings are:
+
+\start \getbuffer \starttabulate[|T|T|]
+\NC \string\testa \NC \meaning\testa \NC \NR
+\NC \string\testb \NC \meaning\testb \NC \NR
+\NC \string\testc \NC \meaning\testc \NC \NR
+\NC \string\testd \NC \meaning\testd \NC \NR
+\NC \string\teste \NC \meaning\teste \NC \NR
+\stoptabulate \stop
+
+So, the \type {\norelax} acts like \type {\relax} but is not pushed back as
+usual (in some cases).
+
+\stopnewprimitive
+
+\startnewprimitive[title={\tex {swapcsvalues}}]
+
+Because we mention some \type {def} and \type {let} primitives here, it makes
+sense to also mention a primitive that will swap two values (meanings). This one
+has to be used with care. Of course that what gets swapped has to be of the same
+type (or at least similar enough to to cause issues). Registers for instance
+store their values in the token, but as soon as we are dealing with token lists
+we also need to keep an eye on reference counting. So, to some extend this is
+an experimental feature.
+
+\stopnewprimitive
+
+"untraced",
+
+% \startnewprimitive[title={\tex {dimensiondef}}]
+% \stopnewprimitive
+
+% \startnewprimitive[title={\tex {integerdef}}]
+% \stopnewprimitive
+
+\startsubject[title=Obsolete]
+
+The \LUAMETATEX\ engine has more than its \LUATEX\ ancestor but it also has less.
+Because in the end the local control mechanism performed quite okay I decided to
+drop the \tex {immediateassignment} and \tex {immediateassigned} variants. They
+sort of used the same trick so there isn't much to gain and it was less generic
+(read: error prone).
+
+% \startnewprimitive[title={\tex {immediateassignment}}]
+%
+% Assignments are not expandable which means that you cannot define fully
+% expandable macros that have assignments. But, there is a way out of this:
+%
+% \startbuffer
+% \scratchcounter = 10
+% \edef\whatever{%
+% (\the\scratchcounter)
+% \immediateassignment\scratchcounter\numexpr\scratchcounter+10\relax
+% \immediateassignment\advance\scratchcounter -5
+% (\the\scratchcounter)
+% }
+% \meaning\whatever
+% \stopbuffer
+%
+% \typebuffer
+%
+% Don't expect miracles: you can't mix|-|in content or unexpandable tokens as they
+% will either show up or quit the scanning.
+%
+% {\getbuffer}
+%
+% \stopnewprimitive
+%
+% \startnewprimitive[title={\tex {immediateassigned}}]
+%
+% This is the multi|-|token variant of the primitive mentioned in the previous
+% section.
+%
+% \startbuffer
+% \scratchcounter = 10
+% \edef\whatever{%
+% (\the\scratchcounter)
+% \immediateassigned{
+% \scratchcounter\numexpr\scratchcounter+10\relax
+% \advance\scratchcounter -5
+% }%
+% (\the\scratchcounter)
+% }
+% \meaning\whatever
+% \stopbuffer
+%
+% \typebuffer
+%
+% The results are the same as in the previous section:
+%
+% {\getbuffer}
+%
+% \stopnewprimitive
+
+\stopsubject
+
\page
% % It doesn't make sense to typeset this, also because it makes me feel old.
@@ -2375,4 +2837,6 @@ Hans Hagen \crlf Hasselt NL
\stopsubject
+\popoverloadmode
+
\stoptext
diff --git a/doc/context/sources/general/manuals/rules/rules-mkiv.tex b/doc/context/sources/general/manuals/rules/rules-mkiv.tex
index e1d8acfaa..446c31c92 100644
--- a/doc/context/sources/general/manuals/rules/rules-mkiv.tex
+++ b/doc/context/sources/general/manuals/rules/rules-mkiv.tex
@@ -1,4 +1,4 @@
-% interface=en engine=luatex language=uk
+% language=us runpath=texruns:manuals/rules
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
diff --git a/doc/context/sources/general/manuals/spacing/spacing-contents.tex b/doc/context/sources/general/manuals/spacing/spacing-contents.tex
index d7c709e2e..51d5eba6f 100644
--- a/doc/context/sources/general/manuals/spacing/spacing-contents.tex
+++ b/doc/context/sources/general/manuals/spacing/spacing-contents.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/spacing
+
\startcomponent spacing-contents
\starttitle[title=Contents]
diff --git a/doc/context/sources/general/manuals/spacing/spacing-introduction.tex b/doc/context/sources/general/manuals/spacing/spacing-introduction.tex
index d4d385c5e..8ac41cd54 100644
--- a/doc/context/sources/general/manuals/spacing/spacing-introduction.tex
+++ b/doc/context/sources/general/manuals/spacing/spacing-introduction.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/spacing
+
\environment spacing-style
\startcomponent spacing-introduction
diff --git a/doc/context/sources/general/manuals/spacing/spacing-linecorrection.tex b/doc/context/sources/general/manuals/spacing/spacing-linecorrection.tex
index 525dd7490..dcbe4a06b 100644
--- a/doc/context/sources/general/manuals/spacing/spacing-linecorrection.tex
+++ b/doc/context/sources/general/manuals/spacing/spacing-linecorrection.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/spacing
\environment spacing-style
diff --git a/doc/context/sources/general/manuals/spacing/spacing-mkiv.tex b/doc/context/sources/general/manuals/spacing/spacing-mkiv.tex
index 0f32e4d30..939755b62 100644
--- a/doc/context/sources/general/manuals/spacing/spacing-mkiv.tex
+++ b/doc/context/sources/general/manuals/spacing/spacing-mkiv.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/spacing
+
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
% license : Creative Commons Attribution ShareAlike 4.0 International
diff --git a/doc/context/sources/general/manuals/spacing/spacing-periods.tex b/doc/context/sources/general/manuals/spacing/spacing-periods.tex
index 8d493b9a9..312e5eadb 100644
--- a/doc/context/sources/general/manuals/spacing/spacing-periods.tex
+++ b/doc/context/sources/general/manuals/spacing/spacing-periods.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/spacing
\environment spacing-style
diff --git a/doc/context/sources/general/manuals/spacing/spacing-spaces.tex b/doc/context/sources/general/manuals/spacing/spacing-spaces.tex
index 0d7f64379..7184c10dc 100644
--- a/doc/context/sources/general/manuals/spacing/spacing-spaces.tex
+++ b/doc/context/sources/general/manuals/spacing/spacing-spaces.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/spacing
\environment spacing-style
diff --git a/doc/context/sources/general/manuals/spacing/spacing-style.tex b/doc/context/sources/general/manuals/spacing/spacing-style.tex
index 5514df729..f8b2ea997 100644
--- a/doc/context/sources/general/manuals/spacing/spacing-style.tex
+++ b/doc/context/sources/general/manuals/spacing/spacing-style.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/spacing
+
\startenvironment spacing-style
\usemodule[abbreviations-words,typesetting]
diff --git a/doc/context/sources/general/manuals/spacing/spacing-titlepage.tex b/doc/context/sources/general/manuals/spacing/spacing-titlepage.tex
index 1f21d769a..74c42d77c 100644
--- a/doc/context/sources/general/manuals/spacing/spacing-titlepage.tex
+++ b/doc/context/sources/general/manuals/spacing/spacing-titlepage.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/spacing
+
\environment spacing-style
\startcomponent spacing-titlepage
diff --git a/doc/context/sources/general/manuals/tiptrick/tiptrick.tex b/doc/context/sources/general/manuals/tiptrick/tiptrick.tex
index 03af8e806..0c0449096 100644
--- a/doc/context/sources/general/manuals/tiptrick/tiptrick.tex
+++ b/doc/context/sources/general/manuals/tiptrick/tiptrick.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/tiptrick
+
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team
% license : Creative Commons Attribution ShareAlike 4.0 International
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-03.xml b/doc/context/sources/general/manuals/xml/xml-mkiv-03.xml
new file mode 100644
index 000000000..f565c50b5
--- /dev/null
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-03.xml
@@ -0,0 +1,11 @@
+<?xml version='1.0' standalone='yes?>
+
+<document>
+ <section>
+ <title>Some title</title>
+ <content>
+ <p>a paragraph of text</p>
+ <p>another paragraph of text</p>
+ </content>
+ </section>
+</document>
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-commands.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-commands.tex
index 8d9e9ef47..b9659a4c2 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-commands.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-commands.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-commands
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-contents.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-contents.tex
index e0787ec5f..18cda18de 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-contents.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-contents.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-contents
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-converter.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-converter.tex
index a457f962b..e3464a57c 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-converter.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-converter.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-converter
@@ -12,7 +14,7 @@ style with complex chapter openings using data coming from all kind of places,
different styling of sections with the same name, selectively (out of order)
flushed content, special formatting, etc.
-\typefile{manual-demo-1.xml}
+\typefile{xml-mkiv-03.xml}
Say that this document is stored in the file \type {demo.xml}, then the following
code can be used as starting point:
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-examples.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-examples.tex
index 064510d6d..bb3c25187 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-examples.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-examples.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-examples
@@ -778,7 +780,7 @@ The \XML\ parser is also available outside \TEX. Here is an example of its usage
We pipe the result to \TEX\ but you can do with \type {t} whatever you like.
\startbuffer
-local x = xml.load("manual-demo-1.xml")
+local x = xml.load("xml-mkiv-03.xml")
local t = { }
for c in xml.collected(x,"//*") do
@@ -848,7 +850,7 @@ end
Usage is as follows:
\startbuffer
-local x = xml.load("manual-demo-1.xml")
+local x = xml.load("xml-mkiv-03.xml")
local t = xml.applylpath(x,"//*/taglist()")
context.tocontext(t)
@@ -863,7 +865,7 @@ And indeed we get:
But we can also say:
\startbuffer
-local x = xml.load("manual-demo-1.xml")
+local x = xml.load("xml-mkiv-03.xml")
local t = xml.applylpath(x,"//*/taglist(true)")
context.tocontext(t)
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-expressions.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-expressions.tex
index b063cab54..fe2670f86 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-expressions.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-expressions.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-expressions
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-filtering.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-filtering.tex
index 5bb5a35de..e751435ac 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-filtering.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-filtering.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-filtering
@@ -35,11 +37,11 @@ conform the indentation in the whole \XML\ file. \footnote {The (probably
outdated) \XML\ file contains the collection stores on my slimserver instance.
You can use the \type {mtxrun --script flac} to generate such files.}
-\doifmodeelse {atpragma} {
- \getbuffer
-} {
+% \doifmodeelse {atpragma} {
+% \getbuffer
+% } {
\typefile{xml-mkiv-01.xml}
-}
+% }
An alternative written in \LUA\ looks as follows:
@@ -56,11 +58,11 @@ An alternative written in \LUA\ looks as follows:
This produces:
-\doifmodeelse {atpragma} {
- \getbuffer
-} {
+% \doifmodeelse {atpragma} {
+% \getbuffer
+% } {
\typefile{xml-mkiv-02.xml}
-}
+% }
You can use both methods mixed but in practice we will use the \TEX\ commands in
regular styles and the mixture in modules, for instance in those dealing with
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-introduction.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-introduction.tex
index e7f0124da..9fb8f6462 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-introduction.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-introduction.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-introduction
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-lookups.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-lookups.tex
index e6afaa948..9711fc7eb 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-lookups.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-lookups.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-lookups
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-lpath.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-lpath.tex
deleted file mode 100644
index 9c8b853c8..000000000
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-lpath.tex
+++ /dev/null
@@ -1,207 +0,0 @@
-\input lxml-ctx.mkiv
-
-\ctxlua{dofile("t:/sources/lxml-lpt.lua")}
-
-\startbuffer[xmltest]
-<?xml version='1.0'?>
-
-<!-- this is a test file -->
-
-<something id='1'>
- <x:whatever id='1.1'>
- <whocares id='1.1.1'>
- test a
- </whocares>
- <whocaresnot id='1.1.2'>
- test b
- </whocaresnot>
- </x:whatever>
- <whatever id='2'>
- <whocares id='2.1'>
- test c
- </whocares>
- <whocaresnot id='2.2'>
- test d
- </whocaresnot>
- </whatever>
- <whatever id='3'>
- test e
- </whatever>
- <whatever id='4' test="xxx">
- <whocares id='4.1'>
- test f
- </whocares>
- <whocares id='4.2'>
- test g
- </whocares>
- </whatever>
- <whatever id='5' test="xxx">
- <whoknows id='5.1'>
- <whocares id='5.1.1'>
- test h
- </whocares>
- </whoknows>
- <whoknows id='5.2'>
- <whocaresnot id='5.2.1'>
- test i
- </whocaresnot>
- </whoknows>
- <whoknows id='5.3'>
- <whocares id='5.3.1'>
- test j
- </whocares>
- </whoknows>
- </whatever>
-</something>
-\stopbuffer
-
-% \enabletrackers[xml.lparse]
-
-\setuplayout[width=middle,height=middle,header=1cm,footer=1cm,topspace=2cm,backspace=2cm]
-\setupbodyfont[10pt]
-
-\setfalse\xmllshowbuffer
-
-\starttext
-
-\xmllshow{/(*:library|figurelibrary)/*:figure/*:label}
-\xmllshow{/(*:library|figurelibrary)/figure/*:label}
-\xmllshow{/(*:library|figurelibrary)/figure/label}
-\xmllshow{/(*:library|figurelibrary)/figure:*/label}
-
-% \xmllshow{collection[@version='all']/resources/manual[match()==1]/paper/command(xml:overview)}
-% \xmllshow{collection/resources/manual[match()=1]/paper/command(xml:overview)}
-
-% \xmllshow{answer//oeps}
-% \xmllshow{answer/*/oeps}
-% \xmllshow{answer/**/oeps}
-% \xmllshow{answer/***/oeps}
-% \xmllshow{answer/x//oeps}
-% \xmllshow{answer//x/oeps}
-% \xmllshow{//x/oeps}
-% \xmllshow{answer/test/*}
-% \xmllshow{answer/test/child::}
-% \xmllshow{answer/*}
-% \xmllshow{ oeps / answer / .. / * [tag()='p' and position()=1 and text()!=''] / oeps()}
-
-% \xmllshow{ artist / name [text()='Randy Newman'] / .. / albums / album [position()=3] / command(first:demo:two)}
-% \xmllshow{/exa:selectors/exa:selector/exa:list/component[count()>1]}
-
-\stoptext
-
-\xmllshow{/*}
-\xmllshow{child::}
-\xmllshow{child::test}
-\xmllshow{/test/test}
-\xmllshow{../theory/sections/section/exercises}
-\xmllshow{../training/practicalassignments}
-\xmllshow{../../Outcome[position()=rootposition()]/Condition/command(xml:answer:mc:condition)}
-
-% \stoptext
-
-% \typebuffer[xmltest] \page
-
-\xmllshowbuffer{xmltest}{**}{id}
-\xmllshowbuffer{xmltest}{*}{id}
-\xmllshowbuffer{xmltest}{..}{id}
-\xmllshowbuffer{xmltest}{.}{id}
-\xmllshowbuffer{xmltest}{//}{id}
-\xmllshowbuffer{xmltest}{/}{id}
-
-\xmllshowbuffer{xmltest}{**/}{id}
-\xmllshowbuffer{xmltest}{**/*}{id}
-\xmllshowbuffer{xmltest}{**/.}{id}
-\xmllshowbuffer{xmltest}{**//}{id}
-
-\xmllshowbuffer{xmltest}{*/}{id}
-\xmllshowbuffer{xmltest}{*/*}{id}
-\xmllshowbuffer{xmltest}{*/.}{id}
-\xmllshowbuffer{xmltest}{*//}{id}
-
-\xmllshowbuffer{xmltest}{/**/}{id}
-\xmllshowbuffer{xmltest}{/**/*}{id}
-\xmllshowbuffer{xmltest}{/**/.}{id}
-\xmllshowbuffer{xmltest}{/**//}{id}
-
-\xmllshowbuffer{xmltest}{/*/}{id}
-\xmllshowbuffer{xmltest}{/*/*}{id}
-\xmllshowbuffer{xmltest}{/*/.}{id}
-\xmllshowbuffer{xmltest}{/*//}{id}
-
-\xmllshowbuffer{xmltest}{./}{id}
-\xmllshowbuffer{xmltest}{./*}{id}
-\xmllshowbuffer{xmltest}{./.}{id}
-\xmllshowbuffer{xmltest}{.//}{id}
-
-\xmllshowbuffer{xmltest}{../}{id}
-\xmllshowbuffer{xmltest}{../*}{id}
-\xmllshowbuffer{xmltest}{../.}{id}
-\xmllshowbuffer{xmltest}{..//}{id}
-
-\xmllshowbuffer{xmltest}{descendant::whocares/ancestor::whoknows}{id}
-\xmllshowbuffer{xmltest}{descendant::whocares/ancestor::whoknows/parent::}{id}
-\xmllshowbuffer{xmltest}{descendant::whocares/ancestor::}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever/child::whocares}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever/child::whocares|whoknows}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever/child::(whocares|whoknows)}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever/child::!(whocares|whoknows)}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever/child::(whocares)}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever/child::(whocares)[position()>2]}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever[position()>2][position()=1]}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever[whocares][whocaresnot]}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever[whocares][not(whocaresnot)]}{id}
-\xmllshowbuffer{xmltest}{child::something/child::whatever/self::whatever}{id}
-\xmllshowbuffer{xmltest}{/something/whatever}{id}
-\xmllshowbuffer{xmltest}{something/whatever}{id}
-\xmllshowbuffer{xmltest}{/**/whocares}{id}
-\xmllshowbuffer{xmltest}{whoknows/whocares}{id}
-\xmllshowbuffer{xmltest}{whoknows}{id}
-\xmllshowbuffer{xmltest}{whocares[contains(text(),'f') or contains(text(),'g')]}{id}
-\xmllshowbuffer{xmltest}{whocares/first()}{id}
-\xmllshowbuffer{xmltest}{whocares/last()}{id}
-\xmllshowbuffer{xmltest}{whatever/all()}{id}
-\xmllshowbuffer{xmltest}{whocares/position(2)}{id}
-\xmllshowbuffer{xmltest}{whocares/position(-2)}{id}
-\xmllshowbuffer{xmltest}{whocares[1]}{id}
-\xmllshowbuffer{xmltest}{whocares[-1]}{id}
-\xmllshowbuffer{xmltest}{whocares[2]}{id}
-\xmllshowbuffer{xmltest}{whocares[-2]}{id}
-\xmllshowbuffer{xmltest}{whatever[3]/attribute(id)}{id}
-\xmllshowbuffer{xmltest}{whatever[2]/attribute('id')}{id}
-\xmllshowbuffer{xmltest}{whatever[3]/text()}{id}
-\xmllshowbuffer{xmltest}{/whocares/first()}{id}
-\xmllshowbuffer{xmltest}{/whocares/last()}{id}
-
-\xmllshowbuffer{xmltest}{xml://whatever/all()}{id}
-\xmllshowbuffer{xmltest}{whatever/all()}{id}
-\xmllshowbuffer{xmltest}{//whocares}{id}
-\xmllshowbuffer{xmltest}{..[2]}{id}
-\xmllshowbuffer{xmltest}{../*[2]}{id}
-
-\xmllshowbuffer{xmltest}{/(whocares|whocaresnot)}{id}
-\xmllshowbuffer{xmltest}{/!(whocares|whocaresnot)}{id}
-\xmllshowbuffer{xmltest}{/!whocares}{id}
-
-% \page
-
-% \xmllshow{/interface/command/command(xml:setups:register)}
-% \xmllshow{/interface/command[@name='xxx']/command(xml:setups:typeset)}
-% \xmllshow{/arguments/*}
-% \xmllshow{/sequence/first()}
-% \xmllshow{/arguments/text()}
-% \xmllshow{/sequence/variable/first()}
-% \xmllshow{/interface/define[@name='xxx']/first()}
-% \xmllshow{/parameter/command(xml:setups:parameter:measure)}
-
-% \page
-
-% \xmllshow{interface/command/command(xml:setups:register)}
-% \xmllshow{interface/command[@name='xxx']/command(xml:setups:typeset)}
-% \xmllshow{arguments/*}
-% \xmllshow{sequence/first()}
-% \xmllshow{arguments/text()}
-% \xmllshow{sequence/variable/first()}
-% \xmllshow{interface/define[@name='xxx']/first()}
-% \xmllshow{parameter/command(xml:setups:parameter:measure)}
-
-\stoptext
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-style.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-style.tex
index 8bcd74086..1b4ce995e 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-style.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-style.tex
@@ -1,9 +1,12 @@
+% language=us runpath=texruns:manuals/xml
+
\startenvironment xml-mkiv-style
\input lxml-ctx.mkiv
-\settrue \xmllshowtitle
-\setfalse\xmllshowwarning
+\settrue \xmllshowtitletoo
+\settrue \xmllshowbuffertoo
+\setfalse\xmllshowwarningtoo
\usemodule[set-11]
@@ -138,10 +141,6 @@
rulethickness=1pt,
corner=round]
-\usemodule[punk]
-
-\usetypescript[punk]
-
\definelayer
[page]
[width=\paperwidth,
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex
index 427557214..db36c9349 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-titlepage.tex
@@ -1,18 +1,42 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-titlepage
\setuplayout[page]
+\ifcase\contextlmtxmode
+
+ \usemodule[punk]
+
+ \usetypescript[punk]
+
+ \definefont[PunkSmall][demo@punk at 18pt]
+ \definefont[PunkLarge][demo@punk at 90pt]
+
+\else
+
+ \useMPlibrary[punk]
+
+ \definefont[PunkSmall][Serif*punkrandom @ 18pt]
+ \definefont[PunkLarge][Serif*punkrandom @ 90pt]
+
+\fi
+
\startstandardmakeup
\startfontclass[none] % nil the current fontclass since it may append its features
- \EnableRandomPunk
+ \ifcase\contextlmtxmode
+ \EnableRandomPunk
+ \else
+ \enablerandomvariants
+ \fi
\setlayerframed
[page]
[width=\paperwidth,height=\paperheight,
background=color,backgroundcolor=colorone,backgroundoffset=1ex,frame=off]
{}
- \definedfont[demo@punk at 18pt]
+ \PunkSmall
\setbox\scratchbox\vbox {
\hsize\dimexpr\paperwidth+2ex\relax
\setupinterlinespace
@@ -24,14 +48,14 @@
[page]
[preset=middle]
{\vsplit\scratchbox to \dimexpr\paperheight+2ex\relax}
- \definedfont[demo@punk at 90pt]
+ \PunkLarge
\setstrut
\setlayerframed
[page]
[preset=rightbottom,offset=10mm]
[foregroundcolor=colorthree,align=flushright,offset=overlay,frame=off]
{Dealing\\with XML in\\Con\TeX t MkIV}
- \definedfont[demo@punk at 18pt]
+ \PunkSmall
\setstrut
\setlayerframed
[page]
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv-tricks.tex b/doc/context/sources/general/manuals/xml/xml-mkiv-tricks.tex
index f8c65ecc9..b6905491c 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv-tricks.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv-tricks.tex
@@ -1,3 +1,5 @@
+% language=us runpath=texruns:manuals/xml
+
\environment xml-mkiv-style
\startcomponent xml-mkiv-tricks
diff --git a/doc/context/sources/general/manuals/xml/xml-mkiv.tex b/doc/context/sources/general/manuals/xml/xml-mkiv.tex
index 77054e79c..aa9702589 100644
--- a/doc/context/sources/general/manuals/xml/xml-mkiv.tex
+++ b/doc/context/sources/general/manuals/xml/xml-mkiv.tex
@@ -1,4 +1,4 @@
-% language=uk
+% language=us runpath=texruns:manuals/xml
% author : Hans Hagen
% copyright : PRAGMA ADE & ConTeXt Development Team