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>
 |