diff options
author | Hans Hagen <pragma@wxs.nl> | 2021-11-22 22:57:54 +0100 |
---|---|---|
committer | Context Git Mirror Bot <phg@phi-gamma.net> | 2021-11-22 22:57:54 +0100 |
commit | 8d75b6caf54310bf17db7e5a9d91939fe97c4036 (patch) | |
tree | 599429d5a8a58b64f708e09f8f1b625ce245e930 /tex/context/base/mkxl/syst-aux.mkxl | |
parent | 4a439fa6665c12aac6219acc8c148c5c1d091116 (diff) | |
download | context-8d75b6caf54310bf17db7e5a9d91939fe97c4036.tar.gz |
2021-11-22 22:30:00
Diffstat (limited to 'tex/context/base/mkxl/syst-aux.mkxl')
-rw-r--r-- | tex/context/base/mkxl/syst-aux.mkxl | 33 |
1 files changed, 25 insertions, 8 deletions
diff --git a/tex/context/base/mkxl/syst-aux.mkxl b/tex/context/base/mkxl/syst-aux.mkxl index 2f7acdca0..aceb52aac 100644 --- a/tex/context/base/mkxl/syst-aux.mkxl +++ b/tex/context/base/mkxl/syst-aux.mkxl @@ -484,24 +484,41 @@ %D When we were developing the scientific units module, we encountered different %D behavior in text and math mode, which was due to this grouping subtilities. We %D therefore decided to use \type {\begingroup} instead of \type {\bgroup}. +%D +%D \stoptyping +%D \doifelsealldefined {foo,ofo} {YES}{NOP} +%D \doifelseallundefined{foo,ofo} {YES}{NOP} +%D \doifelsealldefined {relax,ofo}{YES}{NOP} +%D \doifelseallundefined{foo,relax}{YES}{NOP} +%D \stoptyping + +\def\syst_helpers_do_if_all_defined_else#1% + {\ifcsname#1\endcsname\else + \donefalse + \expandafter\quitcommalist % added + \fi} -\permanent\protected\def\doifelsealldefined#1% +\def\syst_helpers_do_if_all_undefined_else#1% + {\ifcsname#1\endcsname + \donefalse + \expandafter\quitcommalist + \fi} + +\permanent\protected\def\syst_helpers_do_if_all_else#1#2% {\begingroup \donetrue % we could use a reserved one and avoid the group - \processcommalist[#1]\syst_helpers_do_if_all_defined_else + \processcommalist[#2]#1% \ifdone \endgroup\expandafter\firstoftwoarguments \else \endgroup\expandafter\secondoftwoarguments \fi} -\aliased\let\doifalldefinedelse\doifelsealldefined +\permanent\protected\def\doifelsealldefined {\syst_helpers_do_if_all_else\syst_helpers_do_if_all_defined_else} +\permanent\protected\def\doifelseallundefined{\syst_helpers_do_if_all_else\syst_helpers_do_if_all_undefined_else} -\def\syst_helpers_do_if_all_defined_else#1% - {\ifcsname#1\endcsname\else - \donefalse - \expandafter\quitcommalist % added - \fi} +\aliased\let\doifalldefinedelse \doifelsealldefined +\aliased\let\doifallundefinedelse\doifelseallundefined %D \macros %D {doif,doifelse,doifnot} |