Thank you, Wolfgang. I'll try to get into my tomorrow's clean head and wikify it. )

What's the problem with my answer, i described differences between \def
and \define
and the most important one is point one, i'll show it to you in two
examples

1. \def

\starttext
\def\hans{hans}
\def\hans{taco}
\hans
\stoptext

the output of this example is 'taco' because the second \def statement
overides the first

2. \define

\starttext
\define\hans{hans}
\define\hans{taco}
\stoptext

the output now is 'hans' because \define checks whether a command with
the name \hans
is already defined, if this isn't true \hans is created with the content
'hans' while
in the second \define \hans is already available and nothing happens but
you get
a warning on the terminal

system          : command \hans is already defined


to summary this you can say \def is for developers and \define for users
but this won't
work in all cases because \define can't create commands with optional
arguments :(

Wolfgang


--
Best Regards,
Vyatcheslav Yatskovsky
___________________________________________________________________________________
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