Search code examples
linuxm4

Why undefine failed in m4?


define(foo,0000)
foo
0000
undefine('foo')
foo
0000


thanks.
jcyang.


Solution

  • You have to quote foo with a backtick in front and a single-quote after in order to undefine it. Otherwise, it winds up substituted and you undefine 0000. So:

    undefine(`foo')