According to Ray Holme on 3/20/2008 2:49 PM:
| I don't really think this is a bug, but using the word format in an
| input to m4 script wreaks havoc.

Which version of m4?  I ask, because prior to m4 1.4.5, format was always
treated as a builtin, but I patched it in 1.4.5 to only be recognized with
arguments.  The latest stable version is 1.4.10 (but needs a patch to run
on BSD-based stdio libraries), or you could try beta 1.4.10b (please do -
it's much faster, and I'd like some confidence that it works for everyone
before marking it as stable).

But you are indeed correct that format is a GNU extension not mentioned by POSIX and not present in Solaris nor BSD implementations of m4.

|
| What I would like to do is STOP m4 from recognizing these 3 words as
| internal macros. They get in the way of programs and SQL and ...
|
| I am going to try "undefine" but I doubt it will work for internal macros.

Why do you doubt?  undefine(`format') works just fine.  It's even
documented in the manual, with an example of undefining the builtin undefine:
http://www.gnu.org/software/m4/manual/m4.html#Undefine
http://www.gnu.org/software/m4/manual/m4.html#Defn

Or disable it at the command line:
m4 -Uformat

Or, you could disable GNU extensions altogether:
m4 -G

--
Don't work too hard, make some time for fun as well!

Eric Blake             [EMAIL PROTECTED]


_______________________________________________
Bug-m4 mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/bug-m4

Reply via email to