(m4.info)Cleardivert


Prev: Divnum Up: Diversions
Enter node , (file) or (file)node

10.4 Discarding diverted text
=============================

Often it is not known, when output is diverted, whether the diverted
text is actually needed.  Since all non-empty diversion are brought back
on the main output stream when the end of input is seen, a method of
discarding a diversion is needed.  If all diversions should be
discarded, the easiest is to end the input to 'm4' with 'divert(`-1')'
followed by an explicit 'undivert':

     divert(`1')
     Diversion one: divnum
     divert(`2')
     Diversion two: divnum
     divert(`-1')
     undivert
     ^D

No output is produced at all.

   Clearing selected diversions can be done with the following macro:

 -- Composite: cleardivert ([DIVERSIONS...])
     Discard the contents of each of the listed numeric DIVERSIONS.

     define(`cleardivert',
     `pushdef(`_n', divnum)divert(`-1')undivert($@)divert(_n)popdef(`_n')')
     =>

   It is called just like 'undivert', but the effect is to clear the
diversions, given by the arguments.  (This macro has a nasty bug!  You
should try to see if you can find it and correct it; or *note Answers:
Improved cleardivert.).


automatically generated by info2www version 1.2.2.9