summaryrefslogtreecommitdiff
path: root/doc/context/sources/general
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/sources/general
parentc73351bc5e590d5a7ebd2b0f13f895a447d25794 (diff)
downloadcontext-df12f144a2cb09cec29a95df26bdfc5ccad58aff.tar.gz
2021-07-27 19:27:00
Diffstat (limited to 'doc/context/sources/general')
-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
101 files changed, 901 insertions, 502 deletions
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