On Fri, 19 Nov 2010, Hans Hagen wrote:

On 19-11-2010 6:35, Wolfgang Schuster wrote:

Am 19.11.2010 um 02:05 schrieb Aditya Mahajan:

I am not sure how this is supposed to work. Consider this example:

[...]

There is a bug in the code for the \define... commands, you need this definition for \doinstalldefinehandler:

\unexpanded\def\doinstalldefinehandler#1#2#3#4#5#6#7%
   {\unexpanded\def#2{\dodoubleempty#5}%
    \newtoks#6%
    \newtoks#7%
    \def#5[##1][##2]%
      {\edef#4{##1}%
       \the#6% predefine
       \ifsecondargument
         \doifassignmentelse{##2}
           {\getparameters[#1#4][\s!parent=#3,##2]}
           {\getparameters[#1#4][\s!parent=#1##2]}%
       \fi
       \the#7}}

To have three arguments for the \define... commands like \defineenumeration change the above command to:

\unprotected\unexpanded\def\doinstalldefinehandler#1#2#3#4#5#6#7%
   {\unexpanded\def#2{\dotripleempty#5}%
    \newtoks#6%
    \newtoks#7%
    \def#5[##1][##2][##3]%
      {\edef#4{##1}%
       \the#6% predefine
       \ifsecondargument
         \doifassignmentelse{##2}
           {\getparameters[#1#4][\s!parent=#3,##2]}
           {\getparameters[#1#4][\s!parent=#1##2,##3]}%
       \fi
       \the#7}}

or maybe:

\unprotected\unexpanded\def\doinstalldefinehandler#1#2#3#4#5#6#7%
 {\unexpanded\def#2{\dotripleempty#5}%
  \newtoks#6%
  \newtoks#7%
  \def#5[##1][##2][##3]%
    {\edef#4{##1}%
     \the#6% predefine
     \ifthirdargument
        \getparameters[#1#4][\s!parent=#1##2,##3]%
     \else\ifsecondargument
        \getparameters[#1#4][\s!parent=#3,##2]
     \fi\fi
     \the#7}}

That one will be slightly faster, I think.

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

maillist : ntg-context@ntg.nl / 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