[NTG-context] \dodoubleemptywithset not working in LMTX

Wolfgang Schuster wolfgang.schuster.lists at gmail.com
Sun Dec 20 16:32:13 CET 2020


Christoph Reller schrieb am 20.12.2020 um 16:15:
> Hi,
>
> The following MNWE uses \dodoubleemptywithset. In ConTeXt MKIV it 
> works as expected, In ConTeXt LMTX an error results.

There is a fix below but even then your example won't work because 
\typeTEX isn't defined.

> \starttext
> \unexpanded\def\doMyDefs[#1][#2]{\getparameters[MD#1][#2]}
> \def\MyDefs{\dodoubleemptywithset\doMyDefs}
> \MyDefs[A,B][key=val,k=v]
> \MyDefs[C]
> \typeTEX{\MDAkey} is \MDAkey. \typeTEX{\MDBkey} is \MDBkey.
> \typeTEX{\MDAk} is \MDAk. \typeTEX{\MDBk} is \MDBk.
> \stoptext
>
> Possibly, \dodoubleemptywithset is not used anymore in LMTX, in which 
> case it should be removed. Otherwise this could be a bug. Or maybe I 
> use it wrongly?

It's a bug, the wrong argument is passed as comma list.

\permanent\tolerant\protected\def\dodoubleemptywithset#1#*[#2]#*[#3]%
   {\doifsomething{#2}%
      {\def\syst_helpers_with_set_step##1{#1[##1][#3]}%
-     \processcommalist[#1]\syst_helpers_with_set_step}}
+     \processcommalist[#2]\syst_helpers_with_set_step}}

\permanent\tolerant\protected\def\dotripleemptywithset#1#*[#2]#*[#3]#*[#4]%
   {\doifsomething{#2}%
      {\def\syst_helpers_with_set_step##1{#1[##1][#3][#4]}%
-     \processcommalist[#1]\syst_helpers_with_set_step}}
+     \processcommalist[#2]\syst_helpers_with_set_step}}

Wolfgang



More information about the ntg-context mailing list