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
___________________________________________________________________________________