views:

115

answers:

2

I see alot in autoconf code about stuff being dnl'ed and not dnl'ed. What is dnl'ed?

+2  A: 

IIRC, dnl is do-next-line. It simply skips the remainder of the current line. It's how you write comments in M4 files.

dnl preprocessor will eat this
but not this dnl though this

will yield the result document

but not this

(untested; might also kill the idle process or crash your hard disk).

Dirk
+4  A: 

from the GNU M4 1.4.13 macro processor manual:

8.1 Deleting whitespace in input

The builtin dnl stands for “Discard to Next Line”:

— Builtin: dnl

All characters, up to and including the next newline, are discarded without performing any macro expansion. A warning is issued if the end of the file is encountered without a newline.

The expansion of dnl is void.

It is often used in connection with define, to remove the newline that follows the call to define. Thus

   define(`foo', `Macro `foo'.')dnl A very simple macro, indeed.
   foo
   ⇒Macro foo.

The input up to and including the next newline is discarded, as opposed to the way comments are treated (see Comments).

[...]

ax