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