diff options
Diffstat (limited to 'doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex')
-rw-r--r-- | doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex index b64bcd4bc..13bc3a3e3 100644 --- a/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex +++ b/doc/context/sources/general/manuals/luametatex/luametatex-enhancements.tex @@ -969,8 +969,8 @@ An \prm {expandedafter} primitive is also provided as an variant on \prm \stopsubsection -\startsubsection[title={\prm {semiprotected}, \prm {semiexpanded}, \prm {expand} and -\prm {semiexpand}}] +\startsubsection[title={\prm {semiprotected}, \prm {semiexpanded}, \prm {expand}, +\prm {semiexpand} and \prm {expandactive}}] These primitives can best be explained with a few examples. The semi boils down to a bit more controlled usage of \prm {protected} macros. @@ -1013,6 +1013,23 @@ I admit that is not yet applied much in \CONTEXT\ as we have no real need for it and I implemented it more out for nostalgic reasons: the kind of selective protect mechanism we have in \MKII. +Assuming that \type {~} is made active: + +\starttyping +\protected\def~{!} + +\edef\xxxx{~} +\edef\xxxx{\expandactive~} +\stoptyping + +In both cases the meaning will show \type {~} so it's kind of subtle because in reality +they have the following internal representation: + +\starttyping +active char 126 +protected call ~ +\stoptyping + \stopsubsection \startsubsection[title={Going ahead with \prm {expandafterpars} and \prm {expandafterspaces}}] @@ -1926,6 +1943,10 @@ This is slightly more efficient than constructing the string twice (deep down in \LUATEX\ this also involves some \UTF8 juggling), but probably more relevant is that it saves a few tokens and can make code a bit more readable. +Active characters are stored in the hash with a special prefix sequence prepended +to the character: \prm {csactive} or the never used \UTF\ representation of \type +{U+FFFF}. + \stopsubsection \startsubsection[title={\prm {futuredef} and \prm {futurecsname}}] |