/usr/share/doc/fweb/html-info/FWEB-macros.html is in fweb-doc 1.62-13.
This file is owned by root:root, with mode 0o644.
The actual contents of the file can be viewed below.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 | <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<!-- Created by GNU Texinfo 6.1, http://www.gnu.org/software/texinfo/ -->
<head>
<title>FWEB: FWEB macros</title>
<meta name="description" content="FWEB: FWEB macros">
<meta name="keywords" content="FWEB: FWEB macros">
<meta name="resource-type" content="document">
<meta name="distribution" content="global">
<meta name="Generator" content="makeinfo">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<link href="index.html#Top" rel="start" title="Top">
<link href="Concept-index.html#Concept-index" rel="index" title="Concept index">
<link href="Parameter-index.html#SEC_Contents" rel="contents" title="Table of Contents">
<link href="Macros.html#Macros" rel="up" title="Macros">
<link href="Macro-features.html#Macro-features" rel="next" title="Macro features">
<link href="Outer-macros.html#Outer-macros" rel="prev" title="Outer macros">
<style type="text/css">
<!--
a.summary-letter {text-decoration: none}
blockquote.indentedblock {margin-right: 0em}
blockquote.smallindentedblock {margin-right: 0em; font-size: smaller}
blockquote.smallquotation {font-size: smaller}
div.display {margin-left: 3.2em}
div.example {margin-left: 3.2em}
div.lisp {margin-left: 3.2em}
div.smalldisplay {margin-left: 3.2em}
div.smallexample {margin-left: 3.2em}
div.smalllisp {margin-left: 3.2em}
kbd {font-style: oblique}
pre.display {font-family: inherit}
pre.format {font-family: inherit}
pre.menu-comment {font-family: serif}
pre.menu-preformatted {font-family: serif}
pre.smalldisplay {font-family: inherit; font-size: smaller}
pre.smallexample {font-size: smaller}
pre.smallformat {font-family: inherit; font-size: smaller}
pre.smalllisp {font-size: smaller}
span.nolinebreak {white-space: nowrap}
span.roman {font-family: initial; font-weight: normal}
span.sansserif {font-family: sans-serif; font-weight: normal}
ul.no-bullet {list-style: none}
-->
</style>
</head>
<body lang="en">
<a name="FWEB-macros"></a>
<div class="header">
<p>
Next: <a href="Macros-and-formatting.html#Macros-and-formatting" accesskey="n" rel="next">Macros and formatting</a>, Previous: <a href="Outer-macros.html#Outer-macros" accesskey="p" rel="prev">Outer macros</a>, Up: <a href="Macros.html#Macros" accesskey="u" rel="up">Macros</a> [<a href="Parameter-index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-index.html#Concept-index" title="Index" rel="index">Index</a>]</p>
</div>
<hr>
<a name="FWEB-macros-1"></a>
<h3 class="section">7.2 <small>FWEB</small> macros</h3>
<a name="index-Macros_002c-FWEB"></a>
<p><small>FWEB</small> macros (sometimes called <em>inner macros</em>) are defined by
‘<samp>@m</samp>’ (see <a href="ATm.html#ATm">ATm</a>) or ‘<samp>@M</samp>’
(see <a href="ATM_005f.html#ATM_005f">ATM_</a>). These should normally be placed in the definition
part, as in
</p>
<div class="example">
<pre class="example">@n
@ Documentation...
@m CUBE(x) (x)**3
@a
z3 = CUBE(x) + CUBE(y)
</pre></div>
<p>(the appearance of an ‘<samp>@m</samp>’ in the documentation part begins the
definition part). They are collected during
<small>FTANGLE</small>’s phase 1 and effectively placed at the top of the unnamed
section, so they are all known during the output in phase 2.
</p>
<p>In unusual situations when macros are being conditionally defined and/or
undefined, the order of processing a macro definition becomes
significant. If the command-line option ‘<samp>-TD</samp>’ is used, then
<small>FWEB</small> macros may be used in the code part as well; they are then
called <em>deferred macros</em>. These definitions will be processed during
phase 2 in the order that the code sections are processed, which may not
be the same as the physical order in the source file.
</p>
<p><em>The use of deferred macros is highly discouraged</em>, for the
following reason. <small>FWEB</small> macros are often used in conjunction with
the <small>FWEB</small> preprocessor commands. <em>Preprocessor commands are
always processed during phase 1</em>, so they do not interact properly with
deferred macros. It is for this reason that deferred macros are
normally prohibited from appearing in the code part.
</p>
<table class="menu" border="0" cellspacing="0">
<tr><td align="left" valign="top">• <a href="Macro-features.html#Macro-features" accesskey="1">Macro features</a>:</td><td> </td><td align="left" valign="top">Various points about <small>FWEB</small> macros.
</td></tr>
<tr><td align="left" valign="top">• <a href="Tokens.html#Tokens" accesskey="2">Tokens</a>:</td><td> </td><td align="left" valign="top">Special tokens used in <small>FWEB</small> macros.
</td></tr>
<tr><td align="left" valign="top">• <a href="Built_002din-functions.html#Built_002din-functions" accesskey="3">Built-in functions</a>:</td><td> </td><td align="left" valign="top">Macro-like functions built into <small>FWEB</small>.
</td></tr>
<tr><td align="left" valign="top">• <a href="Debugging-with-macros.html#Debugging-with-macros" accesskey="4">Debugging with macros</a>:</td><td> </td><td align="left" valign="top">Debugging glitches, and their solutions.
</td></tr>
</table>
<hr>
<div class="header">
<p>
Next: <a href="Macros-and-formatting.html#Macros-and-formatting" accesskey="n" rel="next">Macros and formatting</a>, Previous: <a href="Outer-macros.html#Outer-macros" accesskey="p" rel="prev">Outer macros</a>, Up: <a href="Macros.html#Macros" accesskey="u" rel="up">Macros</a> [<a href="Parameter-index.html#SEC_Contents" title="Table of contents" rel="contents">Contents</a>][<a href="Concept-index.html#Concept-index" title="Index" rel="index">Index</a>]</p>
</div>
</body>
</html>
|