Am 21.04.2011 um 13:35 schrieb luigi scarso:

> On Thu, Apr 21, 2011 at 1:32 PM, Wolfgang Schuster
> <[email protected]> wrote:
>> 
>> 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]

\definenamespace
  [something]
  [   type=module,
      name=something,
   command=yes]

\starttext
\definesomething[alfa][variable=test]
\stoptext

Wolfgang

___________________________________________________________________________________
If your question is of interest to others as well, please add an entry to the 
Wiki!

maillist : [email protected] / http://www.ntg.nl/mailman/listinfo/ntg-context
webpage  : http://www.pragma-ade.nl / http://tex.aanhet.net
archive  : http://foundry.supelec.fr/projects/contextrev/
wiki     : http://contextgarden.net
___________________________________________________________________________________

Reply via email to