Added new (html) inclusion feature

This commit is contained in:
Graham Nelson 2022-04-04 00:00:46 +01:00
parent 59d3e6beb9
commit 40582edfca
30 changed files with 1883 additions and 1701 deletions

View file

@ -67,6 +67,7 @@ see //foundation: A Brief Guide to Foundation//.
@e weave_endnote_node_CLASS
@e weave_material_node_CLASS
@e weave_figure_node_CLASS
@e weave_extract_node_CLASS
@e weave_audio_node_CLASS
@e weave_download_node_CLASS
@e weave_video_node_CLASS
@ -155,6 +156,7 @@ DECLARE_CLASS(weave_paragraph_heading_node)
DECLARE_CLASS(weave_endnote_node)
DECLARE_CLASS(weave_material_node)
DECLARE_CLASS(weave_figure_node)
DECLARE_CLASS(weave_extract_node)
DECLARE_CLASS(weave_audio_node)
DECLARE_CLASS(weave_video_node)
DECLARE_CLASS(weave_download_node)

View file

@ -166,3 +166,4 @@ some of these fell into disuse in version 2 syntax.
@e CAROUSEL_END_CMD
@e EMBED_CMD
@e TAG_CMD
@e HTML_CMD

View file

@ -387,6 +387,14 @@ division in the current section.
code_lcat_for_body = COMMENT_BODY_LCAT;
L->text_operand = Str::duplicate(mr2.exp[0]);
comment_mode = TRUE;
} else if ((current_paragraph) &&
(Regexp::match(&mr2, mr.exp[0], L"%(html (%c+)%)"))) {
Tags::add_by_name(L->owning_paragraph, I"HTML");
L->command_code = HTML_CMD;
L->category = COMMAND_LCAT;
code_lcat_for_body = COMMENT_BODY_LCAT;
L->text_operand = Str::duplicate(mr2.exp[0]);
comment_mode = TRUE;
} else if ((current_paragraph) &&
(Regexp::match(&mr2, mr.exp[0], L"%(audio (%c+)%)"))) {
Tags::add_by_name(L->owning_paragraph, I"Audio");

View file

@ -279,6 +279,7 @@ at us; but we don't weave them into the output, that's for sure.
if (L->command_code == GRAMMAR_INDEX_CMD)
Trees::make_child(WeaveTree::grammar_index(tree), state->ap);
if (L->command_code == FIGURE_CMD) @<Weave a figure@>;
if (L->command_code == HTML_CMD) @<Weave a raw HTML extract@>;
if (L->command_code == AUDIO_CMD) @<Weave an audio clip@>;
if (L->command_code == VIDEO_CMD) @<Weave a video clip@>;
if (L->command_code == DOWNLOAD_CMD) @<Weave a download@>;
@ -297,6 +298,10 @@ at us; but we don't weave them into the output, that's for sure.
text_stream *figname = Parser::dimensions(L->text_operand, &w, &h, L);
Trees::make_child(WeaveTree::figure(tree, figname, w, h), state->ap);
@<Weave a raw HTML extract@> =
Trees::make_child(WeaveTree::raw_extract(tree, L->text_operand),
state->ap);
@<Weave an audio clip@> =
int w, h;
text_stream *figname = Parser::dimensions(L->text_operand, &w, &h, L);

View file

@ -106,6 +106,7 @@ int HTMLFormat::render_visit(tree_node *N, void *state, int L) {
else if (N->type == weave_paragraph_heading_node_type) @<Render paragraph heading@>
else if (N->type == weave_endnote_node_type) @<Render endnote@>
else if (N->type == weave_figure_node_type) @<Render figure@>
else if (N->type == weave_extract_node_type) @<Render extract@>
else if (N->type == weave_audio_node_type) @<Render audio clip@>
else if (N->type == weave_video_node_type) @<Render video clip@>
else if (N->type == weave_download_node_type) @<Render download@>
@ -326,6 +327,27 @@ int HTMLFormat::render_visit(tree_node *N, void *state, int L) {
HTML_CLOSE("p");
WRITE("\n");
@<Render extract@> =
weave_extract_node *C = RETRIEVE_POINTER_weave_extract_node(N->content);
filename *F = Filenames::in(
Pathnames::down(hrs->wv->weave_web->md->path_to_web, I"HTML"),
C->extract);
HTML_OPEN_WITH("div", "class=\"inweb-extract\"");
FILE *B = BinaryFiles::try_to_open_for_reading(F);
if (B == NULL) {
Main::error_in_web(I"Unable to find this HTML extract",
hrs->wv->current_weave_line);
} else {
while (TRUE) {
int c = getc(B);
if (c == EOF) break;
PUT((wchar_t) c);
}
BinaryFiles::close(B);
}
HTML_CLOSE("div");
WRITE("\n");
@<Render audio clip@> =
weave_audio_node *C = RETRIEVE_POINTER_weave_audio_node(N->content);
filename *F = Filenames::in(

View file

@ -81,6 +81,11 @@ typedef struct weave_figure_node {
CLASS_DEFINITION
} weave_figure_node;
typedef struct weave_extract_node {
struct text_stream *extract;
CLASS_DEFINITION
} weave_extract_node;
typedef struct weave_audio_node {
struct text_stream *audio_name;
int w;
@ -263,6 +268,7 @@ tree_node_type *weave_linebreak_node_type = NULL;
tree_node_type *weave_paragraph_heading_node_type = NULL;
tree_node_type *weave_endnote_node_type = NULL;
tree_node_type *weave_figure_node_type = NULL;
tree_node_type *weave_extract_node_type = NULL;
tree_node_type *weave_audio_node_type = NULL;
tree_node_type *weave_video_node_type = NULL;
tree_node_type *weave_download_node_type = NULL;
@ -328,6 +334,8 @@ heterogeneous_tree *WeaveTree::new_tree(weave_order *wv) {
Trees::new_node_type(I"endnote", weave_endnote_node_CLASS, NULL);
weave_figure_node_type =
Trees::new_node_type(I"figure", weave_figure_node_CLASS, NULL);
weave_extract_node_type =
Trees::new_node_type(I"extract", weave_extract_node_CLASS, NULL);
weave_audio_node_type =
Trees::new_node_type(I"audio", weave_audio_node_CLASS, NULL);
weave_video_node_type =
@ -517,6 +525,14 @@ tree_node *WeaveTree::figure(heterogeneous_tree *tree,
STORE_POINTER_weave_figure_node(C));
}
tree_node *WeaveTree::raw_extract(heterogeneous_tree *tree,
text_stream *extract) {
weave_extract_node *C = CREATE(weave_extract_node);
C->extract = Str::duplicate(extract);
return Trees::new_node(tree, weave_extract_node_type,
STORE_POINTER_weave_extract_node(C));
}
tree_node *WeaveTree::audio(heterogeneous_tree *tree,
text_stream *audio_name, int w) {
weave_audio_node *C = CREATE(weave_audio_node);

View file

@ -664,6 +664,14 @@ The file to download, in this case |alice.crt|, must be placed in a |Downloads|
subdirectory of the web. The explanatory text -- usually just an indication
of what sort of file this is -- is optional.
@h Raw HTML snippets.
Finally, it's possible to include a chunk of raw HTML code, though of course
this will only be viewable if the web is being woven to HTML.
= (text as Inweb)
= (html fireworks.html)
=
incorporates the contents of the file from the subdirectory |HTML| of the web.
@h Mathematics notation.
Literate programming is a good technique to justify code which hangs on
unobvious pieces of mathematics or computer science, and which must therefore

View file

@ -1,5 +1,4 @@
nav[role="navigation"] {
width: 180px;
position: fixed;
overflow: scroll;
left: 0;

View file

@ -1,6 +1,6 @@
# Inweb 7
v7-alpha.1+1A81 'Escape to Danger' (23 March 2022)
v7-alpha.1+1A83 'Escape to Danger' (4 April 2022)
## About Inweb

File diff suppressed because it is too large Load diff

View file

@ -1,3 +1,3 @@
Prerelease: alpha.1
Build Date: 23 March 2022
Build Number: 1A81
Build Date: 4 April 2022
Build Number: 1A83

View file

@ -1,5 +1,4 @@
nav[role="navigation"] {
width: 180px;
position: fixed;
overflow: scroll;
left: 0;

View file

@ -188,16 +188,12 @@ the debugging log.
allocated by each individual <span class="extract"><span class="extract-syntax">malloc</span></span> call.
</p>
<p class="commentary">After <span class="extract"><span class="extract-syntax">MAX_BLOCKS_ALLOWED</span></span> blocks, we throw in the towel: we must have
fallen into an endless loop which creates endless new objects somewhere.
(If this ever happens, it would be a bug: the point of this mechanism is to
be able to recover. Without this safety measure, OS X in particular would
grind slowly to a halt, never refusing a <span class="extract"><span class="extract-syntax">malloc</span></span>, until the user was
unable to get the GUI responsive enough to kill the process.)
<p class="commentary">As of the early 2020s, typical Inform projects need around 500 blocks to be
allocated, for around 400 MB of memory in all; the largest known take us into
the low 10000s of blocks, for more like 8 to 10 GB. But the latter are very rare.
</p>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">MAX_BLOCKS_ALLOWED</span><span class="plain-syntax"> </span><span class="constant-syntax">15000</span>
<span class="definition-keyword">define</span> <span class="constant-syntax">MEMORY_GRANULARITY</span><span class="plain-syntax"> </span><span class="constant-syntax">100</span><span class="plain-syntax">*1024*8 </span><span class="comment-syntax"> which must be divisible by 1024</span>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">MEMORY_GRANULARITY</span><span class="plain-syntax"> </span><span class="constant-syntax">100</span><span class="plain-syntax">*1024*8 </span><span class="comment-syntax"> which must be divisible by 1024</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">no_blocks_allocated</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
@ -255,15 +251,10 @@ pointer types as far as the C compiler is concerned.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">no_blocks_allocated</span><span class="plain-syntax">++ &gt;= </span><span class="constant-syntax">MAX_BLOCKS_ALLOWED</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="3-em.html#SP2" class="function-link"><span class="function-syntax">Errors::fatal</span></a><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><span class="string-syntax">"the memory manager has halted inweb, which seems to be generating "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"endless structures. Presumably it is trapped in a loop"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-mmr.html#SP15" class="function-link"><span class="function-syntax">Memory::check_memory_integrity</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">cp</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">unsigned</span><span class="plain-syntax"> </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *) (</span><a href="2-mmr.html#SP31" class="function-link"><span class="function-syntax">Memory::paranoid_calloc</span></a><span class="plain-syntax">(</span><span class="constant-syntax">MEMORY_GRANULARITY</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">cp</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><a href="3-em.html#SP2" class="function-link"><span class="function-syntax">Errors::fatal</span></a><span class="plain-syntax">(</span><span class="string-syntax">"Run out of memory: malloc failed"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;</span><span class="constant-syntax">MEMORY_GRANULARITY</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="identifier-syntax">cp</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;</span><span class="constant-syntax">MEMORY_GRANULARITY</span><span class="plain-syntax">; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) </span><span class="identifier-syntax">cp</span><span class="plain-syntax">[</span><span class="identifier-syntax">i</span><span class="plain-syntax">] = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-mmr.html#SP11">&#167;11</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP11_2" class="paragraph-anchor"></a><b>&#167;11.2. </b>As can be seen, memory block numbers count upwards from 0 in order of

Binary file not shown.

View file

@ -345,7 +345,7 @@ at filename <span class="extract"><span class="extract-syntax">F</span></span>,
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">pathname</span><span class="plain-syntax"> *</span><span class="function-syntax">Assets::include_asset</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Assets::include_asset</span></span>:<br/><a href="1-apacs.html#SP6">&#167;6</a>, <a href="1-apacs.html#SP7">&#167;7</a><br/>HTML Formats - <a href="5-hf.html#SP5_10">&#167;5.10</a>, <a href="5-hf.html#SP5_11">&#167;5.11</a>, <a href="5-hf.html#SP5_12">&#167;5.12</a>, <a href="5-hf.html#SP5_13">&#167;5.13</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">asset_rule</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="reserved-syntax">web</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">pathname</span><span class="plain-syntax"> *</span><span class="function-syntax">Assets::include_asset</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Assets::include_asset</span></span>:<br/><a href="1-apacs.html#SP6">&#167;6</a>, <a href="1-apacs.html#SP7">&#167;7</a><br/>HTML Formats - <a href="5-hf.html#SP5_10">&#167;5.10</a>, <a href="5-hf.html#SP5_12">&#167;5.12</a>, <a href="5-hf.html#SP5_13">&#167;5.13</a>, <a href="5-hf.html#SP5_14">&#167;5.14</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">asset_rule</span><span class="plain-syntax"> *</span><span class="identifier-syntax">R</span><span class="plain-syntax">, </span><span class="reserved-syntax">web</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">trans</span><span class="plain-syntax">, </span><span class="reserved-syntax">weave_pattern</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pattern</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">R</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="identifier-syntax">R</span><span class="plain-syntax"> = </span><a href="1-apacs.html#SP11" class="function-link"><span class="function-syntax">Assets::applicable_rule</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pattern</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">)</span>

View file

@ -107,6 +107,7 @@ see <a href="../foundation-module/P-abgtf.html" class="internal">A Brief Guide t
<span class="definition-keyword">enum</span> <span class="constant-syntax">weave_endnote_node_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">weave_material_node_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">weave_figure_node_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">weave_extract_node_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">weave_audio_node_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">weave_download_node_CLASS</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">weave_video_node_CLASS</span>
@ -196,6 +197,7 @@ see <a href="../foundation-module/P-abgtf.html" class="internal">A Brief Guide t
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_endnote_node</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_material_node</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_figure_node</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_extract_node</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_audio_node</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_video_node</span><span class="plain-syntax">)</span>
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_download_node</span><span class="plain-syntax">)</span>

View file

@ -385,7 +385,7 @@ source:
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Main::error_in_web</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">Main::error_in_web</span></span>:<br/>Configuration - <a href="1-cnf.html#SP6">&#167;6</a><br/>The Swarm - <a href="1-ts.html#SP3">&#167;3</a><br/>Assets, Plugins and Colour Schemes - <a href="1-apacs.html#SP6">&#167;6</a>, <a href="1-apacs.html#SP7">&#167;7</a><br/>The Parser - <a href="2-tp.html#SP1_1_7_3">&#167;1.1.7.3</a>, <a href="2-tp.html#SP1_1_7_4">&#167;1.1.7.4</a>, <a href="2-tp.html#SP1_1_7_7">&#167;1.1.7.7</a>, <a href="2-tp.html#SP1_1_7_7_1">&#167;1.1.7.7.1</a>, <a href="2-tp.html#SP1_1_7_5_1">&#167;1.1.7.5.1</a>, <a href="2-tp.html#SP1_1_7_5_1_1">&#167;1.1.7.5.1.1</a>, <a href="2-tp.html#SP1_1_7_5_1_2">&#167;1.1.7.5.1.2</a>, <a href="2-tp.html#SP1_1_7_5_1_3">&#167;1.1.7.5.1.3</a>, <a href="2-tp.html#SP1_1_7_5_1_4">&#167;1.1.7.5.1.4</a>, <a href="2-tp.html#SP1_1_7_5_1_7">&#167;1.1.7.5.1.7</a>, <a href="2-tp.html#SP1_1_4_3_1">&#167;1.1.4.3.1</a>, <a href="2-tp.html#SP4">&#167;4</a><br/>Enumerated Constants - <a href="2-ec.html#SP3_1">&#167;3.1</a>, <a href="2-ec.html#SP3_2">&#167;3.2</a>, <a href="2-ec.html#SP3_3">&#167;3.3</a><br/>The Analyser - <a href="3-ta.html#SP4_1">&#167;4.1</a><br/>The Weaver - <a href="3-tw.html#SP2_7_2">&#167;2.7.2</a>, <a href="3-tw.html#SP2_7_2_3_1_5">&#167;2.7.2.3.1.5</a><br/>The Weaver of Text - <a href="3-twot.html#SP1_4">&#167;1.4</a><br/>The Tangler - <a href="3-tt.html#SP1_1_1_1">&#167;1.1.1.1</a>, <a href="3-tt.html#SP3_1">&#167;3.1</a><br/>Types and Functions - <a href="4-taf.html#SP7_3">&#167;7.3</a><br/>Language Methods - <a href="4-lm.html#SP10">&#167;10</a><br/>ACME Support - <a href="4-as.html#SP7">&#167;7</a><br/>C-Like Languages - <a href="4-cl.html#SP3">&#167;3</a>, <a href="4-cl.html#SP3_1">&#167;3.1</a>, <a href="4-cl.html#SP3_2_2_1">&#167;3.2.2.1</a>, <a href="4-cl.html#SP6_4">&#167;6.4</a><br/>InC Support - <a href="4-is.html#SP10">&#167;10</a>, <a href="4-is.html#SP11_2">&#167;11.2</a><br/>HTML Formats - <a href="5-hf.html#SP5_13">&#167;5.13</a>, <a href="5-hf.html#SP5_15">&#167;5.15</a><br/>Colonies - <a href="6-cln.html#SP8_4">&#167;8.4</a>, <a href="6-cln.html#SP10">&#167;10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sl</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Main::error_in_web</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">Main::error_in_web</span></span>:<br/>Configuration - <a href="1-cnf.html#SP6">&#167;6</a><br/>The Swarm - <a href="1-ts.html#SP3">&#167;3</a><br/>Assets, Plugins and Colour Schemes - <a href="1-apacs.html#SP6">&#167;6</a>, <a href="1-apacs.html#SP7">&#167;7</a><br/>The Parser - <a href="2-tp.html#SP1_1_7_3">&#167;1.1.7.3</a>, <a href="2-tp.html#SP1_1_7_4">&#167;1.1.7.4</a>, <a href="2-tp.html#SP1_1_7_7">&#167;1.1.7.7</a>, <a href="2-tp.html#SP1_1_7_7_1">&#167;1.1.7.7.1</a>, <a href="2-tp.html#SP1_1_7_5_1">&#167;1.1.7.5.1</a>, <a href="2-tp.html#SP1_1_7_5_1_1">&#167;1.1.7.5.1.1</a>, <a href="2-tp.html#SP1_1_7_5_1_2">&#167;1.1.7.5.1.2</a>, <a href="2-tp.html#SP1_1_7_5_1_3">&#167;1.1.7.5.1.3</a>, <a href="2-tp.html#SP1_1_7_5_1_4">&#167;1.1.7.5.1.4</a>, <a href="2-tp.html#SP1_1_7_5_1_7">&#167;1.1.7.5.1.7</a>, <a href="2-tp.html#SP1_1_4_3_1">&#167;1.1.4.3.1</a>, <a href="2-tp.html#SP4">&#167;4</a><br/>Enumerated Constants - <a href="2-ec.html#SP3_1">&#167;3.1</a>, <a href="2-ec.html#SP3_2">&#167;3.2</a>, <a href="2-ec.html#SP3_3">&#167;3.3</a><br/>The Analyser - <a href="3-ta.html#SP4_1">&#167;4.1</a><br/>The Weaver - <a href="3-tw.html#SP2_7_2">&#167;2.7.2</a>, <a href="3-tw.html#SP2_7_2_3_1_5">&#167;2.7.2.3.1.5</a><br/>The Weaver of Text - <a href="3-twot.html#SP1_4">&#167;1.4</a><br/>The Tangler - <a href="3-tt.html#SP1_1_1_1">&#167;1.1.1.1</a>, <a href="3-tt.html#SP3_1">&#167;3.1</a><br/>Types and Functions - <a href="4-taf.html#SP7_3">&#167;7.3</a><br/>Language Methods - <a href="4-lm.html#SP10">&#167;10</a><br/>ACME Support - <a href="4-as.html#SP7">&#167;7</a><br/>C-Like Languages - <a href="4-cl.html#SP3">&#167;3</a>, <a href="4-cl.html#SP3_1">&#167;3.1</a>, <a href="4-cl.html#SP3_2_2_1">&#167;3.2.2.1</a>, <a href="4-cl.html#SP6_4">&#167;6.4</a><br/>InC Support - <a href="4-is.html#SP10">&#167;10</a>, <a href="4-is.html#SP11_2">&#167;11.2</a><br/>HTML Formats - <a href="5-hf.html#SP5_11">&#167;5.11</a>, <a href="5-hf.html#SP5_14">&#167;5.14</a>, <a href="5-hf.html#SP5_16">&#167;5.16</a><br/>Colonies - <a href="6-cln.html#SP8_4">&#167;8.4</a>, <a href="6-cln.html#SP10">&#167;10</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sl</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">sl</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="../foundation-module/3-em.html#SP5" class="function-link"><span class="function-syntax">Errors::in_text_file_S</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">message</span><span class="plain-syntax">, &amp;(</span><span class="identifier-syntax">sl</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">source</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="constant-syntax">STDERR</span><span class="plain-syntax">, </span><span class="string-syntax">"%07d %S\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">sl</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">source</span><span class="plain-syntax">.</span><span class="element-syntax">line_count</span><span class="plain-syntax">, </span><span class="identifier-syntax">sl</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text</span><span class="plain-syntax">);</span>

View file

@ -333,7 +333,7 @@ from each other then this routine will lock up into an infinite loop.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="function-syntax">Patterns::find_file_in_subdirectory</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Patterns::find_file_in_subdirectory</span></span>:<br/>Assets, Plugins and Colour Schemes - <a href="1-apacs.html#SP4">&#167;4</a>, <a href="1-apacs.html#SP7">&#167;7</a><br/>HTML Formats - <a href="5-hf.html#SP5_13">&#167;5.13</a>, <a href="5-hf.html#SP5_15">&#167;5.15</a>, <a href="5-hf.html#SP11">&#167;11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">weave_pattern</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pattern</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="function-syntax">Patterns::find_file_in_subdirectory</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Patterns::find_file_in_subdirectory</span></span>:<br/>Assets, Plugins and Colour Schemes - <a href="1-apacs.html#SP4">&#167;4</a>, <a href="1-apacs.html#SP7">&#167;7</a><br/>HTML Formats - <a href="5-hf.html#SP5_14">&#167;5.14</a>, <a href="5-hf.html#SP5_16">&#167;5.16</a>, <a href="5-hf.html#SP11">&#167;11</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">weave_pattern</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pattern</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">dirname</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">leafname</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">weave_pattern</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wp</span><span class="plain-syntax"> = </span><span class="identifier-syntax">pattern</span><span class="plain-syntax">; </span><span class="identifier-syntax">wp</span><span class="plain-syntax">; </span><span class="identifier-syntax">wp</span><span class="plain-syntax"> = </span><span class="identifier-syntax">wp</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">based_on</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-pth.html#SP4" class="function-link"><span class="function-syntax">Pathnames::down</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">wp</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">pattern_location</span><span class="plain-syntax">, </span><span class="identifier-syntax">dirname</span><span class="plain-syntax">);</span>

View file

@ -260,7 +260,7 @@ and details of any cover-sheet to use.
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Swarm::ensure_plugin</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Swarm::ensure_plugin</span></span>:<br/>HTML Formats - <a href="5-hf.html#SP3">&#167;3</a>, <a href="5-hf.html#SP5_2">&#167;5.2</a>, <a href="5-hf.html#SP5_13">&#167;5.13</a>, <a href="5-hf.html#SP5_22">&#167;5.22</a>, <a href="5-hf.html#SP5_28">&#167;5.28</a>, <a href="5-hf.html#SP5_29">&#167;5.29</a>, <a href="5-hf.html#SP5_31">&#167;5.31</a>, <a href="5-hf.html#SP5_36">&#167;5.36</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">weave_order</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Swarm::ensure_plugin</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Swarm::ensure_plugin</span></span>:<br/>HTML Formats - <a href="5-hf.html#SP3">&#167;3</a>, <a href="5-hf.html#SP5_2">&#167;5.2</a>, <a href="5-hf.html#SP5_14">&#167;5.14</a>, <a href="5-hf.html#SP5_23">&#167;5.23</a>, <a href="5-hf.html#SP5_29">&#167;5.29</a>, <a href="5-hf.html#SP5_30">&#167;5.30</a>, <a href="5-hf.html#SP5_32">&#167;5.32</a>, <a href="5-hf.html#SP5_37">&#167;5.37</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">weave_order</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_plugin</span><span class="plain-syntax"> *</span><span class="identifier-syntax">existing</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">existing</span><span class="plain-syntax">, </span><span class="reserved-syntax">weave_plugin</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">plugins</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP19" class="function-link"><span class="function-syntax">Str::eq_insensitive</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">, </span><span class="identifier-syntax">existing</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">plugin_name</span><span class="plain-syntax">))</span>
@ -269,7 +269,7 @@ and details of any cover-sheet to use.
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">wp</span><span class="plain-syntax">, </span><span class="reserved-syntax">weave_plugin</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">plugins</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">colour_scheme</span><span class="plain-syntax"> *</span><span class="function-syntax">Swarm::ensure_colour_scheme</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Swarm::ensure_colour_scheme</span></span>:<br/>HTML Formats - <a href="5-hf.html#SP3">&#167;3</a>, <a href="5-hf.html#SP5_14_2">&#167;5.14.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">weave_order</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">colour_scheme</span><span class="plain-syntax"> *</span><span class="function-syntax">Swarm::ensure_colour_scheme</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Swarm::ensure_colour_scheme</span></span>:<br/>HTML Formats - <a href="5-hf.html#SP3">&#167;3</a>, <a href="5-hf.html#SP5_15_2">&#167;5.15.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">weave_order</span><span class="plain-syntax"> *</span><span class="identifier-syntax">wv</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">name</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pre</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">colour_scheme</span><span class="plain-syntax"> *</span><span class="identifier-syntax">existing</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">existing</span><span class="plain-syntax">, </span><span class="reserved-syntax">colour_scheme</span><span class="plain-syntax">, </span><span class="identifier-syntax">wv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">colour_schemes</span><span class="plain-syntax">)</span>

View file

@ -219,6 +219,7 @@ some of these fell into disuse in version 2 syntax.
<span class="definition-keyword">enum</span> <span class="constant-syntax">CAROUSEL_END_CMD</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">EMBED_CMD</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">TAG_CMD</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">HTML_CMD</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-tr.html">&#10094;</a></li><li class="progresschapter"><a href="M-iti.html">M</a></li><li class="progresschapter"><a href="P-htpw.html">P</a></li><li class="progresschapter"><a href="1-bsc.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-tr.html">tr</a></li><li class="progresscurrent">lc</li><li class="progresssection"><a href="2-tp.html">tp</a></li><li class="progresssection"><a href="2-pm.html">pm</a></li><li class="progresssection"><a href="2-tgs.html">tgs</a></li><li class="progresssection"><a href="2-ec.html">ec</a></li><li class="progresssection"><a href="2-pn.html">pn</a></li><li class="progresschapter"><a href="3-ta.html">3</a></li><li class="progresschapter"><a href="4-pl.html">4</a></li><li class="progresschapter"><a href="5-wt.html">5</a></li><li class="progresschapter"><a href="6-mkf.html">6</a></li><li class="progressnext"><a href="2-tp.html">&#10095;</a></li></ul></div>

View file

@ -515,6 +515,14 @@ division in the current section.
<span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text_operand</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0]);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">comment_mode</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">current_paragraph</span><span class="plain-syntax">) &amp;&amp;</span>
<span class="plain-syntax"> (</span><a href="../foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">L</span><span class="string-syntax">"%(html (%c+)%)"</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><a href="2-tgs.html#SP4" class="function-link"><span class="function-syntax">Tags::add_by_name</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">owning_paragraph</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"HTML"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> = </span><span class="constant-syntax">HTML_CMD</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">category</span><span class="plain-syntax"> = </span><span class="constant-syntax">COMMAND_LCAT</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">code_lcat_for_body</span><span class="plain-syntax"> = </span><span class="constant-syntax">COMMENT_BODY_LCAT</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text_operand</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0]);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">comment_mode</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">current_paragraph</span><span class="plain-syntax">) &amp;&amp;</span>
<span class="plain-syntax"> (</span><a href="../foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="element-syntax">exp</span><span class="plain-syntax">[0], </span><span class="identifier-syntax">L</span><span class="string-syntax">"%(audio (%c+)%)"</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><a href="2-tgs.html#SP4" class="function-link"><span class="function-syntax">Tags::add_by_name</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">owning_paragraph</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Audio"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> = </span><span class="constant-syntax">AUDIO_CMD</span><span class="plain-syntax">;</span>
@ -1188,7 +1196,7 @@ This is the syntax used.
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">POINTS_PER_CM</span><span class="plain-syntax"> </span><span class="constant-syntax">72</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">Parser::dimensions</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Parser::dimensions</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_1">&#167;2.7.2.4.1</a>, <a href="3-tw.html#SP2_7_2_4_2">&#167;2.7.2.4.2</a>, <a href="3-tw.html#SP2_7_2_4_3">&#167;2.7.2.4.3</a>, <a href="3-tw.html#SP2_7_2_4_5">&#167;2.7.2.4.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">item</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">w</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">h</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="function-syntax">Parser::dimensions</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Parser::dimensions</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_1">&#167;2.7.2.4.1</a>, <a href="3-tw.html#SP2_7_2_4_3">&#167;2.7.2.4.3</a>, <a href="3-tw.html#SP2_7_2_4_4">&#167;2.7.2.4.4</a>, <a href="3-tw.html#SP2_7_2_4_6">&#167;2.7.2.4.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">item</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">w</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">h</span><span class="plain-syntax">, </span><span class="reserved-syntax">source_line</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">sv</span><span class="plain-syntax"> = </span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">owning_section</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">md</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">using_syntax</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> *</span><span class="identifier-syntax">w</span><span class="plain-syntax"> = -1; *</span><span class="identifier-syntax">h</span><span class="plain-syntax"> = -1;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">use</span><span class="plain-syntax"> = </span><span class="identifier-syntax">item</span><span class="plain-syntax">;</span>

View file

@ -68,7 +68,7 @@ directly.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Collater::for_web_and_pattern</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Collater::for_web_and_pattern</span></span>:<br/>Assets, Plugins and Colour Schemes - <a href="1-apacs.html#SP12_4">&#167;12.4</a><br/>HTML Formats - <a href="5-hf.html#SP5_13">&#167;5.13</a>, <a href="5-hf.html#SP5_15">&#167;5.15</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">web</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Collater::for_web_and_pattern</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Collater::for_web_and_pattern</span></span>:<br/>Assets, Plugins and Colour Schemes - <a href="1-apacs.html#SP12_4">&#167;12.4</a><br/>HTML Formats - <a href="5-hf.html#SP5_14">&#167;5.14</a>, <a href="5-hf.html#SP5_16">&#167;5.16</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">web</span><span class="plain-syntax"> *</span><span class="identifier-syntax">W</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_pattern</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pattern</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">into</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="3-tc.html#SP1" class="function-link"><span class="function-syntax">Collater::collate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">W</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">""</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">pattern</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">into</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>

View file

@ -382,15 +382,16 @@ at us; but we don't weave them into the output, that's for sure.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">GRAMMAR_INDEX_CMD</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP8" class="function-link"><span class="function-syntax">WeaveTree::grammar_index</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">), </span><span class="identifier-syntax">state</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">ap</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">FIGURE_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_1" class="named-paragraph-link"><span class="named-paragraph">Weave a figure</span><span class="named-paragraph-number">2.7.2.4.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">AUDIO_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_2" class="named-paragraph-link"><span class="named-paragraph">Weave an audio clip</span><span class="named-paragraph-number">2.7.2.4.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">VIDEO_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_3" class="named-paragraph-link"><span class="named-paragraph">Weave a video clip</span><span class="named-paragraph-number">2.7.2.4.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">DOWNLOAD_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_4" class="named-paragraph-link"><span class="named-paragraph">Weave a download</span><span class="named-paragraph-number">2.7.2.4.4</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">EMBED_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_5" class="named-paragraph-link"><span class="named-paragraph">Weave an embed</span><span class="named-paragraph-number">2.7.2.4.5</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_6" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_ABOVE_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_6" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_BELOW_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_6" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_UNCAPTIONED_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_6" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_END_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_7" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel end</span><span class="named-paragraph-number">2.7.2.4.7</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">HTML_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_2" class="named-paragraph-link"><span class="named-paragraph">Weave a raw HTML extract</span><span class="named-paragraph-number">2.7.2.4.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">AUDIO_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_3" class="named-paragraph-link"><span class="named-paragraph">Weave an audio clip</span><span class="named-paragraph-number">2.7.2.4.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">VIDEO_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_4" class="named-paragraph-link"><span class="named-paragraph">Weave a video clip</span><span class="named-paragraph-number">2.7.2.4.4</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">DOWNLOAD_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_5" class="named-paragraph-link"><span class="named-paragraph">Weave a download</span><span class="named-paragraph-number">2.7.2.4.5</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">EMBED_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_6" class="named-paragraph-link"><span class="named-paragraph">Weave an embed</span><span class="named-paragraph-number">2.7.2.4.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_7" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.7</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_ABOVE_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_7" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.7</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_BELOW_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_7" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.7</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_UNCAPTIONED_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_7" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.7</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">command_code</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_END_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="3-tw.html#SP2_7_2_4_8" class="named-paragraph-link"><span class="named-paragraph">Weave a carousel end</span><span class="named-paragraph-number">2.7.2.4.8</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="comment-syntax"> Otherwise assume it was a tangler command, and ignore it here</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
@ -405,7 +406,15 @@ at us; but we don't weave them into the output, that's for sure.
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP2" class="function-link"><span class="function-syntax">WeaveTree::figure</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">figname</span><span class="plain-syntax">, </span><span class="identifier-syntax">w</span><span class="plain-syntax">, </span><span class="identifier-syntax">h</span><span class="plain-syntax">), </span><span class="identifier-syntax">state</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">ap</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-tw.html#SP2_7_2_4">&#167;2.7.2.4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_2" class="paragraph-anchor"></a><b>&#167;2.7.2.4.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave an audio clip</span><span class="named-paragraph-number">2.7.2.4.2</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_2" class="paragraph-anchor"></a><b>&#167;2.7.2.4.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave a raw HTML extract</span><span class="named-paragraph-number">2.7.2.4.2</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP2" class="function-link"><span class="function-syntax">WeaveTree::raw_extract</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text_operand</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">state</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">ap</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-tw.html#SP2_7_2_4">&#167;2.7.2.4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_3" class="paragraph-anchor"></a><b>&#167;2.7.2.4.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave an audio clip</span><span class="named-paragraph-number">2.7.2.4.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -414,7 +423,7 @@ at us; but we don't weave them into the output, that's for sure.
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP2" class="function-link"><span class="function-syntax">WeaveTree::audio</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">figname</span><span class="plain-syntax">, </span><span class="identifier-syntax">w</span><span class="plain-syntax">), </span><span class="identifier-syntax">state</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">ap</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-tw.html#SP2_7_2_4">&#167;2.7.2.4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_3" class="paragraph-anchor"></a><b>&#167;2.7.2.4.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave a video clip</span><span class="named-paragraph-number">2.7.2.4.3</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_4" class="paragraph-anchor"></a><b>&#167;2.7.2.4.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave a video clip</span><span class="named-paragraph-number">2.7.2.4.4</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -423,7 +432,7 @@ at us; but we don't weave them into the output, that's for sure.
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP2" class="function-link"><span class="function-syntax">WeaveTree::video</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">figname</span><span class="plain-syntax">, </span><span class="identifier-syntax">w</span><span class="plain-syntax">, </span><span class="identifier-syntax">h</span><span class="plain-syntax">), </span><span class="identifier-syntax">state</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">ap</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-tw.html#SP2_7_2_4">&#167;2.7.2.4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_4" class="paragraph-anchor"></a><b>&#167;2.7.2.4.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave a download</span><span class="named-paragraph-number">2.7.2.4.4</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_5" class="paragraph-anchor"></a><b>&#167;2.7.2.4.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave a download</span><span class="named-paragraph-number">2.7.2.4.5</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -431,7 +440,7 @@ at us; but we don't weave them into the output, that's for sure.
<span class="plain-syntax"> </span><span class="identifier-syntax">state</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">ap</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-tw.html#SP2_7_2_4">&#167;2.7.2.4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_5" class="paragraph-anchor"></a><b>&#167;2.7.2.4.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave an embed</span><span class="named-paragraph-number">2.7.2.4.5</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_6" class="paragraph-anchor"></a><b>&#167;2.7.2.4.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave an embed</span><span class="named-paragraph-number">2.7.2.4.6</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -440,7 +449,7 @@ at us; but we don't weave them into the output, that's for sure.
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP11" class="function-link"><span class="function-syntax">Trees::make_child</span></a><span class="plain-syntax">(</span><a href="5-wt.html#SP2" class="function-link"><span class="function-syntax">WeaveTree::embed</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text_operand</span><span class="plain-syntax">, </span><span class="identifier-syntax">ID</span><span class="plain-syntax">, </span><span class="identifier-syntax">w</span><span class="plain-syntax">, </span><span class="identifier-syntax">h</span><span class="plain-syntax">), </span><span class="identifier-syntax">state</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">ap</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-tw.html#SP2_7_2_4">&#167;2.7.2.4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_6" class="paragraph-anchor"></a><b>&#167;2.7.2.4.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.6</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_7" class="paragraph-anchor"></a><b>&#167;2.7.2.4.7. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave a carousel</span><span class="named-paragraph-number">2.7.2.4.7</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -450,7 +459,7 @@ at us; but we don't weave them into the output, that's for sure.
<span class="plain-syntax"> </span><span class="identifier-syntax">state</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">carousel_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="3-tw.html#SP2_7_2_4">&#167;2.7.2.4</a> (four times).</li></ul>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_7" class="paragraph-anchor"></a><b>&#167;2.7.2.4.7. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave a carousel end</span><span class="named-paragraph-number">2.7.2.4.7</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_7_2_4_8" class="paragraph-anchor"></a><b>&#167;2.7.2.4.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Weave a carousel end</span><span class="named-paragraph-number">2.7.2.4.8</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">

View file

@ -279,7 +279,7 @@ function's definition appears".
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Functions::used_elsewhere</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Functions::used_elsewhere</span></span>:<br/>HTML Formats - <a href="5-hf.html#SP5_31">&#167;5.31</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Functions::used_elsewhere</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Functions::used_elsewhere</span></span>:<br/>HTML Formats - <a href="5-hf.html#SP5_32">&#167;5.32</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><span class="identifier-syntax">fn</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">function_header_at</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">owning_paragraph</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">hash_table_entry</span><span class="plain-syntax"> *</span><span class="identifier-syntax">hte</span><span class="plain-syntax"> =</span>
<span class="plain-syntax"> </span><a href="3-ta.html#SP9" class="function-link"><span class="function-syntax">Analyser::find_hash_entry_for_section</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">fn</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">function_header_at</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">owning_section</span><span class="plain-syntax">,</span>

View file

@ -145,7 +145,7 @@ ePub respectively:
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::render_visit</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::render_visit</span></span>:<br/><a href="5-hf.html#SP4">&#167;4</a>, <a href="5-hf.html#SP5_14_1">&#167;5.14.1</a>, <a href="5-hf.html#SP5_14_1_1">&#167;5.14.1.1</a>, <a href="5-hf.html#SP5_23">&#167;5.23</a>, <a href="5-hf.html#SP5_9_1">&#167;5.9.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::render_visit</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::render_visit</span></span>:<br/><a href="5-hf.html#SP4">&#167;4</a>, <a href="5-hf.html#SP5_15_1">&#167;5.15.1</a>, <a href="5-hf.html#SP5_15_1_1">&#167;5.15.1.1</a>, <a href="5-hf.html#SP5_24">&#167;5.24</a>, <a href="5-hf.html#SP5_9_1">&#167;5.9.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">HTML_render_state</span><span class="plain-syntax"> *</span><span class="identifier-syntax">hrs</span><span class="plain-syntax"> = (</span><span class="reserved-syntax">HTML_render_state</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">state</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">OUT</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_document_node_type</span><span class="plain-syntax">) ||</span>
@ -155,11 +155,11 @@ ePub respectively:
<span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_pagebreak_node_type</span><span class="plain-syntax">) ||</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_chapter_node_type</span><span class="plain-syntax">) ||</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_chapter_title_page_node_type</span><span class="plain-syntax">) ||</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_grammar_index_node_type</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_38" class="named-paragraph-link"><span class="named-paragraph">Render nothing</span><span class="named-paragraph-number">5.38</span></a></span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_grammar_index_node_type</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_39" class="named-paragraph-link"><span class="named-paragraph">Render nothing</span><span class="named-paragraph-number">5.39</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_head_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Render head</span><span class="named-paragraph-number">5.1</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_tail_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_4" class="named-paragraph-link"><span class="named-paragraph">Render tail</span><span class="named-paragraph-number">5.4</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_verbatim_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_33" class="named-paragraph-link"><span class="named-paragraph">Render verbatim</span><span class="named-paragraph-number">5.33</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_verbatim_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_34" class="named-paragraph-link"><span class="named-paragraph">Render verbatim</span><span class="named-paragraph-number">5.34</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_section_header_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_2" class="named-paragraph-link"><span class="named-paragraph">Render header</span><span class="named-paragraph-number">5.2</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_section_footer_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_3" class="named-paragraph-link"><span class="named-paragraph">Render footer</span><span class="named-paragraph-number">5.3</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_section_purpose_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_5" class="named-paragraph-link"><span class="named-paragraph">Render purpose</span><span class="named-paragraph-number">5.5</span></a></span>
@ -168,32 +168,33 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_paragraph_heading_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_8" class="named-paragraph-link"><span class="named-paragraph">Render paragraph heading</span><span class="named-paragraph-number">5.8</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_endnote_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_9" class="named-paragraph-link"><span class="named-paragraph">Render endnote</span><span class="named-paragraph-number">5.9</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_figure_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_10" class="named-paragraph-link"><span class="named-paragraph">Render figure</span><span class="named-paragraph-number">5.10</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_audio_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_11" class="named-paragraph-link"><span class="named-paragraph">Render audio clip</span><span class="named-paragraph-number">5.11</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_video_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_12" class="named-paragraph-link"><span class="named-paragraph">Render video clip</span><span class="named-paragraph-number">5.12</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_download_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_13" class="named-paragraph-link"><span class="named-paragraph">Render download</span><span class="named-paragraph-number">5.13</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_material_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14" class="named-paragraph-link"><span class="named-paragraph">Render material</span><span class="named-paragraph-number">5.14</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_embed_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_15" class="named-paragraph-link"><span class="named-paragraph">Render embed</span><span class="named-paragraph-number">5.15</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_pmac_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_16" class="named-paragraph-link"><span class="named-paragraph">Render pmac</span><span class="named-paragraph-number">5.16</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_vskip_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_17" class="named-paragraph-link"><span class="named-paragraph">Render vskip</span><span class="named-paragraph-number">5.17</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_section_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_18" class="named-paragraph-link"><span class="named-paragraph">Render section</span><span class="named-paragraph-number">5.18</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_code_line_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_19" class="named-paragraph-link"><span class="named-paragraph">Render code line</span><span class="named-paragraph-number">5.19</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_function_usage_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_20" class="named-paragraph-link"><span class="named-paragraph">Render function usage</span><span class="named-paragraph-number">5.20</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_commentary_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_21" class="named-paragraph-link"><span class="named-paragraph">Render commentary</span><span class="named-paragraph-number">5.21</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_carousel_slide_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_22" class="named-paragraph-link"><span class="named-paragraph">Render carousel slide</span><span class="named-paragraph-number">5.22</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_toc_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_23" class="named-paragraph-link"><span class="named-paragraph">Render toc</span><span class="named-paragraph-number">5.23</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_toc_line_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_24" class="named-paragraph-link"><span class="named-paragraph">Render toc line</span><span class="named-paragraph-number">5.24</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_defn_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_25" class="named-paragraph-link"><span class="named-paragraph">Render defn</span><span class="named-paragraph-number">5.25</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_source_code_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_26" class="named-paragraph-link"><span class="named-paragraph">Render source code</span><span class="named-paragraph-number">5.26</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_url_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_27" class="named-paragraph-link"><span class="named-paragraph">Render URL</span><span class="named-paragraph-number">5.27</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_footnote_cue_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_28" class="named-paragraph-link"><span class="named-paragraph">Render footnote cue</span><span class="named-paragraph-number">5.28</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_begin_footnote_text_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_29" class="named-paragraph-link"><span class="named-paragraph">Render footnote</span><span class="named-paragraph-number">5.29</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_display_line_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_30" class="named-paragraph-link"><span class="named-paragraph">Render display line</span><span class="named-paragraph-number">5.30</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_function_defn_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_31" class="named-paragraph-link"><span class="named-paragraph">Render function defn</span><span class="named-paragraph-number">5.31</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_item_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_32" class="named-paragraph-link"><span class="named-paragraph">Render item</span><span class="named-paragraph-number">5.32</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_inline_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_34" class="named-paragraph-link"><span class="named-paragraph">Render inline</span><span class="named-paragraph-number">5.34</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_locale_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_35" class="named-paragraph-link"><span class="named-paragraph">Render locale</span><span class="named-paragraph-number">5.35</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_maths_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_36" class="named-paragraph-link"><span class="named-paragraph">Render maths</span><span class="named-paragraph-number">5.36</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_linebreak_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_37" class="named-paragraph-link"><span class="named-paragraph">Render linebreak</span><span class="named-paragraph-number">5.37</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_extract_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_11" class="named-paragraph-link"><span class="named-paragraph">Render extract</span><span class="named-paragraph-number">5.11</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_audio_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_12" class="named-paragraph-link"><span class="named-paragraph">Render audio clip</span><span class="named-paragraph-number">5.12</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_video_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_13" class="named-paragraph-link"><span class="named-paragraph">Render video clip</span><span class="named-paragraph-number">5.13</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_download_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14" class="named-paragraph-link"><span class="named-paragraph">Render download</span><span class="named-paragraph-number">5.14</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_material_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_15" class="named-paragraph-link"><span class="named-paragraph">Render material</span><span class="named-paragraph-number">5.15</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_embed_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_16" class="named-paragraph-link"><span class="named-paragraph">Render embed</span><span class="named-paragraph-number">5.16</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_pmac_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_17" class="named-paragraph-link"><span class="named-paragraph">Render pmac</span><span class="named-paragraph-number">5.17</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_vskip_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_18" class="named-paragraph-link"><span class="named-paragraph">Render vskip</span><span class="named-paragraph-number">5.18</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_section_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_19" class="named-paragraph-link"><span class="named-paragraph">Render section</span><span class="named-paragraph-number">5.19</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_code_line_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_20" class="named-paragraph-link"><span class="named-paragraph">Render code line</span><span class="named-paragraph-number">5.20</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_function_usage_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_21" class="named-paragraph-link"><span class="named-paragraph">Render function usage</span><span class="named-paragraph-number">5.21</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_commentary_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_22" class="named-paragraph-link"><span class="named-paragraph">Render commentary</span><span class="named-paragraph-number">5.22</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_carousel_slide_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_23" class="named-paragraph-link"><span class="named-paragraph">Render carousel slide</span><span class="named-paragraph-number">5.23</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_toc_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_24" class="named-paragraph-link"><span class="named-paragraph">Render toc</span><span class="named-paragraph-number">5.24</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_toc_line_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_25" class="named-paragraph-link"><span class="named-paragraph">Render toc line</span><span class="named-paragraph-number">5.25</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_defn_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_26" class="named-paragraph-link"><span class="named-paragraph">Render defn</span><span class="named-paragraph-number">5.26</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_source_code_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_27" class="named-paragraph-link"><span class="named-paragraph">Render source code</span><span class="named-paragraph-number">5.27</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_url_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_28" class="named-paragraph-link"><span class="named-paragraph">Render URL</span><span class="named-paragraph-number">5.28</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_footnote_cue_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_29" class="named-paragraph-link"><span class="named-paragraph">Render footnote cue</span><span class="named-paragraph-number">5.29</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_begin_footnote_text_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_30" class="named-paragraph-link"><span class="named-paragraph">Render footnote</span><span class="named-paragraph-number">5.30</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_display_line_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_31" class="named-paragraph-link"><span class="named-paragraph">Render display line</span><span class="named-paragraph-number">5.31</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_function_defn_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_32" class="named-paragraph-link"><span class="named-paragraph">Render function defn</span><span class="named-paragraph-number">5.32</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_item_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_33" class="named-paragraph-link"><span class="named-paragraph">Render item</span><span class="named-paragraph-number">5.33</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_inline_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_35" class="named-paragraph-link"><span class="named-paragraph">Render inline</span><span class="named-paragraph-number">5.35</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_locale_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_36" class="named-paragraph-link"><span class="named-paragraph">Render locale</span><span class="named-paragraph-number">5.36</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_maths_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_37" class="named-paragraph-link"><span class="named-paragraph">Render maths</span><span class="named-paragraph-number">5.37</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_linebreak_node_type</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_38" class="named-paragraph-link"><span class="named-paragraph">Render linebreak</span><span class="named-paragraph-number">5.38</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"unable to render unknown node"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
@ -436,7 +437,32 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_11" class="paragraph-anchor"></a><b>&#167;5.11. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render audio clip</span><span class="named-paragraph-number">5.11</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_11" class="paragraph-anchor"></a><b>&#167;5.11. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render extract</span><span class="named-paragraph-number">5.11</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_extract_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RETRIEVE_POINTER_weave_extract_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">content</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-fln.html#SP2" class="function-link"><span class="function-syntax">Filenames::in</span></a><span class="plain-syntax">(</span>
<span class="plain-syntax"> </span><a href="../foundation-module/3-pth.html#SP4" class="function-link"><span class="function-syntax">Pathnames::down</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">wv</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">weave_web</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">md</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">path_to_web</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"HTML"</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">extract</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"inweb-extract\""</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">FILE</span><span class="plain-syntax"> *</span><span class="identifier-syntax">B</span><span class="plain-syntax"> = </span><a href="../foundation-module/6-bf.html#SP8" class="function-link"><span class="function-syntax">BinaryFiles::try_to_open_for_reading</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">B</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="1-pc.html#SP8" class="function-link"><span class="function-syntax">Main::error_in_web</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"Unable to find this HTML extract"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">wv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="constant-syntax">TRUE</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">getc</span><span class="plain-syntax">(</span><span class="identifier-syntax">B</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="identifier-syntax">EOF</span><span class="plain-syntax">) </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PUT</span><span class="plain-syntax">((</span><span class="identifier-syntax">wchar_t</span><span class="plain-syntax">) </span><span class="identifier-syntax">c</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="../foundation-module/6-bf.html#SP8" class="function-link"><span class="function-syntax">BinaryFiles::close</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">B</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_12" class="paragraph-anchor"></a><b>&#167;5.12. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render audio clip</span><span class="named-paragraph-number">5.12</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -455,7 +481,7 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_12" class="paragraph-anchor"></a><b>&#167;5.12. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render video clip</span><span class="named-paragraph-number">5.12</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_13" class="paragraph-anchor"></a><b>&#167;5.13. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render video clip</span><span class="named-paragraph-number">5.13</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -481,7 +507,7 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_13" class="paragraph-anchor"></a><b>&#167;5.13. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render download</span><span class="named-paragraph-number">5.13</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_14" class="paragraph-anchor"></a><b>&#167;5.14. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render download</span><span class="named-paragraph-number">5.14</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -503,7 +529,7 @@ ePub respectively:
<span class="plain-syntax"> </span><a href="../foundation-module/3-pth.html#SP8" class="function-link"><span class="function-syntax">Pathnames::relative_URL</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><a href="../foundation-module/3-fln.html#SP6" class="function-link"><span class="function-syntax">Filenames::up</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">wv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">weave_to</span><span class="plain-syntax">), </span><span class="identifier-syntax">TOP</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><a href="../foundation-module/3-fln.html#SP7" class="function-link"><span class="function-syntax">Filenames::get_leafname</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">N</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-fln.html#SP12" class="function-link"><span class="function-syntax">Filenames::size</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_13_1" class="named-paragraph-link"><span class="named-paragraph">Describe the file size</span><span class="named-paragraph-number">5.13.1</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14_1" class="named-paragraph-link"><span class="named-paragraph">Describe the file size</span><span class="named-paragraph-number">5.14.1</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><a href="1-pc.html#SP8" class="function-link"><span class="function-syntax">Main::error_in_web</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"Download file missing or empty"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">wv</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">current_weave_line</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">D</span><span class="plain-syntax"> = </span><a href="../foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">download_name</span><span class="plain-syntax">);</span>
@ -519,7 +545,7 @@ ePub respectively:
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_13_1" class="paragraph-anchor"></a><b>&#167;5.13.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Describe the file size</span><span class="named-paragraph-number">5.13.1</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_14_1" class="paragraph-anchor"></a><b>&#167;5.14.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Describe the file size</span><span class="named-paragraph-number">5.14.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -536,8 +562,8 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">size</span><span class="plain-syntax">, </span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">unit</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">size</span><span class="plain-syntax">, </span><span class="string-syntax">")"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_13">&#167;5.13</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_14" class="paragraph-anchor"></a><b>&#167;5.14. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render material</span><span class="named-paragraph-number">5.14</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_14">&#167;5.14</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_15" class="paragraph-anchor"></a><b>&#167;5.15. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render material</span><span class="named-paragraph-number">5.15</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -550,17 +576,17 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="identifier-syntax">first_in_para</span><span class="plain-syntax"> = </span><span class="identifier-syntax">PC</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">para</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">material_type</span><span class="plain-syntax"> == </span><span class="constant-syntax">COMMENTARY_MATERIAL</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14_1" class="named-paragraph-link"><span class="named-paragraph">Deal with a commentary material node</span><span class="named-paragraph-number">5.14.1</span></a></span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_15_1" class="named-paragraph-link"><span class="named-paragraph">Deal with a commentary material node</span><span class="named-paragraph-number">5.15.1</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">material_type</span><span class="plain-syntax"> == </span><span class="constant-syntax">CODE_MATERIAL</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14_2" class="named-paragraph-link"><span class="named-paragraph">Deal with a code material node</span><span class="named-paragraph-number">5.14.2</span></a></span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_15_2" class="named-paragraph-link"><span class="named-paragraph">Deal with a code material node</span><span class="named-paragraph-number">5.15.2</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">material_type</span><span class="plain-syntax"> == </span><span class="constant-syntax">FOOTNOTES_MATERIAL</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14_3" class="named-paragraph-link"><span class="named-paragraph">Deal with a footnotes material node</span><span class="named-paragraph-number">5.14.3</span></a></span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_15_3" class="named-paragraph-link"><span class="named-paragraph">Deal with a footnotes material node</span><span class="named-paragraph-number">5.15.3</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">material_type</span><span class="plain-syntax"> == </span><span class="constant-syntax">ENDNOTES_MATERIAL</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14_4" class="named-paragraph-link"><span class="named-paragraph">Deal with a endnotes material node</span><span class="named-paragraph-number">5.14.4</span></a></span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_15_4" class="named-paragraph-link"><span class="named-paragraph">Deal with a endnotes material node</span><span class="named-paragraph-number">5.15.4</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">material_type</span><span class="plain-syntax"> == </span><span class="constant-syntax">MACRO_MATERIAL</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14_5" class="named-paragraph-link"><span class="named-paragraph">Deal with a macro material node</span><span class="named-paragraph-number">5.14.5</span></a></span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_15_5" class="named-paragraph-link"><span class="named-paragraph">Deal with a macro material node</span><span class="named-paragraph-number">5.15.5</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">material_type</span><span class="plain-syntax"> == </span><span class="constant-syntax">DEFINITION_MATERIAL</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14_6" class="named-paragraph-link"><span class="named-paragraph">Deal with a definition material node</span><span class="named-paragraph-number">5.14.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_15_6" class="named-paragraph-link"><span class="named-paragraph">Deal with a definition material node</span><span class="named-paragraph-number">5.15.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
@ -575,8 +601,8 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="identifier-syntax">first_in_para</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_8">&#167;5.8</a>, <a href="5-hf.html#SP5_14_1">&#167;5.14.1</a> (twice), <a href="5-hf.html#SP5_14_2">&#167;5.14.2</a>, <a href="5-hf.html#SP5_14_3">&#167;5.14.3</a>, <a href="5-hf.html#SP5_14_4">&#167;5.14.4</a>, <a href="5-hf.html#SP5_14_6">&#167;5.14.6</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_14_1" class="paragraph-anchor"></a><b>&#167;5.14.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a commentary material node</span><span class="named-paragraph-number">5.14.1</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_8">&#167;5.8</a>, <a href="5-hf.html#SP5_15_1">&#167;5.15.1</a> (twice), <a href="5-hf.html#SP5_15_2">&#167;5.15.2</a>, <a href="5-hf.html#SP5_15_3">&#167;5.15.3</a>, <a href="5-hf.html#SP5_15_4">&#167;5.15.4</a>, <a href="5-hf.html#SP5_15_6">&#167;5.15.6</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_15_1" class="paragraph-anchor"></a><b>&#167;5.15.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a commentary material node</span><span class="named-paragraph-number">5.15.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -590,7 +616,7 @@ ePub respectively:
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP13" class="function-link"><span class="function-syntax">Trees::traverse_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">M</span><span class="plain-syntax">, &amp;</span><a href="5-hf.html#SP5" class="function-link"><span class="function-syntax">HTMLFormat::render_visit</span></a><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">+1);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="5-hf.html#SP6" class="function-link"><span class="function-syntax">HTMLFormat::interior_material</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">M</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_14_1_1" class="named-paragraph-link"><span class="named-paragraph">Render a run of interior matter</span><span class="named-paragraph-number">5.14.1.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="5-hf.html#SP6" class="function-link"><span class="function-syntax">HTMLFormat::interior_material</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">M</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_15_1_1" class="named-paragraph-link"><span class="named-paragraph">Render a run of interior matter</span><span class="named-paragraph-number">5.15.1.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_8_1" class="named-paragraph-link"><span class="named-paragraph">If no para number yet, render a p just to hold this</span><span class="named-paragraph-number">5.8.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">item_depth</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="5-hf.html#SP7" class="function-link"><span class="function-syntax">HTMLFormat::go_to_depth</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">hrs</span><span class="plain-syntax">, </span><span class="identifier-syntax">item_depth</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
@ -604,8 +630,8 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="identifier-syntax">item_depth</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_14">&#167;5.14</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_14_1_1" class="paragraph-anchor"></a><b>&#167;5.14.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render a run of interior matter</span><span class="named-paragraph-number">5.14.1.1</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_15">&#167;5.15</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_15_1_1" class="paragraph-anchor"></a><b>&#167;5.15.1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render a run of interior matter</span><span class="named-paragraph-number">5.15.1.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -624,8 +650,8 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">item_depth</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) { </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">); }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_14_1">&#167;5.14.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_14_2" class="paragraph-anchor"></a><b>&#167;5.14.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a code material node</span><span class="named-paragraph-number">5.14.2</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_15_1">&#167;5.15.1</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_15_2" class="paragraph-anchor"></a><b>&#167;5.15.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a code material node</span><span class="named-paragraph-number">5.15.2</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -653,8 +679,8 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"ul"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_14">&#167;5.14</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_14_3" class="paragraph-anchor"></a><b>&#167;5.14.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a footnotes material node</span><span class="named-paragraph-number">5.14.3</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_15">&#167;5.15</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_15_3" class="paragraph-anchor"></a><b>&#167;5.15.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a footnotes material node</span><span class="named-paragraph-number">5.15.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -663,8 +689,8 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_9_1" class="named-paragraph-link"><span class="named-paragraph">Recurse the renderer through children nodes</span><span class="named-paragraph-number">5.9.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"ul"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_14">&#167;5.14</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_14_4" class="paragraph-anchor"></a><b>&#167;5.14.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a endnotes material node</span><span class="named-paragraph-number">5.14.4</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_15">&#167;5.15</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_15_4" class="paragraph-anchor"></a><b>&#167;5.15.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a endnotes material node</span><span class="named-paragraph-number">5.15.4</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -673,8 +699,8 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_9_1" class="named-paragraph-link"><span class="named-paragraph">Recurse the renderer through children nodes</span><span class="named-paragraph-number">5.9.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"ul"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_14">&#167;5.14</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_14_5" class="paragraph-anchor"></a><b>&#167;5.14.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a macro material node</span><span class="named-paragraph-number">5.14.5</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_15">&#167;5.15</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_15_5" class="paragraph-anchor"></a><b>&#167;5.15.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a macro material node</span><span class="named-paragraph-number">5.15.5</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -687,8 +713,8 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_9_1" class="named-paragraph-link"><span class="named-paragraph">Recurse the renderer through children nodes</span><span class="named-paragraph-number">5.9.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_14">&#167;5.14</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_14_6" class="paragraph-anchor"></a><b>&#167;5.14.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a definition material node</span><span class="named-paragraph-number">5.14.6</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_15">&#167;5.15</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_15_6" class="paragraph-anchor"></a><b>&#167;5.15.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Deal with a definition material node</span><span class="named-paragraph-number">5.15.6</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -697,13 +723,13 @@ ePub respectively:
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_9_1" class="named-paragraph-link"><span class="named-paragraph">Recurse the renderer through children nodes</span><span class="named-paragraph-number">5.9.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"pre"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_14">&#167;5.14</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_15" class="paragraph-anchor"></a><b>&#167;5.15. </b>This has to embed some Internet-sourced content. <span class="extract"><span class="extract-syntax">service</span></span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_15">&#167;5.15</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_16" class="paragraph-anchor"></a><b>&#167;5.16. </b>This has to embed some Internet-sourced content. <span class="extract"><span class="extract-syntax">service</span></span>
here is something like <span class="extract"><span class="extract-syntax">YouTube</span></span> or <span class="extract"><span class="extract-syntax">Soundcloud</span></span>, and <span class="extract"><span class="extract-syntax">ID</span></span> is whatever code
that service uses to identify the video/audio in question.
</p>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render embed</span><span class="named-paragraph-number">5.15</span></span><span class="comment-syntax"> =</span>
<p class="commentary"><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render embed</span><span class="named-paragraph-number">5.16</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -730,7 +756,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_16" class="paragraph-anchor"></a><b>&#167;5.16. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render pmac</span><span class="named-paragraph-number">5.16</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_17" class="paragraph-anchor"></a><b>&#167;5.17. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render pmac</span><span class="named-paragraph-number">5.17</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -759,14 +785,14 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_17" class="paragraph-anchor"></a><b>&#167;5.17. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render vskip</span><span class="named-paragraph-number">5.17</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_18" class="paragraph-anchor"></a><b>&#167;5.18. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render vskip</span><span class="named-paragraph-number">5.18</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_18" class="paragraph-anchor"></a><b>&#167;5.18. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render section</span><span class="named-paragraph-number">5.18</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_19" class="paragraph-anchor"></a><b>&#167;5.19. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render section</span><span class="named-paragraph-number">5.19</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -774,7 +800,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"It was %d\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">allocation_id</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_19" class="paragraph-anchor"></a><b>&#167;5.19. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render code line</span><span class="named-paragraph-number">5.19</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_20" class="paragraph-anchor"></a><b>&#167;5.20. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render code line</span><span class="named-paragraph-number">5.20</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -783,7 +809,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_20" class="paragraph-anchor"></a><b>&#167;5.20. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render function usage</span><span class="named-paragraph-number">5.20</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_21" class="paragraph-anchor"></a><b>&#167;5.21. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render function usage</span><span class="named-paragraph-number">5.21</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -795,7 +821,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><a href="../foundation-module/5-htm.html#SP17" class="function-link"><span class="function-syntax">HTML::end_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_21" class="paragraph-anchor"></a><b>&#167;5.21. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render commentary</span><span class="named-paragraph-number">5.21</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_22" class="paragraph-anchor"></a><b>&#167;5.22. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render commentary</span><span class="named-paragraph-number">5.22</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -819,7 +845,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">in_code</span><span class="plain-syntax">) </span><a href="5-hf.html#SP9" class="function-link"><span class="function-syntax">HTMLFormat::change_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">colours</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_22" class="paragraph-anchor"></a><b>&#167;5.22. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render carousel slide</span><span class="named-paragraph-number">5.22</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_23" class="paragraph-anchor"></a><b>&#167;5.23. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render carousel slide</span><span class="named-paragraph-number">5.23</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -854,7 +880,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" style=\"display: none;\""</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&gt;\n"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">caption_command</span><span class="plain-syntax"> == </span><span class="constant-syntax">CAROUSEL_ABOVE_CMD</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_22_1" class="named-paragraph-link"><span class="named-paragraph">Place caption here</span><span class="named-paragraph-number">5.22.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_23_1" class="named-paragraph-link"><span class="named-paragraph">Place caption here</span><span class="named-paragraph-number">5.23.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;div class=\"%S\"&gt;%d / %d&lt;/div&gt;\n"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">slide_count_class</span><span class="plain-syntax">, </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">slide_number</span><span class="plain-syntax">, </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">slide_of</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
@ -864,7 +890,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;div class=\"carousel-content\"&gt;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_9_1" class="named-paragraph-link"><span class="named-paragraph">Recurse the renderer through children nodes</span><span class="named-paragraph-number">5.9.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;/div&gt;\n"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">caption_command</span><span class="plain-syntax"> != </span><span class="constant-syntax">CAROUSEL_ABOVE_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_22_1" class="named-paragraph-link"><span class="named-paragraph">Place caption here</span><span class="named-paragraph-number">5.22.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">caption_command</span><span class="plain-syntax"> != </span><span class="constant-syntax">CAROUSEL_ABOVE_CMD</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="5-hf.html#SP5_23_1" class="named-paragraph-link"><span class="named-paragraph">Place caption here</span><span class="named-paragraph-number">5.23.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;/div&gt;\n"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">slide_number</span><span class="plain-syntax"> == </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">slide_of</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;a class=\"carousel-prev-button\" "</span><span class="plain-syntax">);</span>
@ -896,15 +922,15 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_22_1" class="paragraph-anchor"></a><b>&#167;5.22.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Place caption here</span><span class="named-paragraph-number">5.22.1</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_23_1" class="paragraph-anchor"></a><b>&#167;5.23.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Place caption here</span><span class="named-paragraph-number">5.23.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">caption_command</span><span class="plain-syntax"> != </span><span class="constant-syntax">CAROUSEL_UNCAPTIONED_CMD</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;div class=\"%S\"&gt;%S&lt;/div&gt;\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">caption_class</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">caption</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_22">&#167;5.22</a> (twice).</li></ul>
<p class="commentary firstcommentary"><a id="SP5_23" class="paragraph-anchor"></a><b>&#167;5.23. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render toc</span><span class="named-paragraph-number">5.23</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_23">&#167;5.23</a> (twice).</li></ul>
<p class="commentary firstcommentary"><a id="SP5_24" class="paragraph-anchor"></a><b>&#167;5.24. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render toc</span><span class="named-paragraph-number">5.24</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -920,7 +946,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_24" class="paragraph-anchor"></a><b>&#167;5.24. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render toc line</span><span class="named-paragraph-number">5.24</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_25" class="paragraph-anchor"></a><b>&#167;5.25. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render toc line</span><span class="named-paragraph-number">5.25</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -935,7 +961,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><a href="../foundation-module/5-htm.html#SP17" class="function-link"><span class="function-syntax">HTML::end_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_25" class="paragraph-anchor"></a><b>&#167;5.25. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render defn</span><span class="named-paragraph-number">5.25</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_26" class="paragraph-anchor"></a><b>&#167;5.26. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render defn</span><span class="named-paragraph-number">5.26</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -946,7 +972,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" "</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_26" class="paragraph-anchor"></a><b>&#167;5.26. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render source code</span><span class="named-paragraph-number">5.26</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_27" class="paragraph-anchor"></a><b>&#167;5.27. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render source code</span><span class="named-paragraph-number">5.27</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -969,7 +995,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">current_colour</span><span class="plain-syntax"> &gt;= </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><a href="5-hf.html#SP9" class="function-link"><span class="function-syntax">HTMLFormat::change_colour</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, -1, </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">colours</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_27" class="paragraph-anchor"></a><b>&#167;5.27. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render URL</span><span class="named-paragraph-number">5.27</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_28" class="paragraph-anchor"></a><b>&#167;5.28. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render URL</span><span class="named-paragraph-number">5.28</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -979,7 +1005,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><a href="../foundation-module/5-htm.html#SP17" class="function-link"><span class="function-syntax">HTML::end_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_28" class="paragraph-anchor"></a><b>&#167;5.28. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render footnote cue</span><span class="named-paragraph-number">5.28</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_29" class="paragraph-anchor"></a><b>&#167;5.29. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render footnote cue</span><span class="named-paragraph-number">5.29</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -997,7 +1023,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cue_text</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cue_text</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cue_text</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_29" class="paragraph-anchor"></a><b>&#167;5.29. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render footnote</span><span class="named-paragraph-number">5.29</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_30" class="paragraph-anchor"></a><b>&#167;5.30. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render footnote</span><span class="named-paragraph-number">5.30</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1022,7 +1048,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_30" class="paragraph-anchor"></a><b>&#167;5.30. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render display line</span><span class="named-paragraph-number">5.30</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_31" class="paragraph-anchor"></a><b>&#167;5.31. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render display line</span><span class="named-paragraph-number">5.31</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1035,7 +1061,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="constant-syntax">OUTDENT</span><span class="plain-syntax">; </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"blockquote"</span><span class="plain-syntax">); </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_31" class="paragraph-anchor"></a><b>&#167;5.31. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render function defn</span><span class="named-paragraph-number">5.31</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_32" class="paragraph-anchor"></a><b>&#167;5.32. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render function defn</span><span class="named-paragraph-number">5.32</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1070,7 +1096,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_32" class="paragraph-anchor"></a><b>&#167;5.32. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render item</span><span class="named-paragraph-number">5.32</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_33" class="paragraph-anchor"></a><b>&#167;5.33. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render item</span><span class="named-paragraph-number">5.33</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1080,7 +1106,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" "</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_33" class="paragraph-anchor"></a><b>&#167;5.33. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render verbatim</span><span class="named-paragraph-number">5.33</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_34" class="paragraph-anchor"></a><b>&#167;5.34. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render verbatim</span><span class="named-paragraph-number">5.34</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1088,7 +1114,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">content</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_34" class="paragraph-anchor"></a><b>&#167;5.34. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render inline</span><span class="named-paragraph-number">5.34</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_35" class="paragraph-anchor"></a><b>&#167;5.35. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render inline</span><span class="named-paragraph-number">5.35</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1098,7 +1124,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_35" class="paragraph-anchor"></a><b>&#167;5.35. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render locale</span><span class="named-paragraph-number">5.35</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_36" class="paragraph-anchor"></a><b>&#167;5.36. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render locale</span><span class="named-paragraph-number">5.36</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1114,7 +1140,7 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><a href="../foundation-module/5-htm.html#SP17" class="function-link"><span class="function-syntax">HTML::end_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_36" class="paragraph-anchor"></a><b>&#167;5.36. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render maths</span><span class="named-paragraph-number">5.36</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_37" class="paragraph-anchor"></a><b>&#167;5.37. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render maths</span><span class="named-paragraph-number">5.37</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1133,14 +1159,14 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_37" class="paragraph-anchor"></a><b>&#167;5.37. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render linebreak</span><span class="named-paragraph-number">5.37</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_38" class="paragraph-anchor"></a><b>&#167;5.38. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render linebreak</span><span class="named-paragraph-number">5.38</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;br/&gt;"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5">&#167;5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP5_38" class="paragraph-anchor"></a><b>&#167;5.38. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render nothing</span><span class="named-paragraph-number">5.38</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP5_39" class="paragraph-anchor"></a><b>&#167;5.39. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Render nothing</span><span class="named-paragraph-number">5.39</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -1154,13 +1180,13 @@ that service uses to identify the video/audio in question.
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">M</span><span class="plain-syntax"> = </span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">child</span><span class="plain-syntax">; </span><span class="identifier-syntax">M</span><span class="plain-syntax">; </span><span class="identifier-syntax">M</span><span class="plain-syntax"> = </span><span class="identifier-syntax">M</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP13" class="function-link"><span class="function-syntax">Trees::traverse_from</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">M</span><span class="plain-syntax">, &amp;</span><a href="5-hf.html#SP5" class="function-link"><span class="function-syntax">HTMLFormat::render_visit</span></a><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">+1);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_9">&#167;5.9</a>, <a href="5-hf.html#SP5_14_2">&#167;5.14.2</a>, <a href="5-hf.html#SP5_14_3">&#167;5.14.3</a>, <a href="5-hf.html#SP5_14_4">&#167;5.14.4</a>, <a href="5-hf.html#SP5_14_5">&#167;5.14.5</a>, <a href="5-hf.html#SP5_14_6">&#167;5.14.6</a>, <a href="5-hf.html#SP5_19">&#167;5.19</a>, <a href="5-hf.html#SP5_22">&#167;5.22</a>, <a href="5-hf.html#SP5_29">&#167;5.29</a>, <a href="5-hf.html#SP5_31">&#167;5.31</a>, <a href="5-hf.html#SP5_34">&#167;5.34</a>.</li></ul>
<ul class="endnotetexts"><li>This code is used in <a href="5-hf.html#SP5_9">&#167;5.9</a>, <a href="5-hf.html#SP5_15_2">&#167;5.15.2</a>, <a href="5-hf.html#SP5_15_3">&#167;5.15.3</a>, <a href="5-hf.html#SP5_15_4">&#167;5.15.4</a>, <a href="5-hf.html#SP5_15_5">&#167;5.15.5</a>, <a href="5-hf.html#SP5_15_6">&#167;5.15.6</a>, <a href="5-hf.html#SP5_20">&#167;5.20</a>, <a href="5-hf.html#SP5_23">&#167;5.23</a>, <a href="5-hf.html#SP5_30">&#167;5.30</a>, <a href="5-hf.html#SP5_32">&#167;5.32</a>, <a href="5-hf.html#SP5_35">&#167;5.35</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>&#167;6. </b>These are the nodes falling under a commentary material node which we will
amalgamate into a single HTML paragraph:
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::interior_material</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::interior_material</span></span>:<br/><a href="5-hf.html#SP5_14_1">&#167;5.14.1</a>, <a href="5-hf.html#SP5_14_1_1">&#167;5.14.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::interior_material</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::interior_material</span></span>:<br/><a href="5-hf.html#SP5_15_1">&#167;5.15.1</a>, <a href="5-hf.html#SP5_15_1_1">&#167;5.15.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_commentary_node_type</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_url_node_type</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">weave_inline_node_type</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
@ -1175,7 +1201,7 @@ which is itself inside a list entry"; and so on.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::go_to_depth</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::go_to_depth</span></span>:<br/><a href="5-hf.html#SP5_14_1">&#167;5.14.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">HTML_render_state</span><span class="plain-syntax"> *</span><span class="identifier-syntax">hrs</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">from_depth</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">to_depth</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::go_to_depth</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::go_to_depth</span></span>:<br/><a href="5-hf.html#SP5_15_1">&#167;5.15.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">HTML_render_state</span><span class="plain-syntax"> *</span><span class="identifier-syntax">hrs</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">from_depth</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">to_depth</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = </span><span class="identifier-syntax">hrs</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">OUT</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">from_depth</span><span class="plain-syntax"> == </span><span class="identifier-syntax">to_depth</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"li"</span><span class="plain-syntax">);</span>
@ -1195,7 +1221,7 @@ which is itself inside a list entry"; and so on.
<p class="commentary firstcommentary"><a id="SP8" class="paragraph-anchor"></a><b>&#167;8. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::paragraph_number</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::paragraph_number</span></span>:<br/><a href="5-hf.html#SP5_8_1">&#167;5.8.1</a>, <a href="5-hf.html#SP5_14_1_1">&#167;5.14.1.1</a>, <a href="5-hf.html#SP5_14_5">&#167;5.14.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::paragraph_number</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::paragraph_number</span></span>:<br/><a href="5-hf.html#SP5_8_1">&#167;5.8.1</a>, <a href="5-hf.html#SP5_15_1_1">&#167;5.15.1.1</a>, <a href="5-hf.html#SP5_15_5">&#167;5.15.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="6-cln.html#SP11" class="function-link"><span class="function-syntax">Colonies::paragraph_anchor</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../foundation-module/5-htm.html#SP17" class="function-link"><span class="function-syntax">HTML::anchor_with_class</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">TEMP</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"paragraph-anchor"</span><span class="plain-syntax">);</span>
@ -1212,7 +1238,7 @@ which is itself inside a list entry"; and so on.
<p class="commentary firstcommentary"><a id="SP9" class="paragraph-anchor"></a><b>&#167;9. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::change_colour</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::change_colour</span></span>:<br/><a href="5-hf.html#SP5_16">&#167;5.16</a>, <a href="5-hf.html#SP5_20">&#167;5.20</a>, <a href="5-hf.html#SP5_21">&#167;5.21</a>, <a href="5-hf.html#SP5_26">&#167;5.26</a>, <a href="5-hf.html#SP5_31">&#167;5.31</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">col</span><span class="plain-syntax">, </span><span class="reserved-syntax">colour_scheme</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cs</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::change_colour</span><button class="popup" onclick="togglePopup('usagePopup9')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup9">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::change_colour</span></span>:<br/><a href="5-hf.html#SP5_17">&#167;5.17</a>, <a href="5-hf.html#SP5_21">&#167;5.21</a>, <a href="5-hf.html#SP5_22">&#167;5.22</a>, <a href="5-hf.html#SP5_27">&#167;5.27</a>, <a href="5-hf.html#SP5_32">&#167;5.32</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">col</span><span class="plain-syntax">, </span><span class="reserved-syntax">colour_scheme</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cs</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">col</span><span class="plain-syntax"> == -1) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
@ -1238,7 +1264,7 @@ which is itself inside a list entry"; and so on.
<p class="commentary firstcommentary"><a id="SP10" class="paragraph-anchor"></a><b>&#167;10. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::escape_text</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::escape_text</span></span>:<br/><a href="5-hf.html#SP5_5">&#167;5.5</a>, <a href="5-hf.html#SP5_6">&#167;5.6</a>, <a href="5-hf.html#SP5_14_2">&#167;5.14.2</a>, <a href="5-hf.html#SP5_16">&#167;5.16</a>, <a href="5-hf.html#SP5_30">&#167;5.30</a>, <a href="5-hf.html#SP5_36">&#167;5.36</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">id</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">HTMLFormat::escape_text</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">HTMLFormat::escape_text</span></span>:<br/><a href="5-hf.html#SP5_5">&#167;5.5</a>, <a href="5-hf.html#SP5_6">&#167;5.6</a>, <a href="5-hf.html#SP5_15_2">&#167;5.15.2</a>, <a href="5-hf.html#SP5_17">&#167;5.17</a>, <a href="5-hf.html#SP5_31">&#167;5.31</a>, <a href="5-hf.html#SP5_37">&#167;5.37</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">id</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax"> &lt; </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">); </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) == </span><span class="character-syntax">'&amp;'</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;amp;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) == </span><span class="character-syntax">'&lt;'</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&amp;lt;"</span><span class="plain-syntax">);</span>

View file

@ -182,7 +182,7 @@ To do this, the weaver calls the following.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TeXUtilities::remove_math_mode</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">TeXUtilities::remove_math_mode</span></span>:<br/>HTML Formats - <a href="5-hf.html#SP5_36">&#167;5.36</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">TeXUtilities::remove_math_mode</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">TeXUtilities::remove_math_mode</span></span>:<br/>HTML Formats - <a href="5-hf.html#SP5_37">&#167;5.37</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">math_matter</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="5-tu.html#SP7" class="function-link"><span class="function-syntax">TeXUtilities::remove_math_mode_range</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">math_matter</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">text</span><span class="plain-syntax">)-1);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">math_matter</span><span class="plain-syntax">);</span>

View file

@ -131,6 +131,11 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="constant-syntax">CLASS_DEFINITION</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">weave_figure_node</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">weave_extract_node</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">extract</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="constant-syntax">CLASS_DEFINITION</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">weave_extract_node</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">typedef</span><span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">weave_audio_node</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">struct</span><span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">audio_name</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">w</span><span class="plain-syntax">;</span>
@ -294,7 +299,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="constant-syntax">CLASS_DEFINITION</span>
<span class="plain-syntax">} </span><span class="reserved-syntax">weave_verbatim_node</span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>The structure weave_document_node is accessed in 3/tc, 3/twot, 5/fm, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_head_node is accessed in 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_body_node is private to this section.</li><li>The structure weave_tail_node is accessed in 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_chapter_header_node is accessed in 5/ptf, 5/tf, 5/df and here.</li><li>The structure weave_chapter_footer_node is accessed in 5/ptf, 5/tf, 5/df and here.</li><li>The structure weave_section_header_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_section_footer_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_section_purpose_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_subheading_node is accessed in 1/pc, 2/lc, 2/tp, 2/pn, 3/ta, 3/tw, 3/tt, 4/as, 4/cl, 4/is, 5/ptf, 5/tf, 5/hf, 5/df, 6/cs and here.</li><li>The structure weave_bar_node is private to this section.</li><li>The structure weave_pagebreak_node is private to this section.</li><li>The structure weave_linebreak_node is private to this section.</li><li>The structure weave_paragraph_heading_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_endnote_node is private to this section.</li><li>The structure weave_figure_node is accessed in 1/fm, 1/pp, 1/wp, 8/ws, 4/cl, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_audio_node is accessed in 8/ws, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_video_node is accessed in 1/fm, 1/pp, 1/wp, 8/ws, 4/cl, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_download_node is accessed in 5/hf, 5/df and here.</li><li>The structure weave_material_node is accessed in 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_embed_node is accessed in 1/fm, 1/pp, 1/wp, 8/ws, 4/cl, 5/ptf, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_pmac_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_vskip_node is accessed in 5/tf, 5/df and here.</li><li>The structure weave_chapter_node is accessed in 5/ptf, 5/tf, 5/df and here.</li><li>The structure weave_section_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_code_line_node is private to this section.</li><li>The structure weave_function_usage_node is accessed in 1/wp, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_commentary_node is accessed in 1/pc, 2/lc, 2/tp, 2/pn, 3/ta, 3/tw, 3/tt, 4/as, 4/cl, 4/is, 5/ptf, 5/tf, 5/hf, 5/df, 6/cs and here.</li><li>The structure weave_carousel_slide_node is accessed in 2/tgs, 5/hf, 5/df and here.</li><li>The structure weave_toc_node is accessed in 5/tf, 5/df and here.</li><li>The structure weave_toc_line_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_chapter_title_page_node is private to this section.</li><li>The structure weave_defn_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_inline_node is private to this section.</li><li>The structure weave_locale_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_source_code_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_url_node is accessed in 2/trs, 3/twot, 5/fm, 5/ptf, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_footnote_cue_node is accessed in 2/tp, 3/tw, 3/twot, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_begin_footnote_text_node is accessed in 2/tp, 3/tw, 3/twot, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_display_line_node is accessed in 1/pc, 2/lc, 2/tp, 2/pn, 3/ta, 3/tw, 3/tt, 4/as, 4/cl, 4/is, 5/ptf, 5/tf, 5/hf, 5/df, 6/cs and here.</li><li>The structure weave_function_defn_node is accessed in 1/wp, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_item_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_grammar_index_node is private to this section.</li><li>The structure weave_maths_node is accessed in 2/trs, 3/twot, 5/fm, 5/ptf, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_verbatim_node is accessed in 2/trs, 3/twot, 5/fm, 5/ptf, 5/tf, 5/hf, 5/df, 6/rw and here.</li></ul>
<ul class="endnotetexts"><li>The structure weave_document_node is accessed in 3/tc, 3/twot, 5/fm, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_head_node is accessed in 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_body_node is private to this section.</li><li>The structure weave_tail_node is accessed in 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_chapter_header_node is accessed in 5/ptf, 5/tf, 5/df and here.</li><li>The structure weave_chapter_footer_node is accessed in 5/ptf, 5/tf, 5/df and here.</li><li>The structure weave_section_header_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_section_footer_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_section_purpose_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_subheading_node is accessed in 1/pc, 2/lc, 2/tp, 2/pn, 3/ta, 3/tw, 3/tt, 4/as, 4/cl, 4/is, 5/ptf, 5/tf, 5/hf, 5/df, 6/cs and here.</li><li>The structure weave_bar_node is private to this section.</li><li>The structure weave_pagebreak_node is private to this section.</li><li>The structure weave_linebreak_node is private to this section.</li><li>The structure weave_paragraph_heading_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_endnote_node is private to this section.</li><li>The structure weave_figure_node is accessed in 1/fm, 1/pp, 1/wp, 8/ws, 4/cl, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_extract_node is accessed in 5/hf and here.</li><li>The structure weave_audio_node is accessed in 8/ws, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_video_node is accessed in 1/fm, 1/pp, 1/wp, 8/ws, 4/cl, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_download_node is accessed in 5/hf, 5/df and here.</li><li>The structure weave_material_node is accessed in 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_embed_node is accessed in 1/fm, 1/pp, 1/wp, 8/ws, 4/cl, 5/ptf, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_pmac_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_vskip_node is accessed in 5/tf, 5/df and here.</li><li>The structure weave_chapter_node is accessed in 5/ptf, 5/tf, 5/df and here.</li><li>The structure weave_section_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_code_line_node is private to this section.</li><li>The structure weave_function_usage_node is accessed in 1/wp, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_commentary_node is accessed in 1/pc, 2/lc, 2/tp, 2/pn, 3/ta, 3/tw, 3/tt, 4/as, 4/cl, 4/is, 5/ptf, 5/tf, 5/hf, 5/df, 6/cs and here.</li><li>The structure weave_carousel_slide_node is accessed in 2/tgs, 5/hf, 5/df and here.</li><li>The structure weave_toc_node is accessed in 5/tf, 5/df and here.</li><li>The structure weave_toc_line_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_chapter_title_page_node is private to this section.</li><li>The structure weave_defn_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_inline_node is private to this section.</li><li>The structure weave_locale_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_source_code_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_url_node is accessed in 2/trs, 3/twot, 5/fm, 5/ptf, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_footnote_cue_node is accessed in 2/tp, 3/tw, 3/twot, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_begin_footnote_text_node is accessed in 2/tp, 3/tw, 3/twot, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_display_line_node is accessed in 1/pc, 2/lc, 2/tp, 2/pn, 3/ta, 3/tw, 3/tt, 4/as, 4/cl, 4/is, 5/ptf, 5/tf, 5/hf, 5/df, 6/cs and here.</li><li>The structure weave_function_defn_node is accessed in 1/wp, 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_item_node is accessed in 5/ptf, 5/tf, 5/hf, 5/df and here.</li><li>The structure weave_grammar_index_node is private to this section.</li><li>The structure weave_maths_node is accessed in 2/trs, 3/twot, 5/fm, 5/ptf, 5/tf, 5/hf, 5/df, 6/rw and here.</li><li>The structure weave_verbatim_node is accessed in 2/trs, 3/twot, 5/fm, 5/ptf, 5/tf, 5/hf, 5/df, 6/rw and here.</li></ul>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b></p>
<pre class="displayed-code all-displayed-code code-font">
@ -316,6 +321,7 @@ function togglePopup(material_id) {
<span class="reserved-syntax">tree_node_type</span><span class="plain-syntax"> *</span><span class="identifier-syntax">weave_paragraph_heading_node_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">tree_node_type</span><span class="plain-syntax"> *</span><span class="identifier-syntax">weave_endnote_node_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">tree_node_type</span><span class="plain-syntax"> *</span><span class="identifier-syntax">weave_figure_node_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">tree_node_type</span><span class="plain-syntax"> *</span><span class="identifier-syntax">weave_extract_node_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">tree_node_type</span><span class="plain-syntax"> *</span><span class="identifier-syntax">weave_audio_node_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">tree_node_type</span><span class="plain-syntax"> *</span><span class="identifier-syntax">weave_video_node_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">tree_node_type</span><span class="plain-syntax"> *</span><span class="identifier-syntax">weave_download_node_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
@ -381,6 +387,8 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP9" class="function-link"><span class="function-syntax">Trees::new_node_type</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"endnote"</span><span class="plain-syntax">, </span><span class="constant-syntax">weave_endnote_node_CLASS</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">weave_figure_node_type</span><span class="plain-syntax"> =</span>
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP9" class="function-link"><span class="function-syntax">Trees::new_node_type</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"figure"</span><span class="plain-syntax">, </span><span class="constant-syntax">weave_figure_node_CLASS</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">weave_extract_node_type</span><span class="plain-syntax"> =</span>
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP9" class="function-link"><span class="function-syntax">Trees::new_node_type</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"extract"</span><span class="plain-syntax">, </span><span class="constant-syntax">weave_extract_node_CLASS</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">weave_audio_node_type</span><span class="plain-syntax"> =</span>
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP9" class="function-link"><span class="function-syntax">Trees::new_node_type</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">I</span><span class="string-syntax">"audio"</span><span class="plain-syntax">, </span><span class="constant-syntax">weave_audio_node_CLASS</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">weave_video_node_type</span><span class="plain-syntax"> =</span>
@ -570,7 +578,15 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="identifier-syntax">STORE_POINTER_weave_figure_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::audio</span><button class="popup" onclick="togglePopup('usagePopup19')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup19">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::audio</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_2">&#167;2.7.2.4.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::raw_extract</span><button class="popup" onclick="togglePopup('usagePopup19')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup19">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::raw_extract</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_2">&#167;2.7.2.4.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">extract</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_extract_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_extract_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">extract</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">extract</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_extract_node_type</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">STORE_POINTER_weave_extract_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::audio</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::audio</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_3">&#167;2.7.2.4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">audio_name</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">w</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_audio_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_audio_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">audio_name</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">audio_name</span><span class="plain-syntax">);</span>
@ -579,7 +595,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="identifier-syntax">STORE_POINTER_weave_audio_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::video</span><button class="popup" onclick="togglePopup('usagePopup20')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup20">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::video</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_3">&#167;2.7.2.4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::video</span><button class="popup" onclick="togglePopup('usagePopup21')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup21">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::video</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_4">&#167;2.7.2.4.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">video_name</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">w</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">h</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_video_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_video_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">video_name</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">video_name</span><span class="plain-syntax">);</span>
@ -588,7 +604,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="identifier-syntax">STORE_POINTER_weave_video_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::download</span><button class="popup" onclick="togglePopup('usagePopup21')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup21">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::download</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_4">&#167;2.7.2.4.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::download</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::download</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_5">&#167;2.7.2.4.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">download_name</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">filetype</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_download_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_download_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">download_name</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">download_name</span><span class="plain-syntax">);</span>
@ -597,7 +613,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="identifier-syntax">STORE_POINTER_weave_download_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::material</span><button class="popup" onclick="togglePopup('usagePopup22')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup22">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::material</span></span>:<br/>The Weaver - <a href="3-tw.html#SP5">&#167;5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">material_type</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">plainly</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::material</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::material</span></span>:<br/>The Weaver - <a href="3-tw.html#SP5">&#167;5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">material_type</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">plainly</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">programming_language</span><span class="plain-syntax"> *</span><span class="identifier-syntax">styling</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">endnote</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_material_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_material_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">material_type</span><span class="plain-syntax"> = </span><span class="identifier-syntax">material_type</span><span class="plain-syntax">;</span>
@ -607,7 +623,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_material_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_material_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::embed</span><button class="popup" onclick="togglePopup('usagePopup23')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup23">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::embed</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_5">&#167;2.7.2.4.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::embed</span><button class="popup" onclick="togglePopup('usagePopup24')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup24">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::embed</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_6">&#167;2.7.2.4.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">service</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ID</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">w</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">h</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_embed_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_embed_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">service</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">service</span><span class="plain-syntax">);</span>
@ -623,7 +639,7 @@ thing is to render some sort of equals sign after it, if so.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::pmac</span><button class="popup" onclick="togglePopup('usagePopup24')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup24">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::pmac</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_2_6">&#167;2.7.2.3.2.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">para_macro</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pmac</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">defn</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::pmac</span><button class="popup" onclick="togglePopup('usagePopup25')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup25">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::pmac</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_2_6">&#167;2.7.2.3.2.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">para_macro</span><span class="plain-syntax"> *</span><span class="identifier-syntax">pmac</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">defn</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_pmac_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_pmac_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">pmac</span><span class="plain-syntax"> = </span><span class="identifier-syntax">pmac</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">defn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">defn</span><span class="plain-syntax">;</span>
@ -636,24 +652,24 @@ information.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::vskip</span><button class="popup" onclick="togglePopup('usagePopup25')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup25">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::vskip</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_2">&#167;2.7.2.3.1.2</a>, <a href="3-tw.html#SP2_7_2_3_2_2">&#167;2.7.2.3.2.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_comment</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::vskip</span><button class="popup" onclick="togglePopup('usagePopup26')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup26">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::vskip</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_2">&#167;2.7.2.3.1.2</a>, <a href="3-tw.html#SP2_7_2_3_2_2">&#167;2.7.2.3.2.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_comment</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_vskip_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_vskip_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">in_comment</span><span class="plain-syntax"> = </span><span class="identifier-syntax">in_comment</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_vskip_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_vskip_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::section</span><button class="popup" onclick="togglePopup('usagePopup26')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup26">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::section</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_3">&#167;2.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sect</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::section</span><button class="popup" onclick="togglePopup('usagePopup27')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup27">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::section</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_3">&#167;2.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sect</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_section_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_section_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">sect</span><span class="plain-syntax"> = </span><span class="identifier-syntax">sect</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_section_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_section_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::code_line</span><button class="popup" onclick="togglePopup('usagePopup27')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup27">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::code_line</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_4">&#167;2.7.2.3.1.4</a>, <a href="3-tw.html#SP2_7_2_3_2">&#167;2.7.2.3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::code_line</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::code_line</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_4">&#167;2.7.2.3.1.4</a>, <a href="3-tw.html#SP2_7_2_3_2">&#167;2.7.2.3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_code_line_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_code_line_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_code_line_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_code_line_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::function_usage</span><button class="popup" onclick="togglePopup('usagePopup28')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup28">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::function_usage</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP4_3">&#167;4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::function_usage</span><button class="popup" onclick="togglePopup('usagePopup29')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup29">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::function_usage</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP4_3">&#167;4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_function_usage_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_function_usage_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">url</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
@ -661,27 +677,27 @@ information.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_function_usage_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_function_usage_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::commentary</span><button class="popup" onclick="togglePopup('usagePopup29')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup29">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::commentary</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::commentary</span><button class="popup" onclick="togglePopup('usagePopup30')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup30">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::commentary</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_commentary_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_commentary_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">in_code</span><span class="plain-syntax"> = </span><span class="identifier-syntax">in_code</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_commentary_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_commentary_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::carousel_slide</span><button class="popup" onclick="togglePopup('usagePopup30')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup30">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::carousel_slide</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_6">&#167;2.7.2.4.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">caption</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::carousel_slide</span><button class="popup" onclick="togglePopup('usagePopup31')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup31">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::carousel_slide</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4_7">&#167;2.7.2.4.7</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">caption</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_carousel_slide_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_carousel_slide_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">caption</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">caption</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">caption_command</span><span class="plain-syntax"> = </span><span class="identifier-syntax">c</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_carousel_slide_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_carousel_slide_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::table_of_contents</span><button class="popup" onclick="togglePopup('usagePopup31')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup31">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::table_of_contents</span></span>:<br/>The Weaver - <a href="3-tw.html#SP6">&#167;6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text1</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::table_of_contents</span><button class="popup" onclick="togglePopup('usagePopup32')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup32">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::table_of_contents</span></span>:<br/>The Weaver - <a href="3-tw.html#SP6">&#167;6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text1</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_toc_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_toc_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text1</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">text1</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_toc_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_toc_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::contents_line</span><button class="popup" onclick="togglePopup('usagePopup32')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup32">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::contents_line</span></span>:<br/>The Weaver - <a href="3-tw.html#SP6">&#167;6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::contents_line</span><button class="popup" onclick="togglePopup('usagePopup33')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup33">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::contents_line</span></span>:<br/>The Weaver - <a href="3-tw.html#SP6">&#167;6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text1</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text2</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_toc_line_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_toc_line_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text1</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">text1</span><span class="plain-syntax">);</span>
@ -695,7 +711,7 @@ information.
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_chapter_title_page_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_chapter_title_page_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::weave_defn_node</span><button class="popup" onclick="togglePopup('usagePopup33')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup33">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::weave_defn_node</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_2">&#167;2.7.2.3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">keyword</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::weave_defn_node</span><button class="popup" onclick="togglePopup('usagePopup34')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup34">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::weave_defn_node</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_2">&#167;2.7.2.3.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">keyword</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_defn_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_defn_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">keyword</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">keyword</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_defn_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_defn_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
@ -714,7 +730,7 @@ spaces sufficient to reach the next tab-stop position, calculated as:
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">SPACES_PER_TAB_IN_WOVEN_CODE</span><span class="plain-syntax"> </span><span class="constant-syntax">4</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::source_code</span><button class="popup" onclick="togglePopup('usagePopup34')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup34">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::source_code</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">&#167;3</a>, <a href="3-twot.html#SP5">&#167;5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::source_code</span><button class="popup" onclick="togglePopup('usagePopup35')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup35">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::source_code</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">&#167;3</a>, <a href="3-twot.html#SP5">&#167;5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">matter</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">colouring</span><span class="plain-syntax">) != </span><a href="../foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">matter</span><span class="plain-syntax">)) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"bad source segment"</span><span class="plain-syntax">);</span>
@ -746,7 +762,7 @@ spaces sufficient to reach the next tab-stop position, calculated as:
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_source_code_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_source_code_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::url</span><button class="popup" onclick="togglePopup('usagePopup35')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup35">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::url</span></span>:<br/>The Weaver - <a href="3-tw.html#SP3_1">&#167;3.1</a><br/>The Weaver of Text - <a href="3-twot.html#SP1_2">&#167;1.2</a>, <a href="3-twot.html#SP1_5_1">&#167;1.5.1</a>, <a href="3-twot.html#SP4_1">&#167;4.1</a>, <a href="3-twot.html#SP4_2_1">&#167;4.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::url</span><button class="popup" onclick="togglePopup('usagePopup36')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup36">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::url</span></span>:<br/>The Weaver - <a href="3-tw.html#SP3_1">&#167;3.1</a><br/>The Weaver of Text - <a href="3-twot.html#SP1_2">&#167;1.2</a>, <a href="3-twot.html#SP1_5_1">&#167;1.5.1</a>, <a href="3-twot.html#SP4_1">&#167;4.1</a>, <a href="3-twot.html#SP4_2_1">&#167;4.2.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">url</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">external</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_url_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_url_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">url</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>
@ -755,13 +771,13 @@ spaces sufficient to reach the next tab-stop position, calculated as:
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_url_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_url_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::footnote_cue</span><button class="popup" onclick="togglePopup('usagePopup36')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup36">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::footnote_cue</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP1_4">&#167;1.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cue</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::footnote_cue</span><button class="popup" onclick="togglePopup('usagePopup37')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup37">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::footnote_cue</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP1_4">&#167;1.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cue</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_footnote_cue_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_footnote_cue_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cue_text</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cue</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_footnote_cue_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_footnote_cue_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::footnote</span><button class="popup" onclick="togglePopup('usagePopup37')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup37">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::footnote</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_5">&#167;2.7.2.3.1.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cue</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::footnote</span><button class="popup" onclick="togglePopup('usagePopup38')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup38">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::footnote</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_5">&#167;2.7.2.3.1.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cue</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_begin_footnote_text_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_begin_footnote_text_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cue_text</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cue</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_begin_footnote_text_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_begin_footnote_text_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
@ -772,7 +788,7 @@ definition has just occurred.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::function_defn</span><button class="popup" onclick="togglePopup('usagePopup38')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup38">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::function_defn</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP4_3">&#167;4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::function_defn</span><button class="popup" onclick="togglePopup('usagePopup39')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup39">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::function_defn</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP4_3">&#167;4.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">language_function</span><span class="plain-syntax"> *</span><span class="identifier-syntax">fn</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_function_defn_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_function_defn_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">fn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">fn</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_function_defn_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_function_defn_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
@ -783,7 +799,7 @@ a convenience for Inform 7 code commentary.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::display_line</span><button class="popup" onclick="togglePopup('usagePopup39')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup39">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::display_line</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_1">&#167;2.7.2.3.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::display_line</span><button class="popup" onclick="togglePopup('usagePopup40')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup40">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::display_line</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_1">&#167;2.7.2.3.1.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_display_line_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_display_line_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">text</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">text</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_display_line_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_display_line_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
@ -804,31 +820,31 @@ indentation but not weave any bracketed marker.
</li><li>(b) This was produced by <span class="extract"><span class="extract-syntax">depth</span></span> equal to 1, <span class="extract"><span class="extract-syntax">label</span></span> equal to <span class="extract"><span class="extract-syntax">b</span></span>.
</li></ul>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::weave_item_node</span><button class="popup" onclick="togglePopup('usagePopup40')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup40">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::weave_item_node</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_3">&#167;2.7.2.3.1.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">label</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::weave_item_node</span><button class="popup" onclick="togglePopup('usagePopup41')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup41">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::weave_item_node</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_3_1_3">&#167;2.7.2.3.1.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">depth</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">label</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_item_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_item_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">depth</span><span class="plain-syntax"> = </span><span class="identifier-syntax">depth</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">label</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">label</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_item_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_item_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::grammar_index</span><button class="popup" onclick="togglePopup('usagePopup41')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup41">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::grammar_index</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4">&#167;2.7.2.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::grammar_index</span><button class="popup" onclick="togglePopup('usagePopup42')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup42">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::grammar_index</span></span>:<br/>The Weaver - <a href="3-tw.html#SP2_7_2_4">&#167;2.7.2.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_grammar_index_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_grammar_index_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_grammar_index_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_grammar_index_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::inline</span><button class="popup" onclick="togglePopup('usagePopup42')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup42">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::inline</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::inline</span><button class="popup" onclick="togglePopup('usagePopup43')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup43">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::inline</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP3">&#167;3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_inline_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_inline_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_inline_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_inline_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::locale</span><button class="popup" onclick="togglePopup('usagePopup43')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup43">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::locale</span></span>:<br/>The Weaver - <a href="3-tw.html#SP3_2">&#167;3.2</a>, <a href="3-tw.html#SP4_1">&#167;4.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">par1</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">par2</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::locale</span><button class="popup" onclick="togglePopup('usagePopup44')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup44">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::locale</span></span>:<br/>The Weaver - <a href="3-tw.html#SP3_2">&#167;3.2</a>, <a href="3-tw.html#SP4_1">&#167;4.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">par1</span><span class="plain-syntax">, </span><span class="reserved-syntax">paragraph</span><span class="plain-syntax"> *</span><span class="identifier-syntax">par2</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_locale_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_locale_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">par1</span><span class="plain-syntax"> = </span><span class="identifier-syntax">par1</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">par2</span><span class="plain-syntax"> = </span><span class="identifier-syntax">par2</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP4" class="function-link"><span class="function-syntax">Trees::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="identifier-syntax">weave_locale_node_type</span><span class="plain-syntax">, </span><span class="identifier-syntax">STORE_POINTER_weave_locale_node</span><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::mathematics</span><button class="popup" onclick="togglePopup('usagePopup44')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup44">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::mathematics</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP1_3">&#167;1.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">displayed</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">tree_node</span><span class="plain-syntax"> *</span><span class="function-syntax">WeaveTree::mathematics</span><button class="popup" onclick="togglePopup('usagePopup45')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup45">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::mathematics</span></span>:<br/>The Weaver of Text - <a href="3-twot.html#SP1_3">&#167;1.3</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tree</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">content</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">displayed</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">weave_maths_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">CREATE</span><span class="plain-syntax">(</span><span class="reserved-syntax">weave_maths_node</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">content</span><span class="plain-syntax"> = </span><a href="../foundation-module/4-sm.html#SP3" class="function-link"><span class="function-syntax">Str::duplicate</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">content</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">displayed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">displayed</span><span class="plain-syntax">;</span>
@ -842,7 +858,7 @@ indentation but not weave any bracketed marker.
<span class="plain-syntax"> </span><span class="constant-syntax">OUTDENT</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">WeaveTree::prune</span><button class="popup" onclick="togglePopup('usagePopup45')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup45">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::prune</span></span>:<br/>The Weaver - <a href="3-tw.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">WeaveTree::prune</span><button class="popup" onclick="togglePopup('usagePopup46')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup46">Usage of <span class="code-font"><span class="function-syntax">WeaveTree::prune</span></span>:<br/>The Weaver - <a href="3-tw.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">heterogeneous_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="../foundation-module/2-trs.html#SP14" class="function-link"><span class="function-syntax">Trees::prune_tree</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">T</span><span class="plain-syntax">, &amp;</span><a href="5-wt.html#SP8" class="function-link"><span class="function-syntax">WeaveTree::prune_visit</span></a><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>

View file

@ -664,7 +664,7 @@ the main one.
<span class="string-syntax"> else PUT(Str::get(pos));</span>
<span class="string-syntax">}</span>
</pre>
<ul class="endnotetexts"><li>The function Colonies::reference_URL is used in The Collater (<a href="3-tc.html#SP5_1_11_6_1">&#167;5.1.11.6.1</a>, <a href="3-tc.html#SP5_1_11_12">&#167;5.1.11.12</a>, <a href="3-tc.html#SP5_1_11_15">&#167;5.1.11.15</a>).</li><li>The function Colonies::section_URL is used in <a href="6-cln.html#SP10_6_1">&#167;10.6.1</a>, <a href="6-cln.html#SP10_6_2">&#167;10.6.2</a>, The Collater (<a href="3-tc.html#SP5_1_11_8_1">&#167;5.1.11.8.1</a>), HTML Formats (<a href="5-hf.html#SP5_3">&#167;5.3</a>, <a href="5-hf.html#SP5_3_1">&#167;5.3.1</a>, <a href="5-hf.html#SP5_3_2">&#167;5.3.2</a>).</li><li>The function Colonies::paragraph_URL is used in <a href="6-cln.html#SP10_4">&#167;10.4</a>, <a href="6-cln.html#SP10_5">&#167;10.5</a>, The Weaver of Text (<a href="3-twot.html#SP4_3">&#167;4.3</a>), HTML Formats (<a href="5-hf.html#SP5_16">&#167;5.16</a>, <a href="5-hf.html#SP5_24">&#167;5.24</a>, <a href="5-hf.html#SP5_35">&#167;5.35</a>).</li><li>The function Colonies::paragraph_anchor is used in HTML Formats (<a href="5-hf.html#SP8">&#167;8</a>).</li></ul>
<ul class="endnotetexts"><li>The function Colonies::reference_URL is used in The Collater (<a href="3-tc.html#SP5_1_11_6_1">&#167;5.1.11.6.1</a>, <a href="3-tc.html#SP5_1_11_12">&#167;5.1.11.12</a>, <a href="3-tc.html#SP5_1_11_15">&#167;5.1.11.15</a>).</li><li>The function Colonies::section_URL is used in <a href="6-cln.html#SP10_6_1">&#167;10.6.1</a>, <a href="6-cln.html#SP10_6_2">&#167;10.6.2</a>, The Collater (<a href="3-tc.html#SP5_1_11_8_1">&#167;5.1.11.8.1</a>), HTML Formats (<a href="5-hf.html#SP5_3">&#167;5.3</a>, <a href="5-hf.html#SP5_3_1">&#167;5.3.1</a>, <a href="5-hf.html#SP5_3_2">&#167;5.3.2</a>).</li><li>The function Colonies::paragraph_URL is used in <a href="6-cln.html#SP10_4">&#167;10.4</a>, <a href="6-cln.html#SP10_5">&#167;10.5</a>, The Weaver of Text (<a href="3-twot.html#SP4_3">&#167;4.3</a>), HTML Formats (<a href="5-hf.html#SP5_17">&#167;5.17</a>, <a href="5-hf.html#SP5_25">&#167;5.25</a>, <a href="5-hf.html#SP5_36">&#167;5.36</a>).</li><li>The function Colonies::paragraph_anchor is used in HTML Formats (<a href="5-hf.html#SP8">&#167;8</a>).</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="6-rw.html">&#10094;</a></li><li class="progresschapter"><a href="M-iti.html">M</a></li><li class="progresschapter"><a href="P-htpw.html">P</a></li><li class="progresschapter"><a href="1-bsc.html">1</a></li><li class="progresschapter"><a href="2-tr.html">2</a></li><li class="progresschapter"><a href="3-ta.html">3</a></li><li class="progresschapter"><a href="4-pl.html">4</a></li><li class="progresschapter"><a href="5-wt.html">5</a></li><li class="progresscurrentchapter">6</li><li class="progresssection"><a href="6-mkf.html">mkf</a></li><li class="progresssection"><a href="6-gs.html">gs</a></li><li class="progresssection"><a href="6-cs.html">cs</a></li><li class="progresssection"><a href="6-rw.html">rw</a></li><li class="progresscurrent">cln</li><li class="progressnextoff">&#10095;</li></ul></div>
</nav><!--End of weave-->

View file

@ -65,7 +65,7 @@ MathJax = {
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="index.html">inweb</a></li><li><a href="index.html#M">Manual</a></li><li><b>How to Write a Web</b></li></ul></div>
<p class="purpose">How to mark up code for literate programming.</p>
<ul class="toc"><li><a href="M-htwaw.html#SP1">&#167;1. The title of a section</a></li><li><a href="M-htwaw.html#SP2">&#167;2. Paragraphing</a></li><li><a href="M-htwaw.html#SP6">&#167;6. Conditional compilation</a></li><li><a href="M-htwaw.html#SP7">&#167;7. Commentary</a></li><li><a href="M-htwaw.html#SP12">&#167;12. Code samples and other extraneous matter</a></li><li><a href="M-htwaw.html#SP13">&#167;13. Extract files</a></li><li><a href="M-htwaw.html#SP14">&#167;14. Links</a></li><li><a href="M-htwaw.html#SP15">&#167;15. Cross-references</a></li><li><a href="M-htwaw.html#SP20">&#167;20. Figures</a></li><li><a href="M-htwaw.html#SP21">&#167;21. Carousels</a></li><li><a href="M-htwaw.html#SP22">&#167;22. Video and audio</a></li><li><a href="M-htwaw.html#SP23">&#167;23. Embedded video and audio</a></li><li><a href="M-htwaw.html#SP25">&#167;25. Downloads</a></li><li><a href="M-htwaw.html#SP26">&#167;26. Mathematics notation</a></li><li><a href="M-htwaw.html#SP27">&#167;27. Footnotes</a></li></ul><hr class="tocbar">
<ul class="toc"><li><a href="M-htwaw.html#SP1">&#167;1. The title of a section</a></li><li><a href="M-htwaw.html#SP2">&#167;2. Paragraphing</a></li><li><a href="M-htwaw.html#SP6">&#167;6. Conditional compilation</a></li><li><a href="M-htwaw.html#SP7">&#167;7. Commentary</a></li><li><a href="M-htwaw.html#SP12">&#167;12. Code samples and other extraneous matter</a></li><li><a href="M-htwaw.html#SP13">&#167;13. Extract files</a></li><li><a href="M-htwaw.html#SP14">&#167;14. Links</a></li><li><a href="M-htwaw.html#SP15">&#167;15. Cross-references</a></li><li><a href="M-htwaw.html#SP20">&#167;20. Figures</a></li><li><a href="M-htwaw.html#SP21">&#167;21. Carousels</a></li><li><a href="M-htwaw.html#SP22">&#167;22. Video and audio</a></li><li><a href="M-htwaw.html#SP23">&#167;23. Embedded video and audio</a></li><li><a href="M-htwaw.html#SP25">&#167;25. Downloads</a></li><li><a href="M-htwaw.html#SP26">&#167;26. Raw HTML snippets</a></li><li><a href="M-htwaw.html#SP27">&#167;27. Mathematics notation</a></li><li><a href="M-htwaw.html#SP28">&#167;28. Footnotes</a></li></ul><hr class="tocbar">
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. The title of a section. </b>In any section file, there will be a few lines at the top which occur before
the first paragraph of code begins. (The first paragraph begins on the first
@ -965,7 +965,17 @@ subdirectory of the web. The explanatory text &mdash; usually just an indication
of what sort of file this is &mdash; is optional.
</p>
<p class="commentary firstcommentary"><a id="SP26" class="paragraph-anchor"></a><b>&#167;26. Mathematics notation. </b>Literate programming is a good technique to justify code which hangs on
<p class="commentary firstcommentary"><a id="SP26" class="paragraph-anchor"></a><b>&#167;26. Raw HTML snippets. </b>Finally, it's possible to include a chunk of raw HTML code, though of course
this will only be viewable if the web is being woven to HTML.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> = (html fireworks.html)</span>
</pre>
<p class="commentary">incorporates the contents of the file from the subdirectory <span class="extract"><span class="extract-syntax">HTML</span></span> of the web.
</p>
<p class="commentary firstcommentary"><a id="SP27" class="paragraph-anchor"></a><b>&#167;27. Mathematics notation. </b>Literate programming is a good technique to justify code which hangs on
unobvious pieces of mathematics or computer science, and which must therefore
be explained carefully. Formulae or equations are a real convenience for that.
</p>
@ -1004,7 +1014,7 @@ changed. The defaults are:
treat it as any other text would be treated.
</p>
<p class="commentary firstcommentary"><a id="SP27" class="paragraph-anchor"></a><b>&#167;27. Footnotes. </b>Not everyone likes footnotes,<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> but sometimes they're a tidy way to make
<p class="commentary firstcommentary"><a id="SP28" class="paragraph-anchor"></a><b>&#167;28. Footnotes. </b>Not everyone likes footnotes,<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> but sometimes they're a tidy way to make
references.<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup>
</p>
@ -1013,7 +1023,7 @@ University Press, 1999).
<a href="#fnref:1" title="return to text"> &#x21A9;</a></p></li><li class="footnote" id="fn:2"><p class="inwebfootnote"><sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup> For example, to cite Donald Knuth, "Evaluation of Porter's constant",
Computers &amp; Mathematics with Applications, 2, 137-39 (1976).
<a href="#fnref:2" title="return to text"> &#x21A9;</a></p></li></ul>
<p class="commentary firstcommentary"><a id="SP28" class="paragraph-anchor"></a><b>&#167;28. </b>The content of that sentence was typed as follows:
<p class="commentary firstcommentary"><a id="SP29" class="paragraph-anchor"></a><b>&#167;29. </b>The content of that sentence was typed as follows:
</p>
<pre class="displayed-code all-displayed-code code-font">

View file

@ -117,14 +117,10 @@ the debugging log.
@ At present |MEMORY_GRANULARITY| is 800K. This is the quantity of memory
allocated by each individual |malloc| call.
After |MAX_BLOCKS_ALLOWED| blocks, we throw in the towel: we must have
fallen into an endless loop which creates endless new objects somewhere.
(If this ever happens, it would be a bug: the point of this mechanism is to
be able to recover. Without this safety measure, OS X in particular would
grind slowly to a halt, never refusing a |malloc|, until the user was
unable to get the GUI responsive enough to kill the process.)
As of the early 2020s, typical Inform projects need around 500 blocks to be
allocated, for around 400 MB of memory in all; the largest known take us into
the low 10000s of blocks, for more like 8 to 10 GB. But the latter are very rare.
@d MAX_BLOCKS_ALLOWED 15000
@d MEMORY_GRANULARITY 100*1024*8 /* which must be divisible by 1024 */
=
@ -174,15 +170,10 @@ void Memory::allocate_another_block(void) {
pointer types as far as the C compiler is concerned.
@<Allocate and zero out a block of memory, making cp point to it@> =
int i;
if (no_blocks_allocated++ >= MAX_BLOCKS_ALLOWED)
Errors::fatal(
"the memory manager has halted inweb, which seems to be generating "
"endless structures. Presumably it is trapped in a loop");
Memory::check_memory_integrity();
cp = (unsigned char *) (Memory::paranoid_calloc(MEMORY_GRANULARITY, 1));
if (cp == NULL) Errors::fatal("Run out of memory: malloc failed");
for (i=0; i<MEMORY_GRANULARITY; i++) cp[i] = 0;
for (int i=0; i<MEMORY_GRANULARITY; i++) cp[i] = 0;
@ As can be seen, memory block numbers count upwards from 0 in order of
their allocation.