diff options
Diffstat (limited to 'tex/context/base/core-env.mkiv')
-rw-r--r-- | tex/context/base/core-env.mkiv | 115 |
1 files changed, 33 insertions, 82 deletions
diff --git a/tex/context/base/core-env.mkiv b/tex/context/base/core-env.mkiv index 38d3b1b29..1819d084d 100644 --- a/tex/context/base/core-env.mkiv +++ b/tex/context/base/core-env.mkiv @@ -54,44 +54,42 @@ % fast internal ones -\def\??mode{mode>} % special namespace, also used at lua end - \def\syst_modes_new#1% - {\expandafter\newcount\csname\??mode#1\endcsname} + {\expandafter\newcount\csname\s!mode#1\endcsname} \unexpanded\def\newmode#1% - {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi} + {\ifcsname\s!mode#1\endcsname\else\syst_modes_new{#1}\fi} \unexpanded\def\setmode#1% - {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi - \csname\??mode#1\endcsname\enabledmode} + {\ifcsname\s!mode#1\endcsname\else\syst_modes_new{#1}\fi + \csname\s!mode#1\endcsname\enabledmode} \unexpanded\def\resetmode#1% - {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi - \csname\??mode#1\endcsname\disabledmode} + {\ifcsname\s!mode#1\endcsname\else\syst_modes_new{#1}\fi + \csname\s!mode#1\endcsname\disabledmode} \unexpanded\def\newsystemmode#1% - {\ifcsname\??mode\systemmodeprefix#1\endcsname\else\syst_modes_new{\systemmodeprefix#1}\fi} + {\ifcsname\s!mode\systemmodeprefix#1\endcsname\else\syst_modes_new{\systemmodeprefix#1}\fi} \unexpanded\def\setsystemmode#1% - {\ifcsname\??mode\systemmodeprefix#1\endcsname\else\syst_modes_new{\systemmodeprefix#1}\fi - \csname\??mode\systemmodeprefix#1\endcsname\enabledmode} + {\ifcsname\s!mode\systemmodeprefix#1\endcsname\else\syst_modes_new{\systemmodeprefix#1}\fi + \csname\s!mode\systemmodeprefix#1\endcsname\enabledmode} \unexpanded\def\resetsystemmode#1% - {\ifcsname\??mode\systemmodeprefix#1\endcsname\else\syst_modes_new{\systemmodeprefix#1}\fi - \csname\??mode\systemmodeprefix#1\endcsname\disabledmode} + {\ifcsname\s!mode\systemmodeprefix#1\endcsname\else\syst_modes_new{\systemmodeprefix#1}\fi + \csname\s!mode\systemmodeprefix#1\endcsname\disabledmode} % \def\dosetsystemmode#1% -% {\csname\??mode\systemmodeprefix#1\endcsname\enabledmode} +% {\csname\s!mode\systemmodeprefix#1\endcsname\enabledmode} % % \def\doresetsystemmode#1% -% {\csname\??mode\systemmodeprefix#1\endcsname\disabledmode} +% {\csname\s!mode\systemmodeprefix#1\endcsname\disabledmode} % demo: trialtypesetting is a systemmode as well as an if \newsystemmode{trialtypesetting} % the name of \@@trialtypesetting might change (also at the lua end) -\expandafter\let\expandafter\@@trialtypesetting\csname\??mode\systemmodeprefix trialtypesetting\endcsname % private ! +\expandafter\let\expandafter\@@trialtypesetting\csname\s!mode\systemmodeprefix trialtypesetting\endcsname % private ! \appendtoks \@@trialtypesetting\enabledmode @@ -114,25 +112,25 @@ \def\syst_modes_disable[#1]{\protect\rawprocesscommacommand[#1]\syst_modes_disable_indeed} \def\syst_modes_prevent_indeed#1% - {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi - \csname\??mode#1\endcsname\preventedmode} + {\ifcsname\s!mode#1\endcsname\else\syst_modes_new{#1}\fi + \csname\s!mode#1\endcsname\preventedmode} \def\syst_modes_enable_indeed#1% we can speed it up by moving the new outside - {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi - \ifnum\csname\??mode#1\endcsname=\preventedmode \else - \csname\??mode#1\endcsname\enabledmode + {\ifcsname\s!mode#1\endcsname\else\syst_modes_new{#1}\fi + \ifnum\csname\s!mode#1\endcsname=\preventedmode \else + \csname\s!mode#1\endcsname\enabledmode \fi} \def\syst_modes_disable_indeed#1% - {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi - \ifnum\csname\??mode#1\endcsname=\preventedmode \else - \csname\??mode#1\endcsname\disabledmode + {\ifcsname\s!mode#1\endcsname\else\syst_modes_new{#1}\fi + \ifnum\csname\s!mode#1\endcsname=\preventedmode \else + \csname\s!mode#1\endcsname\disabledmode \fi} % handy for mp \def\booleanmodevalue#1% - {\ifcsname\??mode#1\endcsname\ifcase\csname\??mode#1\endcsname\s!false\else\s!true\fi\else\s!false\fi} + {\ifcsname\s!mode#1\endcsname\ifcase\csname\s!mode#1\endcsname\s!false\else\s!true\fi\else\s!false\fi} % check macros @@ -143,8 +141,8 @@ \newconditional\c_checked_mode \def\syst_modes_check_indeed#1% - {\ifcsname\??mode#1\endcsname - \ifcase\csname\??mode#1\endcsname\else + {\ifcsname\s!mode#1\endcsname + \ifcase\csname\s!mode#1\endcsname\else \let\syst_modes_check_step\gobbleoneargument \fi \fi} @@ -159,8 +157,8 @@ \fi} \def\syst_modes_check_all_indeed#1% - {\ifcsname\??mode#1\endcsname - \ifcase\csname\??mode#1\endcsname + {\ifcsname\s!mode#1\endcsname + \ifcase\csname\s!mode#1\endcsname \let\syst_modes_check_all_step\gobbleoneargument \fi \else @@ -200,25 +198,25 @@ %D Pushing/popping: \unexpanded\def\pushmode[#1]% - {\ifcsname\??mode#1\endcsname\else\syst_modes_new{#1}\fi - \expandafter\edef\csname\??modestack#1\endcsname{\number\csname\??mode#1\endcsname}% + {\ifcsname\s!mode#1\endcsname\else\syst_modes_new{#1}\fi + \expandafter\edef\csname\??modestack#1\endcsname{\number\csname\s!mode#1\endcsname}% \expandafter\pushmacro\csname\??modestack#1\endcsname} \unexpanded\def\popmode[#1]% {\ifcsname\??modestack#1\endcsname \expandafter\popmacro\csname\??modestack#1\endcsname - \csname\??mode#1\endcsname\csname\??modestack#1\endcsname\relax + \csname\s!mode#1\endcsname\csname\??modestack#1\endcsname\relax \fi} \def\pushsystemmode#1% - {\ifcsname\??mode\systemmodeprefix#1\endcsname\else\syst_modes_new{\systemmodeprefix#1}\fi - \expandafter\edef\csname\??modestack\systemmodeprefix#1\endcsname{\number\csname\??mode\systemmodeprefix#1\endcsname}% + {\ifcsname\s!mode\systemmodeprefix#1\endcsname\else\syst_modes_new{\systemmodeprefix#1}\fi + \expandafter\edef\csname\??modestack\systemmodeprefix#1\endcsname{\number\csname\s!mode\systemmodeprefix#1\endcsname}% \expandafter\pushmacro\csname\??modestack\systemmodeprefix#1\endcsname} \def\popsystemmode#1% {\ifcsname\??modestack\systemmodeprefix#1\endcsname \expandafter\popmacro\csname\??modestack\systemmodeprefix#1\endcsname - \csname\??mode\systemmodeprefix#1\endcsname\csname\??modestack\systemmodeprefix#1\endcsname\relax + \csname\s!mode\systemmodeprefix#1\endcsname\csname\??modestack\systemmodeprefix#1\endcsname\relax \fi} %D Here is a relatively new variant of mode checking: @@ -627,51 +625,4 @@ \def\env {\getvariable \s!environment} \def\envvar {\getvariabledefault\s!environment} -%D \macros -%D {defineselector,setupselector,select,directselect} -%D -%D \starttyping -%D \defineselector[caption][max=2,n=2] -%D -%D \start -%D \setupselector[caption][n=1] -%D \placelist[figure][criterium=all] -%D \stop -%D -%D \starttext -%D \placefigure -%D {\select{caption}{zapf}{\input zapf \relax}} -%D {} -%D \stoptext -%D \stoptyping - -\installcorenamespace{selector} - -\unexpanded\def\defineselector{\dodoubleargument\syst_selectors_define} -\unexpanded\def\setupselector {\dodoubleargument\syst_selectors_setup} - -% \def\syst_selectors_define[#1][#2]{\getparameters[\??selector#1][\c!max=\plusone,\c!n=\plusone,#2]} -% \def\syst_selectors_setup [#1][#2]{\getparameters[\??selector#1][#2]} - -\def\syst_selectors_define[#1][{\getparameters[\??selector#1][\c!max=\plustwo,\c!n=\plusone,} -\def\syst_selectors_setup [#1][{\getparameters[\??selector#1][} - -\unexpanded\def\select % unexpandable - {\directselect} - -% \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): - -\def\directselect#1% expandable - {\expandafter\filterfromnext - \csname\??selector\ifcsname\??selector#1\c!max\endcsname#1\fi\c!max\expandafter\endcsname - \csname\??selector\ifcsname\??selector#1\c!n \endcsname#1\fi\c!n \endcsname} - -\letvalue{\??selector\c!max}\plusone -\letvalue{\??selector\c!n }\plusone - \protect \endinput |