Aditya Mahajan wrote:
\def\defineSOMETHING%
{\dodoubleargument\dodefineSOMETHING}
\def\dodefineSOMETHING[#1][#2]%
{\setvalue{#1}{\dododefineSOMETHING[#2]}
some do, but sometimes redefinition is quite legal; it happens that
'note' and 'symbol' are pretty core
the convention (as mentioned) is more or less to use UpperCase names for
your own commands and UPPERCASE for logo's and abbreviations (but these
can have an optional namespace)
kind of tricky are colors and fonts as they have no namespace so i often
end up with ThisColor or ThatFont
I meant with commands like \defineSOMETHING above. For example, I once
did \definecolor[page][s=0.9] instead of what I normally do:
\definecolor[pagecolor][s=0.9]. Took a while to figure out what was
going wrong. Some of Xan's error were due to similar things,
\defineSOMETHING[note], \defineSOMETHING[symbol], etc. If all these
commands issued a warning that you are redefining existing macro,
debugging will be much easier. And if you know what you are doing, we
could have
\redefinecolor[page][s=0.9]
that does not issue a warning. Or the easier to implemnet:
\setupcolors[check=error|warn|ignore]
maybe later, as it clutters the code; maybe after the mkii->mkiv cleanup
Hans
-----------------------------------------------------------------
Hans Hagen | PRAGMA ADE
Ridderstraat 27 | 8061 GH Hasselt | The Netherlands
tel: 038 477 53 69 | fax: 038 477 53 74 | www.pragma-ade.com
| www.pragma-pod.nl
-----------------------------------------------------------------
___________________________________________________________________________________
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 : https://foundry.supelec.fr/projects/contextrev/
wiki : http://contextgarden.net
___________________________________________________________________________________