09.06.2013 Views

Intel XENIX 286 Programmers Guide (86) - Tenox.tc

Intel XENIX 286 Programmers Guide (86) - Tenox.tc

Intel XENIX 286 Programmers Guide (86) - Tenox.tc

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

m4: Macro Processor <strong>XENIX</strong> Programming<br />

The built-in macro dnl deletes all characters that follow it up to and including the next<br />

newline. It is useful mainly for deleting empty lines that otherwise tend to clutter up<br />

m4 output. For example, if you specify<br />

define(N, 1 00)<br />

define(M, 200)<br />

define(L, 300)<br />

the newline at the end of each line is not part of the definition, so it is copied into the<br />

output, where it may not be wanted. If you add dnl to each of these lines, the newlines<br />

will disappear.<br />

Another way to achieve this is<br />

divert(-1)<br />

divert<br />

Printing<br />

define( ... )<br />

The built-in macro errprint writes its argu ments out on the standard error file. Thus,<br />

you can write<br />

errpri nt('fatal error')<br />

The built-in macro dumpdef is a debugging aid that dumps the current definitions of<br />

defined terms. If there are no arguments, all definitions are output. Otherwise, only<br />

the definitions of the terms given as arguments to dumpdef are output. The arguments<br />

to dumpdef should be quoted.<br />

11-10

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!