(m4.info.gz) Undefine
Info Catalog
(m4.info.gz) Pseudo Arguments
(m4.info.gz) Definitions
(m4.info.gz) Defn
4.4 Deleting a macro
====================
A macro definition can be removed with `undefine':
-- Builtin: undefine (NAME...)
For each argument, remove the macro NAME. The macro names must
necessarily be quoted, since they will be expanded otherwise.
The expansion of `undefine' is void. The macro `undefine' is
recognized only with parameters.
foo bar blah
=>foo bar blah
define(`foo', `some')define(`bar', `other')define(`blah', `text')
=>
foo bar blah
=>some other text
undefine(`foo')
=>
foo bar blah
=>foo other text
undefine(`bar', `blah')
=>
foo bar blah
=>foo bar blah
Undefining a macro inside that macro's expansion is safe; the macro
still expands to the definition that was in effect at the `('.
define(`f', ``$0':$1')
=>
f(f(f(undefine(`f')`hello world')))
=>f:f:f:hello world
f(`bye')
=>f(bye)
It is not an error for NAME to have no macro definition. In that
case, `undefine' does nothing.
Info Catalog
(m4.info.gz) Pseudo Arguments
(m4.info.gz) Definitions
(m4.info.gz) Defn
automatically generated byinfo2html