On 28-9-2012 14:41, Sietse Brouwer wrote:
Question for the others: What's the difference of \dodoubleargument and \dodoubleempty? I expected \dodoubleargument to throw an error since the arguments are supposed to be mandatory.
In MkIV Hans didn’t add this check and in MkII he disabled is for command with three or less argument but even then you get only a message in the log when your command has no argument (i.e. a command with four argument complains only when it has zero argument but doesn’t complain when it has one to four arguments).
Wikified: http://wiki.contextgarden.net/Command/dodoubleempty (I've been meaning to document that command for a while now. As a complement to the existing explanation at http://wiki.contextgarden.net/Commands_with_optional_arguments, I mean.)
Originally the 'argument' variant reported a message but when the code was cleaned up that went away ... actually it means that we can say: \let\dosingleargument \dosingleempty \let\dodoubleargument \dodoubleempty \let\dotripleargument \dotripleempty \let\doquadrupleargument \doquadrupleempty \let\doquintupleargument \doquintupleempty \let\dosixtupleargument \dosixtupleempty \let\doseventupleargument\doseventupleempty in syst-aux.mkiv, which is somewhat more efficient There is still checking in the {} variants. Hans ----------------------------------------------------------------- Hans Hagen | PRAGMA ADE Ridderstraat 27 | 8061 GH Hasselt | The Netherlands tel: 038 477 53 69 | voip: 087 875 68 74 | www.pragma-ade.com | www.pragma-pod.nl -----------------------------------------------------------------