mirror of
https://github.com/KevinMidboe/linguist.git
synced 2025-10-29 17:50:22 +00:00
39 lines
1.1 KiB
Plaintext
39 lines
1.1 KiB
Plaintext
dnl Took from https://en.wikipedia.org/wiki/M4_(computer_language)
|
|
divert(-1)
|
|
|
|
M4 has multiple output queues that can be manipulated with the
|
|
`divert' macro. Valid queues range from 0 to 10, inclusive, with
|
|
the default queue being 0.
|
|
|
|
Calling the `divert' macro with an invalid queue causes text to be
|
|
discarded until another call. Note that even while output is being
|
|
discarded, quotes around `divert' and other macros are needed to
|
|
prevent expansion.
|
|
|
|
# Macros aren't expanded within comments, meaning that keywords such
|
|
# as divert and other built-ins may be used without consequence.
|
|
|
|
# HTML utility macro:
|
|
|
|
define(`H2_COUNT', 0)
|
|
|
|
# The H2_COUNT macro is redefined every time the H2 macro is used:
|
|
|
|
define(`H2',
|
|
`define(`H2_COUNT', incr(H2_COUNT))<h2>H2_COUNT. $1</h2>')
|
|
|
|
divert(1)dnl
|
|
dnl
|
|
dnl The dnl macro causes m4 to discard the rest of the line, thus
|
|
dnl preventing unwanted blank lines from appearing in the output.
|
|
dnl
|
|
H2(First Section)
|
|
H2(Second Section)
|
|
H2(Conclusion)
|
|
dnl
|
|
divert(0)dnl
|
|
dnl
|
|
<HTML>
|
|
undivert(1)dnl One of the queues is being pushed to output.
|
|
</HTML>
|