On Thu, Apr 21, 2011 at 1:32 PM, Wolfgang Schuster
Am 21.04.2011 um 12:28 schrieb Verhaag, G.C.H.M.:
Hi,
I try this example from the wiki page System Macros/Argument handling:
\def\dodefinesomething[#1][#2]% {\getparameters[\??xx#1][#2]}
\def\definesomething% {\dodoubleargumentwithset\dodefinesomething}
\starttext \definesomething[alfa][variable=test] \stoptext
Running this yields
! Undefined control sequence
I'm trying to write a few macros with optional delimited arguments with key-value sets and started reading the appropriate pages, but can't figure out why this example fails to run.
Anybody any idea?
I guess the message comes from your namespace which is in this form only allowed in unprotected mode, to enter you need \unprotect before and \protect after your command declarations
! Undefined control sequence. system > tex > error on line 8 in file test.tex: Undefined control sequence ... 1 \unprotect 2 \def\definesomething% 3 {\dodoubleargumentwithset\dodefinesomething} 4 \def\dodefinesomething[#1][#2]% 5 {\getparameters[\??xx#1][#2]} 6 \protect 7 \starttext 8 >> \definesomething[alfa][variable=test] 9 \stoptext 10 11 12 <argument> \??xx alfa \setsomevalue #1#2->\@EA \def \csname #1 #2\endcsname \p!doassign ...EAEA \setsomevalue \fi \fi {#1}{#2} {#3} \xprocesscommaitem ...@relax@ #1==\empty \@relax@ \@EAEAEA \xprocesscommaite... \xdogetparameters #1]->\xprocesscommaitem #1,] ,\@relax@ \next1 #1,->\@@dodowithsetcommand {#1} \doprocesscommaitem ... l.8 \definesomething[alfa][variable=test] -- luigi