DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 

(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