@node Overload, Page, Notation, Commands @iftex @syntax Overload. @end iftex @example Syntax: OVERLOAD keyword INTEGER @end example @pindex Overload Allow ``keyword'' (in lowercase) to be used as a macro name if integer is non-zero. For example, @example overload set 1 overload define 1 macro set @{ DEFINE @} macro define @{ SET @} @end example @noindent would interchange the meanings of the SET and DEFINE commands. The uppercase forms of the keywords retain their usual meanings. @code{overload set 0} would reinstate the usual meaning of set. You may be surprised by the effects of overloading certain keywords. For example, if you overload @code{help} to mean @code{DELETE HISTORY HELP}, then @code{set help vec help_string} won't work (you'd have to say @code{set HELP vec @dots{}}). This command is intended to be used for changing the default action of commands, rather than for a wholesale renaming of keywords! A more practical example than the above would be @example overload erase 1 macro erase @{ del1 ERASE @} @end example @noindent to prevent erase commands from appearing on the history list. See the macro @code{set_overload} for a set of definitions like this. It can be automatically executed by including an ``overload'' line on your @file{.sm} file.