On Thu, Jul 23, 2009 at 5:52 PM, Aditya Mahajan wrote: > On Thu, 23 Jul 2009, Wolfgang Schuster wrote: > > >> Am 23.07.2009 um 17:05 schrieb Aditya Mahajan: >> >> I think an easier thing to do will be to follow latex's style of >>> \newcommand and \renewcommand. That is, all \definecommands should check if >>> the macro is previously defined or not. If it is defined, issue a warning or >>> an error. >>> >> >> There is \define and \redefine. >> > > I know. What I am asking is that the core macros like \definedescription, > \defineitemgroups, \definehead, which have the general form > > \def\defineSOMETHING% > {\dodoubleargument\dodefineSOMETHING} > > \def\dodefineSOMETHING[#1][#2]% > {\setvalue{#1}{\dododefineSOMETHING[#2]} > > should do some check before the \setvalue. Maybe a universal solution will > be to change \setvalue so that it uses \define (or a check like define) > internally. Or maybe \Usersetvalue I think to an "user-space" and a "kernel-space" -- luigi