summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHans Hagen <pragma@wxs.nl>2021-06-07 15:21:01 +0200
committerContext Git Mirror Bot <phg@phi-gamma.net>2021-06-07 15:21:01 +0200
commita9c0902d867e6e44f7503ba67ef1d1debc349b02 (patch)
treea2a4c5e1f22f27615803e916058cdcd67d9a272a
parente3a0d092848f3f128742ffe478334651ab18e8dc (diff)
downloadcontext-a9c0902d867e6e44f7503ba67ef1d1debc349b02.tar.gz
2021-06-07 14:41:00
-rw-r--r--doc/context/documents/general/manuals/luametatex.pdfbin1162546 -> 1162901 bytes
-rw-r--r--doc/context/sources/general/manuals/luametatex/luametatex-differences.tex44
-rw-r--r--tex/context/base/mkii/cont-new.mkii2
-rw-r--r--tex/context/base/mkii/context.mkii2
-rw-r--r--tex/context/base/mkiv/cont-new.mkiv2
-rw-r--r--tex/context/base/mkiv/context.mkiv2
-rw-r--r--tex/context/base/mkiv/status-files.pdfbin23893 -> 23890 bytes
-rw-r--r--tex/context/base/mkiv/status-lua.pdfbin230133 -> 230104 bytes
-rw-r--r--tex/context/base/mkxl/anch-loc.mkxl4
-rw-r--r--tex/context/base/mkxl/anch-pgr.mkxl4
-rw-r--r--tex/context/base/mkxl/anch-pos.mkxl4
-rw-r--r--tex/context/base/mkxl/back-exp.mkxl4
-rw-r--r--tex/context/base/mkxl/back-ext.mkxl36
-rw-r--r--tex/context/base/mkxl/buff-ini.mkxl2
-rw-r--r--tex/context/base/mkxl/catc-sym.mkxl11
-rw-r--r--tex/context/base/mkxl/colo-ext.mkxl4
-rw-r--r--tex/context/base/mkxl/colo-ini.mkxl38
-rw-r--r--tex/context/base/mkxl/cont-new.mkxl2
-rw-r--r--tex/context/base/mkxl/cont-run.mkxl16
-rw-r--r--tex/context/base/mkxl/context.mkxl2
-rw-r--r--tex/context/base/mkxl/core-env.mkxl55
-rw-r--r--tex/context/base/mkxl/font-pre.mkxl25
-rw-r--r--tex/context/base/mkxl/grph-fig.mkxl2
-rw-r--r--tex/context/base/mkxl/grph-raw.mkxl2
-rw-r--r--tex/context/base/mkxl/java-ini.mkxl6
-rw-r--r--tex/context/base/mkxl/libs-imp-mujs.mkxl1
-rw-r--r--tex/context/base/mkxl/luat-ini.mkxl28
-rw-r--r--tex/context/base/mkxl/luat-usr.mkxl1
-rw-r--r--tex/context/base/mkxl/lxml-ini.mkxl4
-rw-r--r--tex/context/base/mkxl/meta-ini.mkxl44
-rw-r--r--tex/context/base/mkxl/meta-nod.mkxl59
-rw-r--r--tex/context/base/mkxl/meta-tex.mkxl7
-rw-r--r--tex/context/base/mkxl/mlib-pdf.mkxl15
-rw-r--r--tex/context/base/mkxl/mlib-pps.lmt30
-rw-r--r--tex/context/base/mkxl/mlib-pps.mkxl57
-rw-r--r--tex/context/base/mkxl/node-syn.lmt6
-rw-r--r--tex/context/base/mkxl/pack-rul.mkxl47
-rw-r--r--tex/context/base/mkxl/spac-ver.mkxl6
-rw-r--r--tex/context/base/mkxl/strc-ref.mklx2
-rw-r--r--tex/context/base/mkxl/strc-sbe.mkxl9
-rw-r--r--tex/context/base/mkxl/supp-box.mkxl2
-rw-r--r--tex/context/base/mkxl/syst-aux.mkxl24
-rw-r--r--tex/context/base/mkxl/syst-ini.mkxl2
-rw-r--r--tex/context/base/mkxl/tabl-com.mkxl126
-rw-r--r--tex/context/base/mkxl/tabl-ntb.mkxl14
-rw-r--r--tex/context/base/mkxl/tabl-tab.mkxl10
-rw-r--r--tex/context/base/mkxl/tabl-xtb.mklx4
-rw-r--r--tex/context/base/mkxl/toks-aux.mkxl2
-rw-r--r--tex/context/base/mkxl/trac-ctx.mkxl26
-rw-r--r--tex/context/base/mkxl/typo-del.mkxl4
-rw-r--r--tex/context/base/mkxl/typo-shp.mkxl2
-rw-r--r--tex/context/base/mkxl/typo-tal.mkxl3
-rw-r--r--tex/generic/context/luatex/luatex-fonts-merged.lua2
53 files changed, 401 insertions, 405 deletions
diff --git a/doc/context/documents/general/manuals/luametatex.pdf b/doc/context/documents/general/manuals/luametatex.pdf
index d20243d11..93943c488 100644
--- a/doc/context/documents/general/manuals/luametatex.pdf
+++ b/doc/context/documents/general/manuals/luametatex.pdf
Binary files differ
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-differences.tex b/doc/context/sources/general/manuals/luametatex/luametatex-differences.tex
index aaa2fce50..fdc04d58b 100644
--- a/doc/context/sources/general/manuals/luametatex/luametatex-differences.tex
+++ b/doc/context/sources/general/manuals/luametatex/luametatex-differences.tex
@@ -110,15 +110,15 @@ been removed. There are some new variants that will be discussed later. The \typ
nowadays and them becoming dummies opened the way to something new: control
sequence properties that permit protection against as well as controlled
overloading of definitions. I don't think that (\CONTEXT) users will notice these
-prefixed being gone. The definition and parsing related \type {\suppress..}
+prefixes being gone. The definition and parsing related \type {\suppress..}
features are now default and can't be changed so related primitives are gone.
The \type {\shipout} primitive does no ship out but just erases the content of
-the box, if that hasn't happened already in another way. A macropackage should
-implement its own backend and related shipout. Talking of backend, the extension
-primitives that relate to backends can be implemented as part of a backend design
-using generic whatsits. There is only one type of whatsit now. In fact we're now
-closer to original \TEX\ with respect to the extensions.
+the box unless of course that has happened already in another way. A macro
+package should implement its own backend and related shipout. Talking of backend,
+the extension primitives that relate to backends can be implemented as part of a
+backend design using generic whatsits. There is only one type of whatsit now. In
+fact we're now closer to original \TEX\ with respect to the extensions.
The \type {img} library has been removed as it's rather bound to the backend. The
\type {slunicode} library is also gone. There are some helpers in the string
@@ -131,7 +131,8 @@ helpers and variables that relate to the backend. The \LUAMETATEX\ engine is in
principle \DVI\ and \PDF\ unaware. There are, as mentioned, only generic whatsit
nodes that can be used for some management related tasks. For instance you can
use them to implement user nodes. More extensive status information is provided
-in the overhauled status library.
+in the overhauled status library. All libraries have additional functionality and
+names of functions have been normalized (for as far as possible).
The margin kern nodes are gone and we now use regular kern nodes for them. As a
consequence there are two extra subtypes indicating the injected left or right
@@ -212,29 +213,32 @@ left. All input goes via \LUA, even the console. One can program a terminal if
needed.
We took our time for reaching a stable state in \LUATEX. Among the reasons is the
-fact that most was experimented with in \CONTEXT. It took many years to decide
-what to keep and how to do things. Of course there are places when things can be
-improved and it might happen in \LUAMETATEX. Contrary to what is sometimes
-suggested, the \LUATEX|-|\CONTEXT\ \MKIV\ combination (assuming matched versions)
-has been quite stable. It made no sense otherwise. Most \CONTEXT\ functionality
-didn't change much at the user level. Of course there have been issues, as is
-natural with everything new and beta, but we have a fast update cycle.
+fact that most was experimented with in \CONTEXT, which we can adapt to the
+engine as we go. It took many years to decide what to keep and how to do things.
+Of course there are places when things can be improved but that most likely only
+happens in \LUAMETATEX. Contrary to what is sometimes suggested, the
+\LUATEX|-|\CONTEXT\ \MKIV\ combination (assuming matched versions) has been quite
+stable. It made no sense otherwise. Most \CONTEXT\ functionality didn't change
+much at the user level. Of course there have been issues, as is natural with
+everything new and beta, but we have a fast update cycle.
The same is true for \LUAMETATEX\ and \CONTEXT\ \LMTX: it can be used for
production as usual and in practice \CONTEXT\ users tend to use the beta
releases, which proves this. Of course, if you use low level features that are
experimental you're on your own. Also, as with \LUATEX\ it might take many years
-before a long term stable is defined. The good news is that, the source code
-being part of the \CONTEXT\ distribution, there is always a properly working,
-more or less long term stable, snapshot.
+before a long term stable is defined. The good news is that, when the source code
+has become part of the \CONTEXT\ distribution, there is always a properly
+working, more or less long term stable, snapshot.
The error reporting subsystem has been redone quite a bit but is still
fundamentally the same. We don't really assume interactive usage but if someone
uses it, it might be noticed that it is not possible to backtrack or inject
something. Of course it is no big deal to implement all that in \LUA\ if needed.
-It removes a system dependency and makes for a bit cleaner code. In \CONTEXT\
-we quit on an error simply because one has to fix source anyway and runs are
-fast enough.
+It removes a system dependency and makes for a bit cleaner code. In \CONTEXT\ we
+quit on an error simply because one has to fix source anyway and runs are fast
+enough. Logging provides more detail and new primitives can be used to prevent
+clutter in tracing (the more complex a macro package becomes, the more extreme
+tracing becomes).
There are new primitives as well as some extensions to existing primitive
functionality. These are described in following chapters but there might be
diff --git a/tex/context/base/mkii/cont-new.mkii b/tex/context/base/mkii/cont-new.mkii
index 6671dcdd1..c309dfe62 100644
--- a/tex/context/base/mkii/cont-new.mkii
+++ b/tex/context/base/mkii/cont-new.mkii
@@ -11,7 +11,7 @@
%C therefore copyrighted by \PRAGMA. See mreadme.pdf for
%C details.
-\newcontextversion{2021.06.07 08:05}
+\newcontextversion{2021.06.07 14:39}
%D This file is loaded at runtime, thereby providing an
%D excellent place for hacks, patches, extensions and new
diff --git a/tex/context/base/mkii/context.mkii b/tex/context/base/mkii/context.mkii
index f22901bf5..5838c977b 100644
--- a/tex/context/base/mkii/context.mkii
+++ b/tex/context/base/mkii/context.mkii
@@ -20,7 +20,7 @@
%D your styles an modules.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.06.07 08:05}
+\edef\contextversion{2021.06.07 14:39}
%D For those who want to use this:
diff --git a/tex/context/base/mkiv/cont-new.mkiv b/tex/context/base/mkiv/cont-new.mkiv
index 2b0da3435..110f450ea 100644
--- a/tex/context/base/mkiv/cont-new.mkiv
+++ b/tex/context/base/mkiv/cont-new.mkiv
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2021.06.07 08:05}
+\newcontextversion{2021.06.07 14:39}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkiv/context.mkiv b/tex/context/base/mkiv/context.mkiv
index b6e4c672d..86e739ab2 100644
--- a/tex/context/base/mkiv/context.mkiv
+++ b/tex/context/base/mkiv/context.mkiv
@@ -45,7 +45,7 @@
%D {YYYY.MM.DD HH:MM} format.
\edef\contextformat {\jobname}
-\edef\contextversion{2021.06.07 08:05}
+\edef\contextversion{2021.06.07 14:39}
%D Kind of special:
diff --git a/tex/context/base/mkiv/status-files.pdf b/tex/context/base/mkiv/status-files.pdf
index ce6002720..41913dee0 100644
--- a/tex/context/base/mkiv/status-files.pdf
+++ b/tex/context/base/mkiv/status-files.pdf
Binary files differ
diff --git a/tex/context/base/mkiv/status-lua.pdf b/tex/context/base/mkiv/status-lua.pdf
index bc07c3a2b..6cb724cb6 100644
--- a/tex/context/base/mkiv/status-lua.pdf
+++ b/tex/context/base/mkiv/status-lua.pdf
Binary files differ
diff --git a/tex/context/base/mkxl/anch-loc.mkxl b/tex/context/base/mkxl/anch-loc.mkxl
index eef2ba09d..969bdfffe 100644
--- a/tex/context/base/mkxl/anch-loc.mkxl
+++ b/tex/context/base/mkxl/anch-loc.mkxl
@@ -44,7 +44,7 @@
\enforced\let\alignanchor\anch_local_withanchor_a
\enforced\let\markanchor \anch_local_withanchor_m}
-\aliased\let\stopanchoring\relax
+\permanent\protected\lettonothing\stopanchoring
\permanent\protected\def\startanchoring#1\stopanchoring % todo: boundary
{\begingroup
@@ -56,7 +56,7 @@
\poplocalanchors
\endgroup}
-\aliased\let\stopsynchronizing\relax
+\permanent\protected\lettonothing\stopsynchronizing
\permanent\protected\def\startsynchronizing#1\stopsynchronizing % todo: boundary
{\begingroup
diff --git a/tex/context/base/mkxl/anch-pgr.mkxl b/tex/context/base/mkxl/anch-pgr.mkxl
index af84c6ce9..d3504c50d 100644
--- a/tex/context/base/mkxl/anch-pgr.mkxl
+++ b/tex/context/base/mkxl/anch-pgr.mkxl
@@ -315,7 +315,7 @@
\permanent\tolerant\protected\def\startMPpositiongraphic#=#*#=#:#3\stopMPpositiongraphic % tag list mpcode
{\gdefcsname\??positiongraphic#1\endcsname{\anch_positions_meta_graphic_use{#1}{#2}{#3}}}
-\aliased\let\stopMPpositiongraphic\relax
+\permanent\protected\lettonothing\stopMPpositiongraphic
\def\anch_positions_meta_graphic_prepare
{\iftok{\mpcategoryparameter{self}}\emptytoks
@@ -368,7 +368,7 @@
\permanent\def\startMPpositionmethod#1#2\stopMPpositionmethod
{\gdefcsname\??positionmethod#1\endcsname{#2}} % todo: var list here
-\aliased\let\stopMPpositionmethod\relax
+\permanent\protected\lettonothing\stopMPpositionmethod
%D Simple one position graphics.
diff --git a/tex/context/base/mkxl/anch-pos.mkxl b/tex/context/base/mkxl/anch-pos.mkxl
index 6b482dc05..e5acca5c3 100644
--- a/tex/context/base/mkxl/anch-pos.mkxl
+++ b/tex/context/base/mkxl/anch-pos.mkxl
@@ -404,9 +404,9 @@
{\enforced\aliased\glet\registerparoptions\doregisterparoptions
\global\positioningtrue}
-\permanent\let\disableparpositions\relax
+\permanent\protected\lettonothing\disableparpositions
-\permanent\lettonothing\registerparoptions % hooks into everypar
+\permanent\protected\lettonothing\registerparoptions % hooks into everypar
\permanent\protected\def\doregisterparoptions
{\iftrialtypesetting \orelse\ifinpagebody \orelse\ifmmode \orelse\ifinformula \else
diff --git a/tex/context/base/mkxl/back-exp.mkxl b/tex/context/base/mkxl/back-exp.mkxl
index 5aebd302f..b7dd0db70 100644
--- a/tex/context/base/mkxl/back-exp.mkxl
+++ b/tex/context/base/mkxl/back-exp.mkxl
@@ -51,8 +51,8 @@
\newcount\tagparcounter
-\aliased\let\dotagsetparcounter\relax
-\aliased\let\doresetparcounter \relax
+\permanent\protected\lettonothing\dotagsetparcounter
+\permanent\protected\lettonothing\doresetparcounter
\appendtoks
\doresetparcounter
diff --git a/tex/context/base/mkxl/back-ext.mkxl b/tex/context/base/mkxl/back-ext.mkxl
index a3d9d2633..4fae3d54e 100644
--- a/tex/context/base/mkxl/back-ext.mkxl
+++ b/tex/context/base/mkxl/back-ext.mkxl
@@ -23,31 +23,24 @@
% rotation
-\permanent\protected\def\dostartrotation#1%
- {\forcecolorhack
- \clf_startrotation#1\relax} % todo: implement without Q q
+% \permanent\protected\def\dostartrotation#1{\forcecolorhack\clf_startrotation#1\relax}
+% \permanent\protected\def\dostoprotation {\clf_stoprotation\forcecolorhack}
-\permanent\protected\def\dostoprotation
- {\clf_stoprotation
- \forcecolorhack}
+\permanent\protected\def\dostartrotation#1{\clf_startrotation#1\relax}
+\permanent\protected\def\dostoprotation {\clf_stoprotation}
% scaling
-\permanent\protected\def\dostartscaling#1#2%
- {\forcecolorhack
- \clf_startscaling rx #1 ry #2\relax}
+% \permanent\protected\def\dostartscaling#1#2{\forcecolorhack\clf_startscaling rx #1 ry #2\relax}
+% \permanent\protected\def\dostopscaling {\clf_stopscaling\forcecolorhack}
-\permanent\protected\def\dostopscaling
- {\clf_stopscaling
- \forcecolorhack}
+\permanent\protected\def\dostartscaling#1#2{\clf_startscaling rx #1 ry #2\relax}
+\permanent\protected\def\dostopscaling {\clf_stopscaling}
% mirroring
-\permanent\protected\def\dostartmirroring
- {\clf_startmirroring}
-
-\permanent\protected\def\dostopmirroring
- {\clf_stopmirroring}
+\permanent\protected\def\dostartmirroring{\clf_startmirroring}
+\permanent\protected\def\dostopmirroring {\clf_stopmirroring}
% transform
@@ -75,9 +68,14 @@
\mutable\let\MPclippath\empty
+% \permanent\protected\def\dostartclipping#1#2#3% we can move this to lua and only set a box here
+% {\forcecolorhack
+% \meta_grab_clip_path{#1}{#2}{#3}%
+% \clf_startclipping{\MPclippath}%
+% \glet\MPclippath\empty}
+
\permanent\protected\def\dostartclipping#1#2#3% we can move this to lua and only set a box here
- {\forcecolorhack
- \meta_grab_clip_path{#1}{#2}{#3}%
+ {\meta_grab_clip_path{#1}{#2}{#3}%
\clf_startclipping{\MPclippath}%
\glet\MPclippath\empty}
diff --git a/tex/context/base/mkxl/buff-ini.mkxl b/tex/context/base/mkxl/buff-ini.mkxl
index ed62743ad..7512dea02 100644
--- a/tex/context/base/mkxl/buff-ini.mkxl
+++ b/tex/context/base/mkxl/buff-ini.mkxl
@@ -99,7 +99,7 @@
{\endgroup % (3 & 4 & 5 & 6)
\begincsname#1\endcsname}
-\aliased\let\endbuffer\relax
+\permanent\protected\lettonothing\endbuffer
\permanent\tolerant\protected\def\setbuffer[#1]#:#2\endbuffer % seldom used so we just pass #2
{\clf_assignbuffer{#1}{\detokenize{#2}}\catcodetable\relax}
diff --git a/tex/context/base/mkxl/catc-sym.mkxl b/tex/context/base/mkxl/catc-sym.mkxl
index a96ffb865..b441856e9 100644
--- a/tex/context/base/mkxl/catc-sym.mkxl
+++ b/tex/context/base/mkxl/catc-sym.mkxl
@@ -64,20 +64,15 @@
\protect
%D \macros
-%D {uncatcodespecials,setnaturalcatcodes,setnormalcatcodes,
-%D uncatcodecharacters,uncatcodeallcharacters,
-%D uncatcodespacetokens}
+%D {setnormalcatcodes,uncatcodespacetokens}
%D
%D The following macros are more or less replaced by switching to a catcode table
%D (which we simulate in \MKII) but we keep them for convenience and compatibility.
%D Some old engine code has been removed. A few ar still used a few times so I need
%D to clean that up.
-%permanent\protected\def\uncatcodespecials {\setcatcodetable\nilcatcodes \uncatcodespacetokens}
-%permanent\protected\def\setnaturalcatcodes {\setcatcodetable\nilcatcodes}
-\permanent\protected\def\setnormalcatcodes {\setcatcodetable\ctxcatcodes} % maybe \texcatcodes
-%permanent\protected\def\uncatcodecharacters {\setcatcodetable\nilcatcodes} % was fast version, gone now
-%permanent\protected\def\uncatcodeallcharacters{\setcatcodetable\nilcatcodes} % was slow one, with restore
+\permanent\protected\def\setnormalcatcodes
+ {\setcatcodetable\ctxcatcodes} % maybe \texcatcodes
\permanent\protected\def\uncatcodespacetokens
{\catcode\spaceasciicode \spacecatcode
diff --git a/tex/context/base/mkxl/colo-ext.mkxl b/tex/context/base/mkxl/colo-ext.mkxl
index df2d9d768..d4747ae94 100644
--- a/tex/context/base/mkxl/colo-ext.mkxl
+++ b/tex/context/base/mkxl/colo-ext.mkxl
@@ -73,8 +73,8 @@
\aliased\let\stopoverprint\stopcolorintent
\aliased\let\stopknockout \stopcolorintent
-\aliased\let\starttextcolorintent\relax
-\aliased\let\stoptextcolorintent \relax
+\permanent\protected\lettonothing\starttextcolorintent
+\permanent\protected\lettonothing\stoptextcolorintent
\appendtoks
\colo_intents_set_text
diff --git a/tex/context/base/mkxl/colo-ini.mkxl b/tex/context/base/mkxl/colo-ini.mkxl
index 80835920f..07d35089d 100644
--- a/tex/context/base/mkxl/colo-ini.mkxl
+++ b/tex/context/base/mkxl/colo-ini.mkxl
@@ -731,13 +731,13 @@
\def\v_colo_dummy_name{c_o_l_o_r}
-\letvalue{\??colorattribute \v_colo_dummy_name}\empty
-\letvalue{\??transparencyattribute\v_colo_dummy_name}\empty
-\letvalue{\??colorsetter \v_colo_dummy_name}\empty
-\letvalue{\??transparencysetter \v_colo_dummy_name}\empty
+\letcsname\??colorattribute \v_colo_dummy_name\endcsname\empty
+\letcsname\??transparencyattribute\v_colo_dummy_name\endcsname\empty
+\letcsname\??colorsetter \v_colo_dummy_name\endcsname\empty
+\letcsname\??transparencysetter \v_colo_dummy_name\endcsname\empty
-\letvalue{\??colorsetter -}\empty % used?
-\letvalue{\??transparencysetter-}\empty % used?
+\letcsname\??colorsetter -\endcsname\empty % used?
+\letcsname\??transparencysetter -\endcsname\empty % used?
% new: expandable (see tbl preamble)
@@ -1111,7 +1111,7 @@
\permanent\protected\def\starttextcolor[#1]%
{\doifsomething{#1}{\colo_helpers_switch_to_maintextcolor{#1}}}
-\aliased\let\stoptextcolor\relax
+\permanent\protected\lettonothing\stoptextcolor
\let\p_colo_textcolor\empty
@@ -1126,8 +1126,8 @@
\appendtoks \colo_helpers_initialize_maintextcolor \to \everyjob
\appendtoks \colo_helpers_initialize_maintextcolor \to \everysetupcolors
-\letvalue{\??colorsetter }\empty \letvalue{\??colorattribute }\!!zerocount
-\letvalue{\??transparencysetter}\empty \letvalue{\??transparencyattribute}\!!zerocount
+\letcsname\??colorsetter \endcsname\empty \letcsname\??colorattribute \endcsname\!!zerocount
+\letcsname\??transparencysetter\endcsname\empty \letcsname\??transparencyattribute\endcsname\!!zerocount
\def\colo_helpers_inherited_direct_cs#1{\ifcsname\??colorsetter #1\endcsname\lastnamedcs\fi}
\def\colo_helpers_inherited_direct_ca#1{\ifcsname\??colorattribute #1\endcsname\lastnamedcs\else\!!zerocount\fi}
@@ -1177,8 +1177,8 @@
\colo_defcsname\??transparencysetter #1:#2\colo_endcsname{\colo_helpers_inherited_direct_ts{\??colorpalet#1:#2}}%
\colo_defcsname\??transparencyattribute#1:#2\colo_endcsname{\colo_helpers_inherited_direct_ta{\??colorpalet#1:#2}}}
-\setvalue{\??colorattribute currentcolor}{\the\c_attr_color} % for mpcolor
-\setvalue{\??transparencyattribute currentcolor}{\the\c_attr_transparency} % for mpcolor
+\defcsname\??colorattribute currentcolor\endcsname{\the\c_attr_color} % for mpcolor
+\defcsname\??transparencyattribute currentcolor\endcsname{\the\c_attr_transparency} % for mpcolor
\def\colo_helpers_inherited_current_ca#1{\ifcsname\??colorattribute \currentcolorprefix#1\endcsname\lastnamedcs\orelse\ifcsname\??colorattribute #1\endcsname\lastnamedcs\else\!!zerocount\fi}
\def\colo_helpers_inherited_current_cs#1{\ifcsname\??colorsetter \currentcolorprefix#1\endcsname\lastnamedcs\orelse\ifcsname\??colorsetter #1\endcsname\lastnamedcs\fi}
@@ -1312,14 +1312,16 @@
%
% I really need to sort this out!
-\permanent\protected\def\forcecolorhack{\leaders\hrule\s!height\zeropoint\s!depth\zeropoint\hskip\zeropoint\relax} % relax is needed !
-
-\aliased\let\normalforcecolorhack\forcecolorhack
+% \permanent\protected\def\normalforcecolorhack{\leaders\hrule\s!height\zeropoint\s!depth\zeropoint\hskip\zeropoint\relax} % relax is needed !
+%
+% \installtexexperiment
+% {disablecolorhack}
+% {\pushoverloadmode\enforced\permanent\protected\lettonothing\forcecolorhack\popoverloadmode}
+% {\pushoverloadmode\enforced\let\forcecolorhack\normalforcecolorhack\popoverloadmode}
+%
+% use \hpack container{...}
-\installtexexperiment
- {disablecolorhack}
- {\pushoverloadmode\enforced\let\forcecolorhack\relax\popoverloadmode}
- {\pushoverloadmode\enforced\let\forcecolorhack\normalforcecolorhack\popoverloadmode}
+\permanent\protected\lettonothing\forcecolorhack
%D We default to the colors defined in \type {colo-imp-rgb} and support both \RGB\
%D and \CMYK\ output. Transparencies are defined here:
diff --git a/tex/context/base/mkxl/cont-new.mkxl b/tex/context/base/mkxl/cont-new.mkxl
index 79bb909ab..8db3bab5c 100644
--- a/tex/context/base/mkxl/cont-new.mkxl
+++ b/tex/context/base/mkxl/cont-new.mkxl
@@ -13,7 +13,7 @@
% \normalend % uncomment this to get the real base runtime
-\newcontextversion{2021.06.07 08:05}
+\newcontextversion{2021.06.07 14:39}
%D This file is loaded at runtime, thereby providing an excellent place for hacks,
%D patches, extensions and new features. There can be local overloads in cont-loc
diff --git a/tex/context/base/mkxl/cont-run.mkxl b/tex/context/base/mkxl/cont-run.mkxl
index 8944a0359..f3a946b28 100644
--- a/tex/context/base/mkxl/cont-run.mkxl
+++ b/tex/context/base/mkxl/cont-run.mkxl
@@ -22,14 +22,14 @@
\unprotect
-\permanent\let\synctexsetfilename \clf_synctexsetfilename % can be public implementors
-\permanent\let\synctexresetfilename\clf_synctexresetfilename % idem
-\permanent\let\synctexblockfilename\clf_synctexblockfilename % idem
+% \synctexsetfilename % defined at lua end
+% \synctexresetfilename % idem
+% \synctexblockfilename % idem
-\aliased\let\synctexpause \donothing
-\aliased\let\synctexresume \donothing
-\aliased\let\synctexpushline\donothing
-\aliased\let\synctexpopline \donothing
+\permanent\protected\lettonothing\synctexpause
+\permanent\protected\lettonothing\synctexresume
+\permanent\protected\lettonothing\synctexpushline
+\permanent\protected\lettonothing\synctexpopline
\appendtoks\synctexpause \to\everybeforeoutput
\appendtoks\synctexresume\to\everyafteroutput
@@ -54,6 +54,6 @@
\permanent\protected\def\blocksynctexfile[#1]%
{\processcommacommand{#1}\synctexblockfilename}
-\aliased\let\continuewhenlmtxmode\relax
+\permanent\protected\lettonothing\continuewhenlmtxmode
\protect \endinput
diff --git a/tex/context/base/mkxl/context.mkxl b/tex/context/base/mkxl/context.mkxl
index ccd340d28..cf167155e 100644
--- a/tex/context/base/mkxl/context.mkxl
+++ b/tex/context/base/mkxl/context.mkxl
@@ -29,7 +29,7 @@
%D {YYYY.MM.DD HH:MM} format.
\immutable\edef\contextformat {\jobname}
-\immutable\edef\contextversion{2021.06.07 08:05}
+\immutable\edef\contextversion{2021.06.07 14:39}
%overloadmode 1 % check frozen / warning
%overloadmode 2 % check frozen / error
diff --git a/tex/context/base/mkxl/core-env.mkxl b/tex/context/base/mkxl/core-env.mkxl
index 62e4106c5..86be40548 100644
--- a/tex/context/base/mkxl/core-env.mkxl
+++ b/tex/context/base/mkxl/core-env.mkxl
@@ -308,43 +308,12 @@
\installmacrostack\c_syst_modes_set_done
-% \permanent\protected\def\startmodeset
-% {\push_macro_c_syst_modes_set_done
-% \setfalse\c_syst_modes_set_done
-% \doifelsenextoptionalcs\syst_modes_set_start\syst_modes_set_quit}
-%
-% \aliased\let\stopmodeset\relax
-%
-% \def\syst_modes_set_start[#1]%
-% {\edef\m_mode_case{#1}%
-% \unless\ifx\m_mode_case\s!default
-% \expandafter\syst_modes_set_check
-% \orelse\ifconditional\c_syst_modes_set_done
-% \expandafter\syst_modes_set_quit
-% \else
-% \expandafter\syst_modes_set_yes
-% \fi}
-%
-% \def\syst_modes_set_check
-% {\syst_modes_check_lr\syst_modes_set_yes\syst_modes_set_nop\m_mode_case}
-%
-% \def\syst_modes_set_yes#1%
-% {\settrue\c_syst_modes_set_done
-% #1%
-% \doifelsenextoptionalcs\syst_modes_set_start\syst_modes_set_quit}
-%
-% \def\syst_modes_set_nop#1%
-% {\doifelsenextoptionalcs\syst_modes_set_start\syst_modes_set_quit}
-%
-% \def\syst_modes_set_quit#-\stopmodeset
-% {\pop_macro_c_syst_modes_set_done}
-
\permanent\protected\def\startmodeset
{\push_macro_c_syst_modes_set_done
\setfalse\c_syst_modes_set_done
\syst_modes_set_start}
-\aliased\let\stopmodeset\relax
+\permanent\protected\lettonothing\stopmodeset
\tolerant\def\syst_modes_set_start#.[#1]% skip spaces and pars
{\edef\m_mode_case{#1}%
@@ -393,7 +362,7 @@
\permanent\protected\tolerant\def\setups[#1]#;#2{\processcommacommand[#1#2]\syst_setups} % {..} or [..]
\permanent\protected\tolerant\def\setup [#1]#;#2{\syst_setups{#1#2}} % {..} or [..]
-\letvalue{\??setup:\??empty}\gobbleoneargument
+\letcsname\??setup:\??empty\endcsname\gobbleoneargument
\permanent\def\syst_setups#1% the grid option will be extended to other main modes
{\csname\??setup
@@ -538,17 +507,16 @@
\to \t_syst_setups_xml
\newtoks\t_syst_setups_lua \appendtoks
- \obeylualines
\obeyluatokens
\to \t_syst_setups_lua
% Is doglobal still relevant? Maybe always global? Or never? Anyway, it will become obsolete.
-\permanent\protected\def\startluasetups {\begingroup\doifelsenextoptionalcs\syst_setups_start_lua_yes\syst_setups_start_lua_nop} \aliased\let\stopluasetups \relax
-\permanent\protected\def\startxmlsetups {\begingroup\doifelsenextoptionalcs\syst_setups_start_xml_yes\syst_setups_start_xml_nop} \aliased\let\stopxmlsetups \relax
-\permanent\protected\def\startrawsetups {\begingroup\doifelsenextoptionalcs\syst_setups_start_raw_yes\syst_setups_start_raw_nop} \aliased\let\stoprawsetups \relax
-\permanent\protected\def\startlocalsetups{\begingroup\doifelsenextoptionalcs\syst_setups_start_loc_yes\syst_setups_start_loc_nop} \aliased\let\stoplocalsetups\relax
-\permanent\protected\def\startsetups {\begingroup\doifelsenextoptionalcs\syst_setups_start_tex_yes\syst_setups_start_tex_nop} \aliased\let\stopsetups \relax
+\permanent\protected\def\startluasetups {\begingroup\doifelsenextoptionalcs\syst_setups_start_lua_yes\syst_setups_start_lua_nop} \permanent\protected\lettonothing\stopluasetups
+\permanent\protected\def\startxmlsetups {\begingroup\doifelsenextoptionalcs\syst_setups_start_xml_yes\syst_setups_start_xml_nop} \permanent\protected\lettonothing\stopxmlsetups
+\permanent\protected\def\startrawsetups {\begingroup\doifelsenextoptionalcs\syst_setups_start_raw_yes\syst_setups_start_raw_nop} \permanent\protected\lettonothing\stoprawsetups
+\permanent\protected\def\startlocalsetups{\begingroup\doifelsenextoptionalcs\syst_setups_start_loc_yes\syst_setups_start_loc_nop} \permanent\protected\lettonothing\stoplocalsetups
+\permanent\protected\def\startsetups {\begingroup\doifelsenextoptionalcs\syst_setups_start_tex_yes\syst_setups_start_tex_nop} \permanent\protected\lettonothing\stopsetups
\def\syst_setups_start_lua_two#1#2#+\stopluasetups {\endgroup\dodoglobal\instance\defcsname\??setup#1:#2\endcsname##1{#3}}
\def\syst_setups_start_xml_two#1#2#+\stopxmlsetups {\endgroup\dodoglobal\instance\defcsname\??setup#1:#2\endcsname##1{#3}}
@@ -718,7 +686,7 @@
%D A few more (we could use a public test variable so that we only need to expand
%D once, assuming expandable variables):
-\letvalue{\??variables:}\empty
+\letcsname\??variables:\endcsname\empty
\permanent\protected\def\doifelseemptyvariable#1#2%
{\edef\m_syst_string_one{\begincsname\??variables#1:#2\endcsname}%
@@ -787,13 +755,6 @@
\permanent\tolerant\protected\def\defineselector[#1]#*[#2]{\getparameters[\??selector#1][\c!max=\plusone,\c!n=\plusone,#2]}
\permanent\tolerant\protected\def\setupselector [#1]#*[#2]{\getparameters[\??selector#1][#2]}
-% \def\directselect#1% expandable
-% {\filterfromnext % maybe add an \expanded
-% {\csname\??selector\ifcsname\??selector#1\c!max\endcsname#1\fi\c!max\endcsname}%
-% {\csname\??selector\ifcsname\??selector#1\c!n \endcsname#1\fi\c!n \endcsname}}
-%
-% this is more efficient when the arguments are used a few times (or passed along):
-
\permanent\def\directselect#1% expandable
{\expandafter\filterfromnext
\csname\??selector\ifcsname\??selector#1\c!max\endcsname#1\fi\c!max\expandafter\endcsname
diff --git a/tex/context/base/mkxl/font-pre.mkxl b/tex/context/base/mkxl/font-pre.mkxl
index 41c961f61..0ae90d7cf 100644
--- a/tex/context/base/mkxl/font-pre.mkxl
+++ b/tex/context/base/mkxl/font-pre.mkxl
@@ -914,15 +914,22 @@
\pushoverloadmode
-\let\infofont \relax
-\let\infofontbold \relax
-\let\smallinfofont \relax
-\let\smallinfofontbold\relax
-
-\definefont[infofont] [file:dejavusansmono*none at 6pt]
-\definefont[infofontbold] [file:dejavusansmono-bold*none at 6pt]
-\definefont[smallinfofont] [file:dejavusansmono*none at 3pt]
-\definefont[smallinfofontbold][file:dejavusansmono-bold*none at 3pt]
+% \let\infofont \relax
+% \let\infofontbold \relax
+% \let\smallinfofont \relax
+% \let\smallinfofontbold\relax
+%
+% \definefont[infofont] [file:dejavusansmono*none at 6pt]
+% \definefont[infofontbold] [file:dejavusansmono-bold*none at 6pt]
+% \definefont[smallinfofont] [file:dejavusansmono*none at 3pt]
+% \definefont[smallinfofontbold][file:dejavusansmono-bold*none at 3pt]
+%
+% after testing for quite a while moved from cont-loc.mkxl
+
+\protected\def\infofont {\definefrozenfont[infofont] [file:dejavusansmono*none at 6pt]\infofont}
+\protected\def\infofontbold {\definefrozenfont[infofontbold] [file:dejavusansmono-bold*none at 6pt]\infofontbold}
+\protected\def\smallinfofont {\definefrozenfont[smallinfofont] [file:dejavusansmono*none at 3pt]\smallinfofont}
+\protected\def\smallinfofontbold{\definefrozenfont[smallinfofontbold][file:dejavusansmono-bold*none at 3pt]\smallinfofontbold}
%D Optimization (later we overload in math). Also needed in order to get \type {\ss}
%D properly defined.
diff --git a/tex/context/base/mkxl/grph-fig.mkxl b/tex/context/base/mkxl/grph-fig.mkxl
index 92d2c7dc6..d06e185dd 100644
--- a/tex/context/base/mkxl/grph-fig.mkxl
+++ b/tex/context/base/mkxl/grph-fig.mkxl
@@ -177,7 +177,7 @@
\setvalue{\??externalfigureinstance#1}%
{\grph_steps_place_figure{#1}{#2}{#3}{#4}}}
-\aliased\let\stopfigure\relax
+\permanent\protected\lettonothing\stopfigure
\ifdefined\referring \else \let\referring\relax \fi
\ifdefined\marking \else \let\marking \relax \fi
diff --git a/tex/context/base/mkxl/grph-raw.mkxl b/tex/context/base/mkxl/grph-raw.mkxl
index 66194551b..c84a3682f 100644
--- a/tex/context/base/mkxl/grph-raw.mkxl
+++ b/tex/context/base/mkxl/grph-raw.mkxl
@@ -59,6 +59,6 @@
\permanent\protected\def\startbitmapimage[#1]#2\stopbitmapimage
{\bitmapimage[#1]{#2}}
-\aliased\let\stopbitmapimage\relax
+\permanent\protected\lettonothing\stopbitmapimage
\protect \endinput
diff --git a/tex/context/base/mkxl/java-ini.mkxl b/tex/context/base/mkxl/java-ini.mkxl
index f0e260eea..c3a3b817c 100644
--- a/tex/context/base/mkxl/java-ini.mkxl
+++ b/tex/context/base/mkxl/java-ini.mkxl
@@ -100,7 +100,6 @@
\permanent\protected\def\startJScode
{\begingroup
- \obeylualines
\obeyluatokens
\enforced\let\u\m_java_escape_u
\java_start_code}
@@ -108,11 +107,10 @@
\def\java_start_code#1\stopJScode
{\normalexpanded{\endgroup\clf_storejavascriptcode{#1}}}
-\aliased\let\stopJScode\relax
+\permanent\protected\lettonothing\stopJScode
\permanent\protected\def\startJSpreamble
{\begingroup
- \obeylualines
\obeyluatokens
\enforced\let\u\m_java_escape_u
\java_start_preamble}
@@ -120,7 +118,7 @@
\def\java_start_preamble#1\stopJSpreamble
{\normalexpanded{\endgroup\clf_storejavascriptpreamble{#1}}}
-\aliased\let\stopJSpreamble\relax
+\permanent\protected\lettonothing\stopJSpreamble
\permanent\protected\def\setJSpreamble #1#2{\clf_setjavascriptpreamble {#1}{#2}}
\permanent\protected\def\addtoJSpreamble#1#2{\clf_addtojavascriptpreamble{#1}{#2}}
diff --git a/tex/context/base/mkxl/libs-imp-mujs.mkxl b/tex/context/base/mkxl/libs-imp-mujs.mkxl
index a8fe5801f..5a64f6fc8 100644
--- a/tex/context/base/mkxl/libs-imp-mujs.mkxl
+++ b/tex/context/base/mkxl/libs-imp-mujs.mkxl
@@ -31,7 +31,6 @@
\protected\def\startecmacode % \stopecmacode
{\begingroup
- \obeylualines
\obeyluatokens
\luat_start_ecma_code_indeed}
diff --git a/tex/context/base/mkxl/luat-ini.mkxl b/tex/context/base/mkxl/luat-ini.mkxl
index 9a78c3934..abfe510b1 100644
--- a/tex/context/base/mkxl/luat-ini.mkxl
+++ b/tex/context/base/mkxl/luat-ini.mkxl
@@ -21,21 +21,18 @@
%D will keep code outside \TEX\ files as much as possible. The solutions evolved
%D with the engine but one can find some history in the \MKIV\ files and articles.
-%ifdefined\setnaturalcatcodes \else \let\setnaturalcatcodes\relax \fi
-\ifdefined\obeylualines \else \let\obeylualines \relax \fi
-\ifdefined\obeyluatokens \else \let\obeyluatokens \relax \fi
+\ifdefined\obeyluatokens \else \let\obeyluatokens\relax \fi
%D A few more goodies:
-\aliased\let\stoplua \relax % tex catcodes
-\aliased\let\stopluacode\relax % lua catcodes
+\permanent\protected\lettonothing\stoplua % tex catcodes
+\permanent\protected\lettonothing\stopluacode % lua catcodes
-%D In the meantime the \LUATEX\ interface has become stable but we still
-%D see traces of old here (needs checking).
+%D In the meantime the \LUATEX\ interface has become stable but we still see traces
+%D of old here (needs checking).
\permanent\protected\def\startlua % \stoplua
{\begingroup
- \obeylualines
\luat_start_lua_indeed}
\def\luat_start_lua_indeed#1\stoplua
@@ -43,7 +40,6 @@
\permanent\protected\def\startluacode % \stopluacode
{\begingroup
- \obeylualines
\obeyluatokens
\luat_start_lua_code_indeed}
@@ -58,8 +54,6 @@
\ifdefined\obeyspaces \else \let\obeyspaces \relax \fi
\ifdefined\obeyedspace \else \let\obeyedspace \relax \fi
-\aliased\let\obeylualines\relax % not used, will go away
-
\newtoks\everyluacode
%D It is nicer for checking with \type {s-system-macros} if we have some meaning:
@@ -168,7 +162,6 @@
\permanent\protected\def\startluaparameterset[#1]% \stopluaparameterset
{\begingroup
- \obeylualines
\obeyluatokens
\luat_start_lua_parameter_set{#1}}
@@ -176,7 +169,7 @@
{\ctxlua{parametersets["#1"]={#2}}%
\endgroup}
-\aliased\let\stopluaparameterset\relax
+\permanent\protected\lettonothing\stopluaparameterset
\permanent\def\luaparameterset#1#2{\ctxlua{parametersets["#1"]={#2} context("#1")}}
@@ -207,7 +200,6 @@
\permanent\protected\def\ctxluacode
{\begingroup
- \obeylualines
\obeyluatokens
\catcode\leftbraceasciicode \plusone
\catcode\rightbraceasciicode\plustwo
@@ -237,7 +229,7 @@
\installsystemnamespace{ctxfunction}
\permanent\protected\def\startctxfunctiondefinition #1 % \stopctxfunctiondefinition
- {\begingroup \obeylualines \obeyluatokens \luat_start_lua_function_definition_indeed{#1}}
+ {\begingroup \obeyluatokens \luat_start_lua_function_definition_indeed{#1}}
\installsystemnamespace{luafunction}
@@ -250,15 +242,15 @@
{\expandafter\chardef\csname\??luafunction#1\endcsname#2\relax
\edefcsname#1\endcsname{\noexpand\luafunction\csname\??luafunction#1\endcsname}}
-\aliased\let\stopctxfunctiondefinition\relax
+\permanent\protected\lettonothing\stopctxfunctiondefinition
\permanent\protected\def\startctxfunction #1 % \stopctxfunction
- {\begingroup \obeylualines \obeyluatokens \luat_start_lua_function_indeed{#1}}
+ {\begingroup \obeyluatokens \luat_start_lua_function_indeed{#1}}
\def\luat_start_lua_function_indeed#1#2\stopctxfunction
{\endgroup\edefcsname\??ctxfunction#1\endcsname{\noexpand\luafunction\ctxcommand{ctxfunction(\!!bs#2\!!es)}\relax}}
-\aliased\let\stopctxfunction\relax
+\permanent\protected\lettonothing\stopctxfunction
\permanent\def\ctxfunction#1%
{\begincsname\??ctxfunction#1\endcsname}
diff --git a/tex/context/base/mkxl/luat-usr.mkxl b/tex/context/base/mkxl/luat-usr.mkxl
index 199d22b8e..04aa520b3 100644
--- a/tex/context/base/mkxl/luat-usr.mkxl
+++ b/tex/context/base/mkxl/luat-usr.mkxl
@@ -60,7 +60,6 @@
%
\frozen\instance\protected\xdefcsname\s!start#1\s!code\endcsname
{\begingroup
- \obeylualines
\obeyluatokens
\csname\??luacode#1\endcsname}%
%
diff --git a/tex/context/base/mkxl/lxml-ini.mkxl b/tex/context/base/mkxl/lxml-ini.mkxl
index e4d982c76..b18d8053b 100644
--- a/tex/context/base/mkxl/lxml-ini.mkxl
+++ b/tex/context/base/mkxl/lxml-ini.mkxl
@@ -256,7 +256,7 @@
\doinitializeverbatim
\beginofverbatimlines}
-\aliased\let\stopxmldisplayverbatim\relax
+\permanent\protected\lettonothing\stopxmldisplayverbatim
\permanent\tolerant\protected\def\startxmlinlineverbatim[#1]%
{\begingroup
@@ -269,7 +269,7 @@
\enforced\let\stopxmlinlineverbatim\endgroup
\doinitializeverbatim}
-\aliased\let\stopxmlinlineverbatim\relax
+\permanent\protected\lettonothing\stopxmlinlineverbatim
% processing instructions
diff --git a/tex/context/base/mkxl/meta-ini.mkxl b/tex/context/base/mkxl/meta-ini.mkxl
index db1e69d48..83cf86b35 100644
--- a/tex/context/base/mkxl/meta-ini.mkxl
+++ b/tex/context/base/mkxl/meta-ini.mkxl
@@ -100,17 +100,17 @@
\gtoksapp\t_meta_definitions{#2}%
\let\currentMPinstance\m_meta_saved_instance}
-\aliased\let\stopMPdefinitions\relax
+\permanent\protected\lettonothing\stopMPdefinitions
\permanent\tolerant\protected\def\startMPextensions#=#:#2\stopMPextensions % we could use buffers instead
{\clf_setmpextensions{#1}{#2}}
-\aliased\let\stopMPextensions\relax
+\permanent\protected\lettonothing\stopMPextensions
\permanent\protected\def\startMPinitializations#1\stopMPinitializations % for all instances, when enabled
{\gtoksapp\t_meta_initializations{#1}}
-\aliased\let\stopMPinitializations\relax
+\permanent\protected\lettonothing\stopMPinitializations
\permanent\tolerant\protected\def\startMPinclusions[#1]#*#=#:#3\stopMPinclusions
{\let\m_meta_saved_instance\currentMPinstance % \pushmacro
@@ -124,7 +124,7 @@
\gtoksapp\t_meta_inclusions{#3}%
\let\currentMPinstance\m_meta_saved_instance} % \popmacro
-\aliased\let\stopMPinclusions\relax
+\permanent\protected\lettonothing\stopMPinclusions
% The next was broken since we added instances so it will go away!
@@ -392,7 +392,7 @@
{\xdef\MPdrawingdata{\MPdrawingdata#2}}%
\egroup}
-\aliased\let\stopMPdrawing\relax
+\permanent\protected\lettonothing\stopMPdrawing
\permanent\def\MPdrawing#1%
{\relax
@@ -404,7 +404,7 @@
\permanent\protected\def\startMPclip#1#2\stopMPclip % todo: store at the lua end or just store less
{\gdefcsname\??mpclip#1\endcsname{#2}}
-\aliased\let\stopMPclip\relax
+\permanent\protected\lettonothing\stopMPclip
\mutable\def\width {0 } % left-over, obsolete
\mutable\def\height{0 } % left-over, obsolete
@@ -621,9 +621,13 @@
{\meta_relocate_box
\box\b_meta_graphic}
+% \protected\def\meta_reuse_box#1#2#3#4#5% space delimiting would save some tokens
+% {\MPllx#2\MPlly#3\MPurx#4\MPury#5%
+% \hpack container{\forcecolorhack\getobject{MP}{#1}}} % else no proper color intent
+
\protected\def\meta_reuse_box#1#2#3#4#5% space delimiting would save some tokens
{\MPllx#2\MPlly#3\MPurx#4\MPury#5%
- \hpack container{\forcecolorhack\getobject{MP}{#1}}} % else no proper color intent
+ \hpack container{\getobject{MP}{#1}}}
\protected\def\meta_use_box
{\setunreferencedobject{MP}}
@@ -648,7 +652,7 @@
\permanent\protected\def\startuniqueMPgraphic
{\dodoublegroupempty\meta_start_unique_graphic}
-\aliased\let\stopuniqueMPgraphic\relax
+\permanent\protected\lettonothing\stopuniqueMPgraphic
\def\meta_start_unique_graphic#1%
{\normalexpanded{\meta_start_unique_graphic_indeed{#1}}}
@@ -674,7 +678,7 @@
\permanent\protected\def\startuseMPgraphic
{\dodoublegroupempty\meta_start_use_graphic}
-\aliased\let\stopuseMPgraphic\relax
+\permanent\protected\lettonothing\stopuseMPgraphic
\def\meta_start_use_graphic#1%
{\normalexpanded{\meta_start_use_graphic_indeed{#1}}}
@@ -685,7 +689,7 @@
\permanent\protected\def\startusableMPgraphic
{\dodoublegroupempty\meta_start_usable_graphic}
-\aliased\let\stopusableMPgraphic\relax
+\permanent\protected\lettonothing\stopusableMPgraphic
\def\meta_start_usable_graphic#1%
{\normalexpanded{\meta_start_usable_graphic_indeed{#1}}}
@@ -706,7 +710,7 @@
\permanent\protected\def\startreusableMPgraphic
{\dodoublegroupempty\meta_start_reusable_graphic}
-\aliased\let\stopreusableMPgraphic\relax
+\permanent\protected\lettonothing\stopreusableMPgraphic
\def\meta_start_reusable_graphic#1%
{\normalexpanded{\meta_start_reusable_graphic_indeed{#1}}}
@@ -740,7 +744,7 @@
\permanent\protected\def\startoverlayMPgraphic
{\dodoublegroupempty\meta_start_overlay_graphic}
-\aliased\let\stopoverlayMPgraphic\relax
+\permanent\protected\lettonothing\stopoverlayMPgraphic
\def\meta_start_overlay_graphic#1%
{\normalexpanded{%
@@ -761,7 +765,7 @@
\newtoks\MPoverlaydata
-\aliased\let\stopMPoverlaydata\relax
+\permanent\protected\lettonothing\stopMPoverlaydata
\permanent\protected\def\startMPoverlaydata
{\iftrialtypesetting
@@ -804,7 +808,7 @@
\permanent\tolerant\protected\def\startuniqueMPpagegraphic % todo the modern way
{\dodoublegroupempty\meta_start_unique_page_graphic}
-\aliased\let\stopuniqueMPpagegraphic\relax
+\permanent\protected\lettonothing\stopuniqueMPpagegraphic
\def\meta_start_unique_page_graphic#1%
{\normalexpanded{\meta_start_unique_page_graphic_indeed{#1}}}
@@ -865,7 +869,7 @@
\fi
\clf_mptexset{\detokenize{#2}}}
-\aliased\let\stopMPenvironment\relax
+\permanent\protected\lettonothing\stopMPenvironment
\permanent\protected\def\resetMPenvironment
{\clf_mptexreset}
@@ -899,7 +903,7 @@
\meta_process_graphic{#2}%
\endgroup}
-\aliased\let\stopMPcode\relax
+\permanent\protected\lettonothing\stopMPcode
%D This one is not optimized because it's only used for small snippets, if it
%D is used at all.
@@ -935,7 +939,7 @@
\permanent\tolerant\protected\def\startMPrun#=#:#2\stopMPrun
{\normalexpanded{\startuseMPgraphic{\iftok{#1}\emptytoks mprun\else#1\fi}}#2\stopuseMPgraphic}
-\aliased\let\stopMPrun\relax
+\permanent\protected\lettonothing\stopMPrun
%D The \type {\resetMPenvironment} is a quick way to erase the token list. You
%D should be aware of independencies. For instance, if you use a font in a graphic
@@ -1141,8 +1145,8 @@
\permanent\tolerant\protected\def\startstaticMPgraphic#=#:#=#:#3\stopstaticMPgraphic
{\startreusableMPgraphic{\??mpstaticgraphic#1}{#2}#3\stopreusableMPgraphic}
-\aliased\let\stopstaticMPfigure \relax
-\aliased\let\stopstaticMPgraphic\relax
+\permanent\protected\lettonothing\stopstaticMPfigure
+\permanent\protected\lettonothing\stopstaticMPgraphic
\permanent\tolerant\protected\def\usestaticMPfigure[#1]#*[#2]%
{\ifarguments\or
@@ -1254,7 +1258,7 @@
\egroup
\endgroup}
-\aliased\let\stopMPcalculation\relax
+\permanent\protected\lettonothing\stopMPcalculation
%D \macros
%D {setupMPgraphics}
diff --git a/tex/context/base/mkxl/meta-nod.mkxl b/tex/context/base/mkxl/meta-nod.mkxl
index 0fbfefde0..17264d9b9 100644
--- a/tex/context/base/mkxl/meta-nod.mkxl
+++ b/tex/context/base/mkxl/meta-nod.mkxl
@@ -108,7 +108,7 @@
\newcount\c_meta_nodes_n
-\aliased\let\stopnodes\relax
+\permanent\protected\lettonothing\stopnodes
\permanent\tolerant\protected\def\startnodes[#1]#:#2\stopnodes
{\hpack\bgroup
@@ -156,7 +156,7 @@
}}%
\advance\c_meta_nodes_n\plusone}
-\aliased\let\placenode\relax
+\permanent\protected\lettonothing\placenode
\appendtoks
\enforced\let\placenode\grph_nodes_node
@@ -165,23 +165,23 @@
\permanent\tolerant\protected\def\grph_nodes_fromto[#1]#*[#2]%
{\grph_nodes_fromto_indeed[#1][#2]}% get rid of {n,m} % todo: we can use #_ or so
-\letvalue{\??metanodesposition }\empty
-\setvalue{\??metanodesposition top}{.top}
-\setvalue{\??metanodesposition bottom}{.bot}
-\setvalue{\??metanodesposition left}{.lft}
-\setvalue{\??metanodesposition right}{.rt}
-\setvalue{\??metanodesposition upperleft}{.ulft}
-\setvalue{\??metanodesposition topleft}{.ulft}
-\setvalue{\??metanodesposition lefttop}{.ulft}
-\setvalue{\??metanodesposition upperright}{.urt}
-\setvalue{\??metanodesposition topright}{.urt}
-\setvalue{\??metanodesposition righttop}{.urt}
-\setvalue{\??metanodesposition lowerleft}{.llft}
-\setvalue{\??metanodesposition bottomleft}{.llft}
-\setvalue{\??metanodesposition leftbottom}{.llft}
-\setvalue{\??metanodesposition lowerright}{.lrt}
-\setvalue{\??metanodesposition bottomright}{.lrt}
-\setvalue{\??metanodesposition rightbottom}{.lrt}
+\letcsname\??metanodesposition \endcsname\empty
+\defcsname\??metanodesposition top\endcsname{.top}
+\defcsname\??metanodesposition bottom\endcsname{.bot}
+\defcsname\??metanodesposition left\endcsname{.lft}
+\defcsname\??metanodesposition right\endcsname{.rt}
+\defcsname\??metanodesposition upperleft\endcsname{.ulft}
+\defcsname\??metanodesposition topleft\endcsname{.ulft}
+\defcsname\??metanodesposition lefttop\endcsname{.ulft}
+\defcsname\??metanodesposition upperright\endcsname{.urt}
+\defcsname\??metanodesposition topright\endcsname{.urt}
+\defcsname\??metanodesposition righttop\endcsname{.urt}
+\defcsname\??metanodesposition lowerleft\endcsname{.llft}
+\defcsname\??metanodesposition bottomleft\endcsname{.llft}
+\defcsname\??metanodesposition leftbottom\endcsname{.llft}
+\defcsname\??metanodesposition lowerright\endcsname{.lrt}
+\defcsname\??metanodesposition bottomright\endcsname{.lrt}
+\defcsname\??metanodesposition rightbottom\endcsname{.lrt}
\def\grph_nodes_fromto_indeed[#1,#2][#3]% we can't group because etoksapp doesn't like that
{\begingroup
@@ -219,16 +219,18 @@
;%
}}}
-\setvalue{\??metanodesalternative }{draw}
-\setvalue{\??metanodesalternative arrow}{drawarrow}
-\setvalue{\??metanodesalternative doublearrow}{drawdblarrow}
-\setvalue{\??metanodesalternative doublearrows}{drawdoublearrows}
+\defcsname\??metanodesalternative \endcsname{draw}
+\defcsname\??metanodesalternative arrow\endcsname{drawarrow}
+\defcsname\??metanodesalternative doublearrow\endcsname{drawdblarrow}
+\defcsname\??metanodesalternative doublearrows\endcsname{drawdoublearrows}
-\setvalue{\??metanodesoption }{}
-\setvalue{\??metanodesoption dashed}{dashed evenly}
-\setvalue{\??metanodesoption dotted}{dashed withdots scaled .5}
+\defcsname\??metanodesoption \endcsname{}
+\defcsname\??metanodesoption dashed\endcsname{dashed evenly}
+\defcsname\??metanodesoption dotted\endcsname{dashed withdots scaled .5}
-\aliased\let\connectnodes\relax
+\permanent\protected\lettonothing\connectnodes
+\permanent\protected\lettonothing\mpcode
+\permanent\protected\lettonothing\nodeMPcode
\appendtoks
\enforced\let\connectnodes\grph_nodes_fromto
@@ -237,9 +239,6 @@
\permanent\protected\def\grph_nodes_code#1%
{\etoksapp\t_meta_nodes{#1}}
-\aliased\let\mpcode \relax
-\aliased\let\nodeMPcode\relax
-
\appendtoks
\enforced\let\nodeMPcode\grph_nodes_code
\enforced\let\mpcode \grph_nodes_code
diff --git a/tex/context/base/mkxl/meta-tex.mkxl b/tex/context/base/mkxl/meta-tex.mkxl
index 5c58240a1..8642f94ff 100644
--- a/tex/context/base/mkxl/meta-tex.mkxl
+++ b/tex/context/base/mkxl/meta-tex.mkxl
@@ -15,9 +15,8 @@
\unprotect
-% Ok, we support this in MkIV because Mojca kept the pressure on. It
-% looks a bit like a hack. But in fact this method is obsolete and
-% eventually might go away.
+%D Ok, we support this in MkIV because Mojca kept the pressure on. It looks a bit
+%D like a hack. But in fact this method is obsolete and eventually might go away.
\installcorenamespace{graphictextext}
\installcorenamespace{graphictexdepth}
@@ -26,7 +25,7 @@
\permanent\protected\def\startTeXtexts#1\stopTeXtexts
{#1}
-\aliased\let\stopTeXtexts\relax
+\permanent\protected\lettonothing\stopTeXtexts
\permanent\tolerant\protected\def\TeXtext[#1]#:#2#3% contrary to mkii we don't process yet but we do expand
{\xdefcsname\??graphictextext#2\endcsname{\meta_textext_indeed{#1}{#3}}}
diff --git a/tex/context/base/mkxl/mlib-pdf.mkxl b/tex/context/base/mkxl/mlib-pdf.mkxl
index 6ded23514..d8b800ba1 100644
--- a/tex/context/base/mkxl/mlib-pdf.mkxl
+++ b/tex/context/base/mkxl/mlib-pdf.mkxl
@@ -46,7 +46,7 @@
\global\MPurx \zeropoint
\global\MPury \zeropoint}
-\aliased\let\popMPboundingbox\relax
+\permanent\protected\lettonothing\popMPboundingbox
\permanent\protected\def\pushMPboundingbox
{\enforced\permanent\protected\edef\popMPboundingbox
@@ -88,14 +88,23 @@
% MPLIB specific:
+% \permanent\protected\def\startMPLIBtoPDF#1#2#3#4%
+% {\meta_process_graphic_figure_start
+% \dostarttagged\t!mpgraphic\empty
+% \naturalhpack attr \imageattribute \plusone \bgroup
+% \dousecolorparameter\s!black\forcecolorhack
+% \setMPboundingbox{#1}{#2}{#3}{#4}%
+% \setbox\MPbox\vpack\bgroup
+% % \forgetall % already done elsewhere
+% \noindent} % forces the proper cm in the backend
+
\permanent\protected\def\startMPLIBtoPDF#1#2#3#4%
{\meta_process_graphic_figure_start
\dostarttagged\t!mpgraphic\empty
\naturalhpack attr \imageattribute \plusone \bgroup
- \dousecolorparameter\s!black\forcecolorhack
+ \dousecolorparameter\s!black
\setMPboundingbox{#1}{#2}{#3}{#4}%
\setbox\MPbox\vpack\bgroup
- % \forgetall % already done elsewhere
\noindent} % forces the proper cm in the backend
\permanent\protected\def\stopMPLIBtoPDF
diff --git a/tex/context/base/mkxl/mlib-pps.lmt b/tex/context/base/mkxl/mlib-pps.lmt
index 1ed98bdf3..6f38f30ff 100644
--- a/tex/context/base/mkxl/mlib-pps.lmt
+++ b/tex/context/base/mkxl/mlib-pps.lmt
@@ -1021,7 +1021,9 @@ local tx_reset, tx_process do
end
end
- local fasttrack = directives.register("metapost.text.fasttrack", function(v) fasttrack = v end)
+ local fasttrack = true
+
+ directives.register("metapost.text.fasttrack", function(v) fasttrack = v end)
tx_process = function(object,prescript,before,after)
local data = top.texdata[metapost.properties.number] -- the current figure number, messy
@@ -1048,14 +1050,14 @@ local tx_reset, tx_process do
local mp_text = top.texstrings[mp_index]
local mp_hash = prescript.tx_cache
local box
-local donebox = fasttrack and top.textexts[mp_index]
+ local donebox = fasttrack and top.textexts[mp_index]
if mp_hash == "no" then
-if donebox then
- box = copylist(donebox)
-else
- texrunlocal("mptexttoks")
- box = textakebox("mptextbox")
-end
+ if donebox then
+ box = copylist(donebox)
+ else
+ texrunlocal("mptexttoks")
+ box = textakebox("mptextbox")
+ end
else
local cache = data.texhash
if mp_hash then
@@ -1087,12 +1089,12 @@ end
if box then
box = copylist(box)
else
-if donebox then
- box = copylist(donebox)
-else
- texrunlocal("mptexttoks")
- box = textakebox("mptextbox")
-end
+ if donebox then
+ box = copylist(donebox)
+ else
+ texrunlocal("mptexttoks")
+ box = textakebox("mptextbox")
+ end
cache[mp_hash] = box
end
end
diff --git a/tex/context/base/mkxl/mlib-pps.mkxl b/tex/context/base/mkxl/mlib-pps.mkxl
index 75ebcff67..00ab5281d 100644
--- a/tex/context/base/mkxl/mlib-pps.mkxl
+++ b/tex/context/base/mkxl/mlib-pps.mkxl
@@ -76,15 +76,24 @@
\aliased\let\MPLIBsettextX\MPLIBsetNtextX
+% \permanent\permanent\protected\def\MPLIBgettextscaled#1#2#3% why a copy .. can be used more often
+% {\clf_mpgettext\MPtextbox #1%
+% \vpack to \zeropoint
+% {\vss
+% %\hpack to \zeropoint \s!container
+% \hcontainer to \zeropoint
+% {\scale
+% [\c!sx=#2,\c!sy=#3]%
+% {\raise\dp\MPtextbox\box\MPtextbox}\forcecolorhack\hss}}}
+
\permanent\permanent\protected\def\MPLIBgettextscaled#1#2#3% why a copy .. can be used more often
{\clf_mpgettext\MPtextbox #1%
\vpack to \zeropoint
{\vss
- %\hpack to \zeropoint \s!container
\hcontainer to \zeropoint
{\scale
[\c!sx=#2,\c!sy=#3]%
- {\raise\dp\MPtextbox\box\MPtextbox}\forcecolorhack\hss}}}
+ {\raise\dp\MPtextbox\box\MPtextbox}\hss}}}
\let\mlib_sx\!!zerocount % set at the lua end
\let\mlib_sy\!!zerocount % set at the lua end
@@ -99,24 +108,37 @@
% horrible (we could inline scale and matrix code):
+% \permanent\protected\def\MPLIBgettextscaledcm#1#2#3#4#5#6#7#8#9% 2-7: sx,rx,ry,sy,tx,ty
+% {\clf_mpgettext\MPtextbox #1%
+% \setbox\MPbox\hpack\bgroup
+% \dotransformnextbox{#2}{#3}{#4}{#5}{#6}{#7}% does push pop ... will be changed to proper lua call (avoid small numbers)
+% \vpack to \zeropoint\bgroup
+% \vss
+% %\hpack to \zeropoint \s!container \bgroup
+% \hcontainer to \zeropoint \bgroup
+% % \scale[\c!sx=#8,\c!sy=#9]{\raise\dp\MPtextbox\box\MPtextbox}%
+% % \scale[\c!sx=#8,\c!sy=#9,\c!depth=\v!no]{\box\MPtextbox}%
+% \fastsxsy{#8}{#9}{\raise\dp\MPtextbox\box\MPtextbox}%
+% % This gives: LuaTeX warning: Misplaced \pdfrestore .. don't ask me why.
+% % but I'll retry it some day soon.
+% % \dostartscaling{#8}{#9}%
+% % \raise\dp\MPtextbox\box\MPtextbox
+% % \dostopscaling
+% \forcecolorhack % can go away ... already in the scale macro
+% \hss
+% \egroup
+% \egroup
+% \egroup
+% \smashbox\MPbox
+% \box\MPbox}
+
\permanent\protected\def\MPLIBgettextscaledcm#1#2#3#4#5#6#7#8#9% 2-7: sx,rx,ry,sy,tx,ty
{\clf_mpgettext\MPtextbox #1%
\setbox\MPbox\hpack\bgroup
\dotransformnextbox{#2}{#3}{#4}{#5}{#6}{#7}% does push pop ... will be changed to proper lua call (avoid small numbers)
\vpack to \zeropoint\bgroup
- \vss
- %\hpack to \zeropoint \s!container \bgroup
- \hcontainer to \zeropoint \bgroup
- % \scale[\c!sx=#8,\c!sy=#9]{\raise\dp\MPtextbox\box\MPtextbox}%
- % \scale[\c!sx=#8,\c!sy=#9,\c!depth=\v!no]{\box\MPtextbox}%
- \fastsxsy{#8}{#9}{\raise\dp\MPtextbox\box\MPtextbox}%
- % This gives: LuaTeX warning: Misplaced \pdfrestore .. don't ask me why.
- % but I'll retry it some day soon.
- % \dostartscaling{#8}{#9}%
- % \raise\dp\MPtextbox\box\MPtextbox
- % \dostopscaling
- \forcecolorhack % can go away ... already in the scale macro
- \hss
+ \vss \hcontainer to \zeropoint \bgroup
+ \fastsxsy{#8}{#9}{\raise\dp\MPtextbox\box\MPtextbox}\hss
\egroup
\egroup
\egroup
@@ -207,7 +229,7 @@
\box\scratchbox
\endgroup}
-\aliased\let\MPLIBstopgroup\relax
+\permanent\protected\lettonothing\MPLIBstopgroup
\permanent\protected\def\MPLIBstartgroup#1#2#3#4#5#6% isolated 0/1, knockout 0/1 llx lly urx ury
{\begingroup
@@ -253,8 +275,7 @@
\dp\nextbox\zeropoint
\normalexpanded{\ifnum#6=\zerocount\hpos{mp-pattern-#1}\fi}{\box\nextbox}}
-\permanent\protected\def\MPLIBstopgetpattern
- {}
+\permanent\protected\lettonothing\MPLIBstopgetpattern
% For now here ... will be cleaned up:
diff --git a/tex/context/base/mkxl/node-syn.lmt b/tex/context/base/mkxl/node-syn.lmt
index 79ffced25..1842da5c4 100644
--- a/tex/context/base/mkxl/node-syn.lmt
+++ b/tex/context/base/mkxl/node-syn.lmt
@@ -877,17 +877,23 @@ end
implement {
name = "synctexblockfilename",
arguments = "string",
+ protected = true,
+ public = true,
actions = synctex.blockfilename,
}
implement {
name = "synctexsetfilename",
arguments = "string",
+ protected = true,
+ public = true,
actions = synctex.setfilename,
}
implement {
name = "synctexresetfilename",
+ protected = true,
+ public = true,
actions = synctex.resetfilename,
}
diff --git a/tex/context/base/mkxl/pack-rul.mkxl b/tex/context/base/mkxl/pack-rul.mkxl
index b87547472..36266bc98 100644
--- a/tex/context/base/mkxl/pack-rul.mkxl
+++ b/tex/context/base/mkxl/pack-rul.mkxl
@@ -1003,24 +1003,23 @@
\defineinterfaceconstant {fr!analyze} {fr:analyze} % private option
-\aliased\let\delayedbegstrut\relax
-\aliased\let\delayedendstrut\relax
-\aliased\let\delayedstrut \relax
+\permanent\protected\lettonothing\delayedbegstrut
+\permanent\protected\lettonothing\delayedendstrut
+\permanent\protected\lettonothing\delayedstrut
-\mutable\let\localoffset\empty
-\mutable\let\localwidth \empty
-\mutable\let\localheight\empty
-\mutable\let\localformat\empty
-\mutable\let\localstrut \empty
+\permanent\protected\lettonothing\localbegstrut
+\permanent\protected\lettonothing\localendstrut
+\permanent\protected\lettonothing\localstrut
+
+\mutable\let\localoffset \empty
+\mutable\let\localwidth \empty
+\mutable\let\localheight \empty
+\mutable\let\localformat \empty
\mutable\let\framedwidth \empty
\mutable\let\framedheight\empty
\mutable\let\framedoffset\empty
-\aliased\let\localbegstrut\relax
-\aliased\let\localendstrut\relax
-\aliased\let\localstrut \relax
-
% better a constant:
\newconditional\c_pack_resync
@@ -1166,9 +1165,9 @@
\fi
% the next check could move to strutalternative
\ifcase\c_framed_has_strut % none (not even noindent)
- \enforced\let\localbegstrut\relax
- \enforced\let\localendstrut\relax
- \enforced\let\localstrut \relax
+ \enforced\lettonothing\localbegstrut
+ \enforced\lettonothing\localendstrut
+ \enforced\lettonothing\localstrut
\or % no / overlay
\enforced\let\localbegstrut\pseudobegstrut
\enforced\let\localendstrut\pseudoendstrut
@@ -1179,16 +1178,16 @@
\enforced\let\localstrut \strut
\fi
\ifx\p_framed_autostrut\v!yes
- \enforced\let\delayedbegstrut\relax
- \enforced\let\delayedendstrut\relax
- \enforced\let\delayedstrut \relax
+ \enforced\lettonothing\delayedbegstrut
+ \enforced\lettonothing\delayedendstrut
+ \enforced\lettonothing\delayedstrut
\else
- \enforced\let\delayedbegstrut\localbegstrut
- \enforced\let\delayedendstrut\localendstrut
- \enforced\let\delayedstrut \localstrut
- \enforced\let\localbegstrut \relax
- \enforced\let\localendstrut \relax
- \enforced\let\localstrut \relax
+ \enforced\let \delayedbegstrut\localbegstrut
+ \enforced\let \delayedendstrut\localendstrut
+ \enforced\let \delayedstrut \localstrut
+ \enforced\lettonothing\localbegstrut
+ \enforced\lettonothing\localendstrut
+ \enforced\lettonothing\localstrut
\fi
\ifconditional\c_framed_has_height
\enforced\let\\\pack_framed_vboxed_newline
diff --git a/tex/context/base/mkxl/spac-ver.mkxl b/tex/context/base/mkxl/spac-ver.mkxl
index 1e630c5bf..413f03d36 100644
--- a/tex/context/base/mkxl/spac-ver.mkxl
+++ b/tex/context/base/mkxl/spac-ver.mkxl
@@ -1356,10 +1356,10 @@
\newcount\c_spac_keep_lines_together
-\permanent\lettonothing\restoreinterlinepenalty
+\permanent\protected\lettonothing\restoreinterlinepenalty
\protected\def\spac_penalties_restore
- {\enforced\glettonothing\restoreinterlinepenalty
+ {\enforced\protected\glettonothing\restoreinterlinepenalty
\overloaded\global\resetpenalties\interlinepenalties
\global\c_spac_keep_lines_together\zerocount}
@@ -2303,7 +2303,7 @@
\installcorenamespace{fixedalternatives}
-\aliased\let\stopfixed\relax
+\permanent\protected\lettonothing\stopfixed
\permanent\protected\def\startfixed
{\bgroup
diff --git a/tex/context/base/mkxl/strc-ref.mklx b/tex/context/base/mkxl/strc-ref.mklx
index f3a90ed67..3b21ca07a 100644
--- a/tex/context/base/mkxl/strc-ref.mklx
+++ b/tex/context/base/mkxl/strc-ref.mklx
@@ -1588,7 +1588,7 @@
\expandafter\strc_references_start_goto_nop
\fi}
-\aliased\let\stopgoto\relax
+\permanent\protected\lettonothing\stopgoto
\permanent\protected\def\strc_references_start_goto_nop
{\enforced\let\stopgoto\strc_references_stop_goto_nop}
diff --git a/tex/context/base/mkxl/strc-sbe.mkxl b/tex/context/base/mkxl/strc-sbe.mkxl
index d3141d28b..f301583ec 100644
--- a/tex/context/base/mkxl/strc-sbe.mkxl
+++ b/tex/context/base/mkxl/strc-sbe.mkxl
@@ -44,8 +44,8 @@
{\strc_sectionblock_define_normal[#1][#3]%
%\expandafter\newif\csname if#2\endcsname % obsolete
\strc_sectionblock_set_environment{#1}\empty
- \frozen\setuvalue{\e!start#2}{\startsectionblock[#1]}%
- \frozen\setuvalue{\e!stop #2}{\stopsectionblock}}
+ \frozen\protected\defcsname\e!start#2\endcsname{\startsectionblock[#1]}%
+ \frozen\protected\defcsname\e!stop #2\endcsname{\stopsectionblock}}
\ifdefined \resetallstructuremarks \else
\let\resetallstructuremarks\relax
@@ -123,7 +123,7 @@
\installcorenamespace{sectionblockenvironment}
\protected\def\strc_sectionblock_set_environment#1#2%
- {\setvalue{\??sectionblockenvironment#1}{#2}}
+ {\defcsname\??sectionblockenvironment#1\endcsname{#2}}
\protected\def\strc_sectionblock_get_environment#1%
{\csname\??sectionblockenvironment#1\endcsname}
@@ -131,7 +131,6 @@
\permanent\tolerant\protected\setvalue{\e!start\v!sectionblockenvironment}[#1]% evt \pushendofline \popendofline
{\grabuntil{\e!stop\v!sectionblockenvironment}{\strc_sectionblock_set_environment{#1}}}
-\aliased\letvalue{\e!stop\v!sectionblockenvironment}\relax
-
+\permanent\protected\expandafter\lettonothing\csname\e!stop\v!sectionblockenvironment\endcsname
\protect \endinput
diff --git a/tex/context/base/mkxl/supp-box.mkxl b/tex/context/base/mkxl/supp-box.mkxl
index 751293383..0d0f90cf3 100644
--- a/tex/context/base/mkxl/supp-box.mkxl
+++ b/tex/context/base/mkxl/supp-box.mkxl
@@ -1943,7 +1943,7 @@
\enforced\aliased\let\stopoverlay\egroup
\processboxes\syst_boxes_overlay_process}
-\aliased\let\stopoverlay\relax
+\permanent\protected\lettonothing\stopoverlay
%D \macros
%D {fakebox}
diff --git a/tex/context/base/mkxl/syst-aux.mkxl b/tex/context/base/mkxl/syst-aux.mkxl
index fea524bee..1349385a9 100644
--- a/tex/context/base/mkxl/syst-aux.mkxl
+++ b/tex/context/base/mkxl/syst-aux.mkxl
@@ -66,10 +66,10 @@
%D We're definitely in \LMTX\ mode here.
-\aliased \let\startlmtxmode\relax
-\aliased \let\stoplmtxmode \relax
-\permanent\def\startmkivmode#-\stopmkivmode{}
-\permanent\let\stopmkivmode \relax
+\permanent\protected\lettonothing\startlmtxmode
+\permanent\protected\lettonothing\stoplmtxmode
+\permanent \def\startmkivmode#-\stopmkivmode{}
+\permanent\protected\lettonothing\stopmkivmode
%D As we don't have namespace definers yet, we use a special one. Later we will
%D do a better job.
@@ -175,7 +175,7 @@
\permanent\protected\def\startexpanded#1\stopexpanded
{\xdef\m_syst_helpers_expanded{#1}\m_syst_helpers_expanded}
-\aliased\let\stopexpanded\relax
+\permanent\protected\lettonothing\stopexpanded
%D Recent \TEX\ engines have a primitive \type {\expanded} and we will use that when
%D possible. After all, we can make not expandable macros now. The name clash is an
@@ -924,8 +924,8 @@
{\def\syst_helpers_comma_list_step##1{\def\currentcommalistitem{##1}#2}%
\normalexpanded{\processcommalist[#1]}\syst_helpers_comma_list_step}
-\aliased\let\stopprocesscommalist \relax
-\aliased\let\stopprocesscommacommand\relax
+\permanent\protected\lettonothing\stopprocesscommalist
+\permanent\protected\lettonothing\stopprocesscommacommand
%D \macros
%D {processaction,
@@ -1660,13 +1660,13 @@
{\def\currentassignmentlistcommand##1##2{\def\currentassignmentlistkey{##1}\def\currentassignmentlistvalue{##2}#2}%
\processassignmentlist[#1]\currentassignmentlistcommand}
-\aliased\let\stopprocessassignmentlist\relax
+\permanent\protected\lettonothing\stopprocessassignmentlist
\permanent\protected\def\startprocessassignmentcommand[#1]#2\stopprocessassignmentcommand
{\def\currentassignmentlistcommand##1##2{\def\currentassignmentlistkey{##1}\def\currentassignmentlistvalue{##2}#2}%
\normalexpanded{\processassignmentlist[#1]}\currentassignmentlistcommand}
-\aliased\let\stopprocessassignmentcommand\relax
+\permanent\protected\lettonothing\stopprocessassignmentcommand
%D \macros
%D {currentvalue}
@@ -2972,7 +2972,7 @@
{\catcode\endoflineasciicode\ignorecatcode%
\clf_texdefinition_one{#1}}
-\aliased\glet\stoptexdefinition\relax
+\permanent\protected\glettonothing\stoptexdefinition
\permanent\gdef\dostarttexdefinition#1\stoptexdefinition%
{\egroup%
@@ -4452,8 +4452,8 @@
\newtoks \collectingtoks
-\aliased\let\stopcollect \relax
-\aliased\let\stopexpandedcollect\relax
+\permanent\protected\lettonothing\stopcollect
+\permanent\protected\lettonothing\stopexpandedcollect
\permanent\protected\def\startcollect #1\stopcollect {\toksapp \collectingtoks{#1}}
\permanent\protected\def\startexpandedcollect#1\stopexpandedcollect{\etoksapp\collectingtoks{#1}}
diff --git a/tex/context/base/mkxl/syst-ini.mkxl b/tex/context/base/mkxl/syst-ini.mkxl
index d87277657..beda7c081 100644
--- a/tex/context/base/mkxl/syst-ini.mkxl
+++ b/tex/context/base/mkxl/syst-ini.mkxl
@@ -814,7 +814,7 @@
\aliased\let\newconditional\setfalse
\aliased\let\ifconditional \ifcase
-\aliased\let\then\relax % so that we can say: \ifnum1>2\then -)
+\permanent\protected\lettonothing\then % so that we can say: \ifnum1>2\then -)
\permanent\def\truecondition {\iftrue}
\permanent\def\falsecondition{\iffalse}
diff --git a/tex/context/base/mkxl/tabl-com.mkxl b/tex/context/base/mkxl/tabl-com.mkxl
index bdae8711b..97c497eac 100644
--- a/tex/context/base/mkxl/tabl-com.mkxl
+++ b/tex/context/base/mkxl/tabl-com.mkxl
@@ -19,70 +19,70 @@
% maybe frozen instead
-\permanent\let\AR\relax
-\permanent\let\BA\relax
-\permanent\let\BC\relax
-\permanent\let\BH\relax
-\permanent\let\BL\relax
-\permanent\let\BR\relax
-\permanent\let\CC\relax
-\permanent\let\CL\relax
-\permanent\let\CM\relax
-\permanent\let\CR\relax
-\permanent\let\DB\relax
-\permanent\let\DC\relax
-\permanent\let\DL\relax
-\permanent\let\DR\relax
-\permanent\let\DV\relax
-\permanent\let\EH\relax
-\permanent\let\EQ\relax
-\permanent\let\ER\relax
-\permanent\let\FB\relax
-\permanent\let\FL\relax
-\permanent\let\FR\relax
-\permanent\let\HC\relax
-\permanent\let\HL\relax
-\permanent\let\HQ\relax
-\permanent\let\HR\relax
-\permanent\let\LB\relax
-\permanent\let\LC\relax
-\permanent\let\LT\relax
-\permanent\let\LL\relax
-\permanent\let\LR\relax
-\permanent\let\MC\relax
-\permanent\let\ML\relax
-\permanent\let\MR\relax
-\permanent\let\NA\relax
-\permanent\let\NB\relax
-\permanent\let\NC\relax
-\permanent\let\ND\relax
-\permanent\let\NF\relax
-\permanent\let\NG\relax
-\permanent\let\NI\relax
-\permanent\let\NL\relax
-\permanent\let\NN\relax
-\permanent\let\NP\relax
-\permanent\let\NR\relax
-\permanent\let\PB\relax
-\permanent\let\RC\relax
-\permanent\let\RQ\relax
-\permanent\let\SL\relax
-\permanent\let\SM\relax
-\permanent\let\SR\relax
-\permanent\let\TB\relax
-\permanent\let\TL\relax
-\permanent\let\TR\relax
-\permanent\let\VL\relax
-\permanent\let\VC\relax
-\permanent\let\VD\relax
-\permanent\let\VN\relax
-\permanent\let\VS\relax
-\permanent\let\VT\relax
-\permanent\let\XC\relax
+\permanent\protected\lettonothing\AR
+\permanent\protected\lettonothing\BA
+\permanent\protected\lettonothing\BC
+\permanent\protected\lettonothing\BH
+\permanent\protected\lettonothing\BL
+\permanent\protected\lettonothing\BR
+\permanent\protected\lettonothing\CC
+\permanent\protected\lettonothing\CL
+\permanent\protected\lettonothing\CM
+\permanent\protected\lettonothing\CR
+\permanent\protected\lettonothing\DB
+\permanent\protected\lettonothing\DC
+\permanent\protected\lettonothing\DL
+\permanent\protected\lettonothing\DR
+\permanent\protected\lettonothing\DV
+\permanent\protected\lettonothing\EH
+\permanent\protected\lettonothing\EQ
+\permanent\protected\lettonothing\ER
+\permanent\protected\lettonothing\FB
+\permanent\protected\lettonothing\FL
+\permanent\protected\lettonothing\FR
+\permanent\protected\lettonothing\HC
+\permanent\protected\lettonothing\HL
+\permanent\protected\lettonothing\HQ
+\permanent\protected\lettonothing\HR
+\permanent\protected\lettonothing\LB
+\permanent\protected\lettonothing\LC
+\permanent\protected\lettonothing\LT
+\permanent\protected\lettonothing\LL
+\permanent\protected\lettonothing\LR
+\permanent\protected\lettonothing\MC
+\permanent\protected\lettonothing\ML
+\permanent\protected\lettonothing\MR
+\permanent\protected\lettonothing\NA
+\permanent\protected\lettonothing\NB
+\permanent\protected\lettonothing\NC
+\permanent\protected\lettonothing\ND
+\permanent\protected\lettonothing\NF
+\permanent\protected\lettonothing\NG
+\permanent\protected\lettonothing\NI
+\permanent\protected\lettonothing\NL
+\permanent\protected\lettonothing\NN
+\permanent\protected\lettonothing\NP
+\permanent\protected\lettonothing\NR
+\permanent\protected\lettonothing\PB
+\permanent\protected\lettonothing\RC
+\permanent\protected\lettonothing\RQ
+\permanent\protected\lettonothing\SL
+\permanent\protected\lettonothing\SM
+\permanent\protected\lettonothing\SR
+\permanent\protected\lettonothing\TB
+\permanent\protected\lettonothing\TL
+\permanent\protected\lettonothing\TR
+\permanent\protected\lettonothing\VL
+\permanent\protected\lettonothing\VC
+\permanent\protected\lettonothing\VD
+\permanent\protected\lettonothing\VN
+\permanent\protected\lettonothing\VS
+\permanent\protected\lettonothing\VT
+\permanent\protected\lettonothing\XC
-\permanent\let\FC\relax
-\permanent\let\RB\relax
-\permanent\let\RT\relax
+\permanent\protected\lettonothing\FC
+\permanent\protected\lettonothing\RB
+\permanent\protected\lettonothing\RT
\popoverloadmode
diff --git a/tex/context/base/mkxl/tabl-ntb.mkxl b/tex/context/base/mkxl/tabl-ntb.mkxl
index 4c77aded8..02caa6caf 100644
--- a/tex/context/base/mkxl/tabl-ntb.mkxl
+++ b/tex/context/base/mkxl/tabl-ntb.mkxl
@@ -444,9 +444,9 @@
\protected\def\tabl_ntb_cell_process#1#2[#3]{}
-\permanent\protected\def\bTC#1\eTC{\bTD#1\eTD} \aliased\let\eTC\relax
-\permanent\protected\def\bTX#1\eTX{\bTD#1\eTD} \aliased\let\eTX\relax
-\permanent\protected\def\bTY#1\eTY{\bTR#1\eTR} \aliased\let\eTY\relax
+\permanent\protected\def\bTC#1\eTC{\bTD#1\eTD} \permanent\protected\lettonothing\eTC
+\permanent\protected\def\bTX#1\eTX{\bTD#1\eTD} \permanent\protected\lettonothing\eTX
+\permanent\protected\def\bTY#1\eTY{\bTR#1\eTR} \permanent\protected\lettonothing\eTY
\let\tabl_ntb_parameters_get\setupcurrentnaturaltablelocal
@@ -940,10 +940,10 @@
% to be done: head <raw> foot, dus state var
-\aliased\let\eTABLEhead\relax
-\aliased\let\eTABLEnext\relax
-\aliased\let\eTABLEbody\relax
-\aliased\let\eTABLEfoot\relax
+\permanent\protected\lettonothing\eTABLEhead
+\permanent\protected\lettonothing\eTABLEnext
+\permanent\protected\lettonothing\eTABLEbody
+\permanent\protected\lettonothing\eTABLEfoot
\permanent\tolerant\protected\def\bTABLEhead[#1]#:#2\eTABLEhead{\appendtoks\tabl_ntb_section[#1]{#2}\to\t_tabl_ntb_head}
\permanent\tolerant\protected\def\bTABLEnext[#1]#:#2\eTABLEnext{\appendtoks\tabl_ntb_section[#1]{#2}\to\t_tabl_ntb_next}
diff --git a/tex/context/base/mkxl/tabl-tab.mkxl b/tex/context/base/mkxl/tabl-tab.mkxl
index 547ff93ff..e63492984 100644
--- a/tex/context/base/mkxl/tabl-tab.mkxl
+++ b/tex/context/base/mkxl/tabl-tab.mkxl
@@ -1640,13 +1640,15 @@
%D (grouped) if needed. The rather complicated definition below is due to the fact
%D that the stopcondition is interface language dependant.
+%D This is so old ... adapting it to use tolerant might break something:
+
\let\tabl_table_head\empty % needs checking
\let\tabl_table_tail\empty % needs checking
-\letvalue{\e!start\v!tablehead}\relax % todo: frozen, but we use a grabber
-\letvalue{\e!stop \v!tablehead}\relax % todo: frozen, but we use a grabber
-\letvalue{\e!start\v!tabletail}\relax % todo: frozen, but we use a grabber
-\letvalue{\e!stop \v!tabletail}\relax % todo: frozen, but we use a grabber
+\letcsname\e!start\v!tablehead\endcsname\relax % todo: frozen, but we use a grabber
+\letcsname\e!stop \v!tablehead\endcsname\relax % todo: frozen, but we use a grabber
+\letcsname\e!start\v!tabletail\endcsname\relax % todo: frozen, but we use a grabber
+\letcsname\e!stop \v!tabletail\endcsname\relax % todo: frozen, but we use a grabber
%D The second argument is a dummy one, by scanning for it, we get rid of
%D interfering spaces.
diff --git a/tex/context/base/mkxl/tabl-xtb.mklx b/tex/context/base/mkxl/tabl-xtb.mklx
index 9cce05f18..ba144c322 100644
--- a/tex/context/base/mkxl/tabl-xtb.mklx
+++ b/tex/context/base/mkxl/tabl-xtb.mklx
@@ -169,7 +169,7 @@
% \permanent\protected\aliased\startxtable\tabl_x_start_table
-\aliased\permanent\let\stopxtable\relax
+\permanent\protected\lettonothing\stopxtable
% These direct buffers can be somewhat faster but it's probably neglectable.
% Anyway, no nesting is supported as we then need to catch (e.g.) rows and keep
@@ -204,7 +204,7 @@
\edef\tabl_x_current_buffer{embedded_x_table}%
\tabl_x_process}
-\aliased\permanent\let\stopembeddedxtable\relax
+\permanent\protected\lettonothing\stopembeddedxtable
%D We can also define xtables.
diff --git a/tex/context/base/mkxl/toks-aux.mkxl b/tex/context/base/mkxl/toks-aux.mkxl
index 4563014ec..ed063f8db 100644
--- a/tex/context/base/mkxl/toks-aux.mkxl
+++ b/tex/context/base/mkxl/toks-aux.mkxl
@@ -47,7 +47,7 @@
\fi
\toksapp\lastnamedcs{#2}}
-\aliased\let\stoptokenlist\relax
+\permanent\protected\lettonothing\stoptokenlist
\permanent\def\gettokenlist[#1]%
{\ifcsname\??tokenlist#1\endcsname
diff --git a/tex/context/base/mkxl/trac-ctx.mkxl b/tex/context/base/mkxl/trac-ctx.mkxl
index 3410c5ea9..5d760598b 100644
--- a/tex/context/base/mkxl/trac-ctx.mkxl
+++ b/tex/context/base/mkxl/trac-ctx.mkxl
@@ -27,19 +27,19 @@
\clf_initializetexexperiments
\to \everyjob
-\pushoverloadmode
-
-\let\syst_beginsimplegroup_yes\beginsimplegroup
-\let\syst_beginsimplegroup_nop\bgroup
-
-\let\beginsimplegroup\syst_beginsimplegroup_nop
-
-\installtexexperiment
- {simplegroups}
- {\enforced\let\beginsimplegroup\syst_beginsimplegroup_yes}
- {\enforced\let\beginsimplegroup\syst_beginsimplegroup_nop}
-
-\popoverloadmode
+% \pushoverloadmode
+%
+% \let\syst_beginsimplegroup_yes\beginsimplegroup
+% \let\syst_beginsimplegroup_nop\bgroup
+%
+% \let\beginsimplegroup\syst_beginsimplegroup_nop
+%
+% \installtexexperiment
+% {simplegroups}
+% {\enforced\let\beginsimplegroup\syst_beginsimplegroup_yes}
+% {\enforced\let\beginsimplegroup\syst_beginsimplegroup_nop}
+%
+% \popoverloadmode
\protect \endinput
diff --git a/tex/context/base/mkxl/typo-del.mkxl b/tex/context/base/mkxl/typo-del.mkxl
index 4b8540368..850eb0cc2 100644
--- a/tex/context/base/mkxl/typo-del.mkxl
+++ b/tex/context/base/mkxl/typo-del.mkxl
@@ -848,7 +848,7 @@
\begingroup
\dostarttaggedchained\t!delimited\currentdelimitedtext\??delimitedtext
% \usedlanguageparameter{\c!left\currentparentdelimitedtext}% was: \currentdelimitedtext
- \usedlanguageparameter{\c!left\currentparentdelimitedtextparent}% was: \currentdelimitedtext
+ \usedlanguageparameter{\c!left\currentdelimitedtextparent}%
\usedelimitedtextstyleandcolor\c!style\c!color
\typo_delimited_start_content
\bgroup
@@ -858,7 +858,7 @@
\def\typo_delimited_fontdriven_e
{\typo_delimited_stop_content
% \usedlanguageparameter{\c!right\currentparentdelimitedtext}% was: \currentdelimitedtext
- \usedlanguageparameter{\c!right\currendelimitedtextparent}% was: \currentdelimitedtext
+ \usedlanguageparameter{\c!right\currentdelimitedtextparent}%
\dostoptagged
\typo_delimited_pop
\endgroup}
diff --git a/tex/context/base/mkxl/typo-shp.mkxl b/tex/context/base/mkxl/typo-shp.mkxl
index 6201012fe..0f6fdc933 100644
--- a/tex/context/base/mkxl/typo-shp.mkxl
+++ b/tex/context/base/mkxl/typo-shp.mkxl
@@ -59,7 +59,7 @@
\c!voffset=\zeropoint,
\c!distance=\zeropoint]
-\aliased\let\stopparagraphshape\relax
+\permanent\protected\lettonothing\stopparagraphshape
\permanent\protected\def\startparagraphshape[#1]#2\stopparagraphshape
{\gdefcsname\??parshapes#1\endcsname{#2}} % global
diff --git a/tex/context/base/mkxl/typo-tal.mkxl b/tex/context/base/mkxl/typo-tal.mkxl
index d96d1348b..6ab888ce7 100644
--- a/tex/context/base/mkxl/typo-tal.mkxl
+++ b/tex/context/base/mkxl/typo-tal.mkxl
@@ -212,7 +212,8 @@
\resetcharacteralign
\egroup}
-\aliased\let\stopcharacteralign \relax
+\permanent\protected\lettonothing\stopcharacteralign
+
\aliased\let\checkcharacteralign\gobbleoneargument
\permanent\protected\def\setfirstpasscharacteralign {\enforced\let\checkcharacteralign\gobbleoneargument}
diff --git a/tex/generic/context/luatex/luatex-fonts-merged.lua b/tex/generic/context/luatex/luatex-fonts-merged.lua
index 96393e4c2..1c0e02c4f 100644
--- a/tex/generic/context/luatex/luatex-fonts-merged.lua
+++ b/tex/generic/context/luatex/luatex-fonts-merged.lua
@@ -1,6 +1,6 @@
-- merged file : c:/data/develop/context/sources/luatex-fonts-merged.lua
-- parent file : c:/data/develop/context/sources/luatex-fonts.lua
--- merge date : 2021-06-07 08:05
+-- merge date : 2021-06-07 14:39
do -- begin closure to overcome local limits and interference