1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-05-19 09:28:51 +03:00

Adapted indoc slightly for documentation on new website

This commit is contained in:
Graham Nelson 2019-06-26 09:05:27 +01:00
parent f2993826b2
commit 04aef17c9f
22 changed files with 103 additions and 44 deletions

1
.gitignore vendored
View file

@ -27,4 +27,5 @@ retrospective/*/*.o
retrospective/makefile
inform7/*-test/Tests/Test Cases/_Results_Actual/
rsync.log

View file

@ -610,6 +610,17 @@
<span class="identifier">ptype</span><span class="plain">, (</span><span class="identifier">inter_t</span><span class="plain">) </span><span class="identifier">assimilated_actions</span><span class="plain">-&gt;</span><span class="identifier">cp_indent</span><span class="plain"> + 2, </span><span class="identifier">NULL</span><span class="plain">, &amp;</span><span class="identifier">housing_package</span><span class="plain">));</span>
<span class="identifier">Inter::Defn::set_current_package</span><span class="plain">(</span><span class="identifier">assimilated_actions</span><span class="plain">, </span><span class="identifier">housing_package</span><span class="plain">);</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">asymb</span><span class="plain"> = </span><span class="functiontext">CodeGen::Assimilate::maybe_extern</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">value</span><span class="plain">, </span><span class="identifier">Inter::Packages::scope</span><span class="plain">(</span><span class="identifier">housing_package</span><span class="plain">));</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Well, it's $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">asymb</span><span class="plain">);</span>
<span class="identifier">TEMPORARY_TEXT</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">);</span>
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">, </span><span class="string">"%SSub"</span><span class="plain">, </span><span class="identifier">value</span><span class="plain">);</span>
<span class="identifier">Str::delete_first_character</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">);</span>
<span class="identifier">Str::delete_first_character</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">);</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">txsymb</span><span class="plain"> = </span><span class="functiontext">CodeGen::Link::find_name</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">unsharped</span><span class="plain">, </span><span class="identifier">TRUE</span><span class="plain">);</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Found $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">txsymb</span><span class="plain">);</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">xsymb</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::create_with_unique_name</span><span class="plain">(</span><span class="identifier">Inter::Packages::scope</span><span class="plain">(</span><span class="identifier">housing_package</span><span class="plain">), </span><span class="identifier">unsharped</span><span class="plain">);</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Made $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">xsymb</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">txsymb</span><span class="plain">) </span><span class="identifier">Inter::SymbolsTables::equate</span><span class="plain">(</span><span class="identifier">xsymb</span><span class="plain">, </span><span class="identifier">txsymb</span><span class="plain">);</span>
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">unsharped</span><span class="plain">);</span>
<span class="functiontext">CodeGen::Link::guard</span><span class="plain">(</span><span class="identifier">Inter::Constant::new_numerical</span><span class="plain">(</span><span class="identifier">assimilated_actions</span><span class="plain">,</span>
<span class="identifier">Inter::SymbolsTables::id_from_symbol</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">assimilated_actions</span><span class="plain">-&gt;</span><span class="identifier">current_package</span><span class="plain">, </span><span class="identifier">asymb</span><span class="plain">),</span>
<span class="identifier">Inter::SymbolsTables::id_from_symbol</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">assimilated_actions</span><span class="plain">-&gt;</span><span class="identifier">current_package</span><span class="plain">, </span><span class="identifier">action_kind_symbol</span><span class="plain">),</span>

View file

@ -46,7 +46,12 @@
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">symb</span><span class="plain"> = </span><span class="identifier">tab</span><span class="plain">-&gt;</span><span class="identifier">symbol_array</span><span class="plain">[</span><span class="identifier">i</span><span class="plain">];</span>
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">symb</span><span class="plain">) &amp;&amp; (</span><span class="identifier">symb</span><span class="plain">-&gt;</span><span class="identifier">equated_to</span><span class="plain">)) {</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">to</span><span class="plain"> = </span><span class="identifier">symb</span><span class="plain">-&gt;</span><span class="identifier">equated_to</span><span class="plain">;</span>
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">to</span><span class="plain">-&gt;</span><span class="identifier">owning_table</span><span class="plain">-&gt;</span><span class="identifier">owning_package</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">);</span>
<span class="identifier">inter_package</span><span class="plain"> *</span><span class="identifier">needed</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">cb</span><span class="plain"> = </span><span class="identifier">Inter::Constant::code_block</span><span class="plain">(</span><span class="identifier">to</span><span class="plain">);</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"To $3 cb $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">, </span><span class="identifier">cb</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">cb</span><span class="plain">) </span><span class="identifier">needed</span><span class="plain"> = </span><span class="identifier">Inter::Package::which</span><span class="plain">(</span><span class="identifier">cb</span><span class="plain">);</span>
<span class="reserved">else</span><span class="plain"> </span><span class="identifier">needed</span><span class="plain"> = </span><span class="identifier">to</span><span class="plain">-&gt;</span><span class="identifier">owning_table</span><span class="plain">-&gt;</span><span class="identifier">owning_package</span><span class="plain">;</span>
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">needed</span><span class="plain">, </span><span class="identifier">to</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="plain">}</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">ptype</span><span class="plain"> = </span><span class="identifier">Inter::Packages::type</span><span class="plain">(</span><span class="identifier">pack</span><span class="plain">);</span>
@ -60,6 +65,11 @@
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">ptype</span><span class="plain">) &amp;&amp; (</span><span class="identifier">Str::eq</span><span class="plain">(</span><span class="identifier">ptype</span><span class="plain">-&gt;</span><span class="identifier">symbol_name</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_to_phrase"</span><span class="plain">))) {</span>
<span class="reserved">for</span><span class="plain"> (</span><span class="identifier">inter_package</span><span class="plain"> *</span><span class="identifier">P</span><span class="plain"> = </span><span class="identifier">pack</span><span class="plain">-&gt;</span><span class="identifier">child_package</span><span class="plain">; </span><span class="identifier">P</span><span class="plain">; </span><span class="identifier">P</span><span class="plain"> = </span><span class="identifier">P</span><span class="plain">-&gt;</span><span class="identifier">next_package</span><span class="plain">) {</span>
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="plain">}</span>
<span class="plain">}</span>
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">notes_made</span><span class="plain"> = 0, </span><span class="identifier">log_elims</span><span class="plain"> = </span><span class="identifier">FALSE</span><span class="plain">;</span>
@ -87,6 +97,8 @@
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">ptype</span><span class="plain">) &amp;&amp; (</span><span class="identifier">Str::eq</span><span class="plain">(</span><span class="identifier">ptype</span><span class="plain">-&gt;</span><span class="identifier">symbol_name</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_command"</span><span class="plain">))) {</span>
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">which</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Str::eq</span><span class="plain">(</span><span class="identifier">package_name</span><span class="plain">-&gt;</span><span class="identifier">symbol_name</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"SL_Score_Moves_B"</span><span class="plain">))</span>
<span class="functiontext">CodeGen::Eliminate::require</span><span class="plain">(</span><span class="identifier">which</span><span class="plain">, </span><span class="identifier">NULL</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="plain">}</span>
<span class="plain">}</span>
@ -94,10 +106,18 @@
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">P</span><span class="plain">.</span><span class="identifier">data</span><span class="plain">[</span><span class="identifier">ID_IFLD</span><span class="plain">] == </span><span class="identifier">PACKAGE_IST</span><span class="plain">) {</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">package_name</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::symbol_from_frame_data</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">DEFN_PACKAGE_IFLD</span><span class="plain">);</span>
<span class="identifier">inter_package</span><span class="plain"> *</span><span class="identifier">which</span><span class="plain"> = </span><span class="identifier">Inter::Package::which</span><span class="plain">(</span><span class="identifier">package_name</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">which</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">which</span><span class="plain">-&gt;</span><span class="identifier">package_flags</span><span class="plain"> &amp; </span><span class="identifier">USED_PACKAGE_FLAG</span><span class="plain">) == 0) {</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Not used: $6\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">which</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">which</span><span class="plain">) &amp;&amp; ((</span><span class="identifier">which</span><span class="plain">-&gt;</span><span class="identifier">package_flags</span><span class="plain"> &amp; </span><span class="identifier">USED_PACKAGE_FLAG</span><span class="plain">) == 0)) {</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Not used: $6\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">which</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">P</span><span class="plain">.</span><span class="identifier">data</span><span class="plain">[</span><span class="identifier">ID_IFLD</span><span class="plain">] == </span><span class="identifier">VARIABLE_IST</span><span class="plain">) {</span>
<span class="identifier">inter_package</span><span class="plain"> *</span><span class="identifier">outer</span><span class="plain"> = </span><span class="identifier">Inter::Packages::container</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">outer</span><span class="plain">) &amp;&amp; (</span><span class="functiontext">CodeGen::Eliminate::gone</span><span class="plain">(</span><span class="identifier">outer</span><span class="plain">-&gt;</span><span class="identifier">package_name</span><span class="plain">))) {</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">var_name</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::symbol_from_frame_data</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">DEFN_VAR_IFLD</span><span class="plain">);</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Striking variable $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">var_name</span><span class="plain">);</span>
<span class="identifier">Inter::Symbols::strike_definition</span><span class="plain">(</span><span class="identifier">var_name</span><span class="plain">);</span>
<span class="identifier">Inter::Symbols::remove_from_table</span><span class="plain">(</span><span class="identifier">var_name</span><span class="plain">);</span>
<span class="reserved">continue</span><span class="plain">;</span>
<span class="plain">}</span>
<span class="plain">}</span>
<span class="plain">}</span>
@ -109,22 +129,6 @@
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">TRUE</span><span class="plain">;</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">FALSE</span><span class="plain">;</span>
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">CodeGen::Eliminate::keep</span><span class="plain">(</span><span class="identifier">inter_repository</span><span class="plain"> *</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">text_stream</span><span class="plain"> *</span><span class="identifier">N</span><span class="plain">) {</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::symbol_from_name_in_main_or_basics</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">N</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">S</span><span class="plain">) </span><span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="identifier">S</span><span class="plain">, </span><span class="identifier">USED_MARK_BIT</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">CodeGen::Eliminate::note</span><span class="plain">(</span><span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain">, </span><span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">T</span><span class="plain">, </span><span class="reserved">void</span><span class="plain"> *</span><span class="identifier">state</span><span class="plain">) {</span>
<span class="identifier">inter_repository</span><span class="plain"> *</span><span class="identifier">I</span><span class="plain"> = (</span><span class="identifier">inter_repository</span><span class="plain"> *) </span><span class="identifier">state</span><span class="plain">;</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">Tdash</span><span class="plain"> = </span><span class="identifier">Inter::SymbolsTables::symbol_from_name_in_main_or_basics</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">, </span><span class="identifier">T</span><span class="plain">-&gt;</span><span class="identifier">symbol_name</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Tdash</span><span class="plain">) {</span>
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="identifier">Tdash</span><span class="plain">, </span><span class="identifier">USED_MARK_BIT</span><span class="plain">);</span>
<span class="plain">} </span><span class="reserved">else</span><span class="plain"> {</span>
<span class="identifier">Inter::Symbols::set_flag</span><span class="plain">(</span><span class="identifier">T</span><span class="plain">, </span><span class="identifier">USED_MARK_BIT</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="identifier">notes_made</span><span class="plain">++;</span>
<span class="plain">}</span>
</pre>
<p class="inwebparagraph"></p>
@ -133,11 +137,7 @@
<p class="endnote">The function CodeGen::Eliminate::go is used in <a href="#SP1">&#167;1</a>.</p>
<p class="endnote">The function CodeGen::Eliminate::gone is used in 4/cg (<a href="4-cg.html#SP4">&#167;4</a>).</p>
<p class="endnote">The function CodeGen::Eliminate::keep appears nowhere else.</p>
<p class="endnote">The function CodeGen::Eliminate::note appears nowhere else.</p>
<p class="endnote">The function CodeGen::Eliminate::gone is used in 4/cg (<a href="4-cg.html#SP2">&#167;2</a>, <a href="4-cg.html#SP4">&#167;4</a>).</p>
<hr class="tocbar">
<ul class="toc"><li><a href="2-rv.html">Back to 'Reconcile Verbs'</a></li><li><a href="2-erl.html">Continue with 'Eliminate Redundant Labels'</a></li></ul><hr class="tocbar">

View file

@ -112,6 +112,13 @@
<span class="reserved">case</span><span class="plain"> </span><span class="identifier">CONSTANT_IST</span><span class="plain">: {</span>
<span class="identifier">inter_symbol</span><span class="plain"> *</span><span class="identifier">con_name</span><span class="plain"> =</span>
<span class="identifier">Inter::SymbolsTables::symbol_from_frame_data</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">, </span><span class="identifier">DEFN_CONST_IFLD</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">outer</span><span class="plain">) &amp;&amp; (</span><span class="functiontext">CodeGen::Eliminate::gone</span><span class="plain">(</span><span class="identifier">outer</span><span class="plain">-&gt;</span><span class="identifier">package_name</span><span class="plain">)) &amp;&amp; (</span><span class="identifier">Inter::Constant::code_block</span><span class="plain">(</span><span class="identifier">con_name</span><span class="plain">) == </span><span class="identifier">NULL</span><span class="plain">)) {</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Yeah, so reject $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">outer</span><span class="plain">-&gt;</span><span class="identifier">package_name</span><span class="plain">);</span>
<span class="reserved">continue</span><span class="plain">;</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Inter::Symbols::read_annotation</span><span class="plain">(</span><span class="identifier">con_name</span><span class="plain">, </span><span class="identifier">OBJECT_IANN</span><span class="plain">) == 1) </span><span class="reserved">break</span><span class="plain">;</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">Inter::Packages::container</span><span class="plain">(</span><span class="identifier">P</span><span class="plain">) == </span><span class="identifier">Inter::Packages::main</span><span class="plain">(</span><span class="identifier">I</span><span class="plain">)) {</span>
<span class="identifier">WRITE_TO</span><span class="plain">(</span><span class="identifier">STDERR</span><span class="plain">, </span><span class="string">"Bad constant: %S\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">con_name</span><span class="plain">-&gt;</span><span class="identifier">symbol_name</span><span class="plain">);</span>
@ -148,6 +155,10 @@
&lt;<span class="cwebmacro">Property knowledge</span> <span class="cwebmacronumber">2.1</span>&gt;<span class="plain">;</span>
<span class="reserved">break</span><span class="plain">;</span>
<span class="reserved">case</span><span class="plain"> </span><span class="identifier">VARIABLE_IST</span><span class="plain">:</span>
<span class="reserved">if</span><span class="plain"> ((</span><span class="identifier">outer</span><span class="plain">) &amp;&amp; (</span><span class="functiontext">CodeGen::Eliminate::gone</span><span class="plain">(</span><span class="identifier">outer</span><span class="plain">-&gt;</span><span class="identifier">package_name</span><span class="plain">))) {</span>
<span class="identifier">LOG</span><span class="plain">(</span><span class="string">"Yeah, so reject $3\</span><span class="plain">n</span><span class="string">"</span><span class="plain">, </span><span class="identifier">outer</span><span class="plain">-&gt;</span><span class="identifier">package_name</span><span class="plain">);</span>
<span class="reserved">continue</span><span class="plain">;</span>
<span class="plain">}</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">variables_written</span><span class="plain"> == </span><span class="identifier">FALSE</span><span class="plain">) {</span>
<span class="identifier">variables_written</span><span class="plain"> = </span><span class="identifier">TRUE</span><span class="plain">;</span>
<span class="functiontext">CodeGen::Var::knowledge</span><span class="plain">(</span><span class="identifier">TO</span><span class="plain">, </span><span class="identifier">I</span><span class="plain">);</span>

View file

@ -97,7 +97,7 @@ following fields set.
<p class="endnote">The function HierarchyLocations::local_submodule is used in 27/hr (<a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_10">&#167;1.10</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_16">&#167;1.16</a>, <a href="27-hr.html#SP1_18">&#167;1.18</a>, <a href="27-hr.html#SP1_22">&#167;1.22</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_26">&#167;1.26</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_32">&#167;1.32</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>, <a href="27-hr.html#SP1_44">&#167;1.44</a>, <a href="27-hr.html#SP1_46">&#167;1.46</a>).</p>
<p class="endnote">The function HierarchyLocations::generic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">&#167;1.2</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_16">&#167;1.16</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>).</p>
<p class="endnote">The function HierarchyLocations::generic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">&#167;1.2</a>, <a href="27-hr.html#SP1_16">&#167;1.16</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>).</p>
<p class="endnote">The function HierarchyLocations::synoptic_submodule is used in 27/hr (<a href="27-hr.html#SP1_2">&#167;1.2</a>, <a href="27-hr.html#SP1_6">&#167;1.6</a>, <a href="27-hr.html#SP1_8">&#167;1.8</a>, <a href="27-hr.html#SP1_12">&#167;1.12</a>, <a href="27-hr.html#SP1_14">&#167;1.14</a>, <a href="27-hr.html#SP1_20">&#167;1.20</a>, <a href="27-hr.html#SP1_24">&#167;1.24</a>, <a href="27-hr.html#SP1_28">&#167;1.28</a>, <a href="27-hr.html#SP1_30">&#167;1.30</a>, <a href="27-hr.html#SP1_34">&#167;1.34</a>, <a href="27-hr.html#SP1_36">&#167;1.36</a>, <a href="27-hr.html#SP1_38">&#167;1.38</a>, <a href="27-hr.html#SP1_40">&#167;1.40</a>, <a href="27-hr.html#SP1_42">&#167;1.42</a>, <a href="27-hr.html#SP1_44">&#167;1.44</a>).</p>

View file

@ -154,7 +154,6 @@
<pre class="definitions">
<span class="definitionkeyword">enum</span> <span class="constant">MISTAKEACTION_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">ACTIONS_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">ACTION_NAME_HMD</span>
<span class="definitionkeyword">enum</span> <span class="constant">ACTION_BASE_NAME_HL</span>
@ -172,6 +171,9 @@
<span class="definitionkeyword">enum</span> <span class="constant">AD_RECORDS_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">CCOUNT_ACTION_NAME_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">DB_ACTION_DETAILS_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">SACTIONS_HAP</span>
<span class="definitionkeyword">enum</span> <span class="constant">MISTAKEACTIONPACKAGE_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">MISTAKEACTION_HL</span>
<span class="definitionkeyword">enum</span> <span class="constant">MISTAKEACTIONSUB_HL</span>
</pre>
<p class="inwebparagraph"><a id="SP1_6"></a><b>&#167;1.6. </b><code class="display">
@ -182,9 +184,6 @@
<pre class="displaydefn">
<span class="reserved">submodule_identity</span><span class="plain"> *</span><span class="identifier">actions</span><span class="plain"> = </span><span class="functiontext">Packaging::register_submodule</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"actions"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">generic_actions</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::generic_submodule</span><span class="plain">(</span><span class="identifier">actions</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">MISTAKEACTION_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"##MistakeAction"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">generic_actions</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">local_actions</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::local_submodule</span><span class="plain">(</span><span class="identifier">actions</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">ACTIONS_HAP</span><span class="plain">, </span><span class="identifier">local_actions</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"action"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">);</span>
<span class="reserved">location_requirement</span><span class="plain"> </span><span class="identifier">in_action</span><span class="plain"> = </span><span class="functiontext">HierarchyLocations::any_package_of_type</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">);</span>
@ -206,7 +205,10 @@
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">AD_RECORDS_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"AD_RECORDS"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">CCOUNT_ACTION_NAME_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"CCOUNT_ACTION_NAME"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">DB_ACTION_DETAILS_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"DB_Action_Details_fn"</span><span class="plain">, </span><span class="functiontext">Translation::to</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"DB_Action_Details"</span><span class="plain">), </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">MISTAKEACTIONSUB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"MistakeActionSub_fn"</span><span class="plain">, </span><span class="functiontext">Translation::to</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"MistakeActionSub"</span><span class="plain">), </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::ap</span><span class="plain">(</span><span class="constant">SACTIONS_HAP</span><span class="plain">, </span><span class="identifier">synoptic_actions</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"action"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::package</span><span class="plain">(</span><span class="constant">MISTAKEACTIONPACKAGE_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"mistake_action"</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"_action"</span><span class="plain">, </span><span class="identifier">synoptic_actions</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::con</span><span class="plain">(</span><span class="constant">MISTAKEACTION_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"##MistakeAction"</span><span class="plain">, </span><span class="functiontext">Translation::same</span><span class="plain">(), </span><span class="identifier">in_action</span><span class="plain">);</span>
<span class="functiontext">HierarchyLocations::func</span><span class="plain">(</span><span class="constant">MISTAKEACTIONSUB_HL</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"MistakeActionSub_fn"</span><span class="plain">, </span><span class="functiontext">Translation::to</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"MistakeActionSub"</span><span class="plain">), </span><span class="identifier">in_action</span><span class="plain">);</span>
</pre>
<p class="inwebparagraph"></p>

View file

@ -484,7 +484,8 @@ the mistake.
<span class="plain">}</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">PL::Parsing::Lines::MistakeActionSub_routine</span><span class="plain">(</span><span class="reserved">void</span><span class="plain">) {</span>
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Routines::begin</span><span class="plain">(</span><span class="identifier">Hierarchy::find</span><span class="plain">(</span><span class="identifier">MISTAKEACTIONSUB_HL</span><span class="plain">));</span>
<span class="identifier">package_request</span><span class="plain"> *</span><span class="identifier">MAP</span><span class="plain"> = </span><span class="identifier">Hierarchy::synoptic_package</span><span class="plain">(</span><span class="identifier">SACTIONS_HAP</span><span class="plain">);</span>
<span class="identifier">packaging_state</span><span class="plain"> </span><span class="identifier">save</span><span class="plain"> = </span><span class="identifier">Routines::begin</span><span class="plain">(</span><span class="identifier">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="identifier">MISTAKEACTIONSUB_HL</span><span class="plain">, </span><span class="identifier">MAP</span><span class="plain">));</span>
<span class="identifier">Emit::inv_primitive</span><span class="plain">(</span><span class="identifier">switch_interp</span><span class="plain">);</span>
<span class="identifier">Emit::down</span><span class="plain">();</span>
@ -536,9 +537,10 @@ the mistake.
<span class="identifier">Routines::end</span><span class="plain">(</span><span class="identifier">save</span><span class="plain">);</span>
<span class="identifier">MistakeAction_iname</span><span class="plain"> = </span><span class="identifier">Hierarchy::find</span><span class="plain">(</span><span class="identifier">MISTAKEACTION_HL</span><span class="plain">);</span>
<span class="identifier">MistakeAction_iname</span><span class="plain"> = </span><span class="identifier">Hierarchy::make_iname_in</span><span class="plain">(</span><span class="identifier">MISTAKEACTION_HL</span><span class="plain">, </span><span class="identifier">MAP</span><span class="plain">);</span>
<span class="identifier">Emit::named_pseudo_numeric_constant</span><span class="plain">(</span><span class="identifier">MistakeAction_iname</span><span class="plain">, </span><span class="identifier">K_action_name</span><span class="plain">, 10000);</span>
<span class="identifier">Emit::annotate_i</span><span class="plain">(</span><span class="identifier">MistakeAction_iname</span><span class="plain">, </span><span class="identifier">ACTION_IANN</span><span class="plain">, 1);</span>
<span class="identifier">Hierarchy::make_available</span><span class="plain">(</span><span class="identifier">MistakeAction_iname</span><span class="plain">);</span>
<span class="plain">}</span>
</pre>

View file

@ -77,6 +77,7 @@ files, and we store a list of those here:
<span class="definitionkeyword">enum</span> <span class="constant">REWRITE_CLSW</span>
<span class="definitionkeyword">enum</span> <span class="constant">FROM_CLSW</span>
<span class="definitionkeyword">enum</span> <span class="constant">TO_CLSW</span>
<span class="definitionkeyword">enum</span> <span class="constant">INSERTION_CLSW</span>
<span class="definitionkeyword">enum</span> <span class="constant">INSTRUCTIONS_CLSW</span>
</pre>
<p class="inwebparagraph"><a id="SP2_2"></a><b>&#167;2.2. </b><code class="display">
@ -100,6 +101,8 @@ files, and we store a list of those here:
<span class="identifier">L</span><span class="string">"use documentation in directory X (instead of 'Documentation' in cwd)"</span><span class="plain">);</span>
<span class="functiontext">CommandLine::declare_switch</span><span class="plain">(</span><span class="constant">TO_CLSW</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"to"</span><span class="plain">, 2,</span>
<span class="identifier">L</span><span class="string">"redirect output to folder X (which must already exist)"</span><span class="plain">);</span>
<span class="functiontext">CommandLine::declare_switch</span><span class="plain">(</span><span class="constant">INSERTION_CLSW</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"insertion"</span><span class="plain">, 2,</span>
<span class="identifier">L</span><span class="string">"insert HTML in file X at the top of each page head"</span><span class="plain">);</span>
<span class="functiontext">CommandLine::declare_switch</span><span class="plain">(</span><span class="constant">INSTRUCTIONS_CLSW</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"instructions"</span><span class="plain">, 2,</span>
<span class="identifier">L</span><span class="string">"read further instructions from file X"</span><span class="plain">);</span>
@ -124,6 +127,7 @@ files, and we store a list of those here:
<span class="reserved">case</span><span class="plain"> </span><span class="constant">FROM_CLSW</span><span class="plain">: </span><span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;book_folder</span><span class="plain"> = </span><span class="functiontext">Pathnames::from_text</span><span class="plain">(</span><span class="identifier">arg</span><span class="plain">); </span><span class="reserved">break</span><span class="plain">;</span>
<span class="reserved">case</span><span class="plain"> </span><span class="constant">TO_CLSW</span><span class="plain">: </span><span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;destination</span><span class="plain"> = </span><span class="functiontext">Pathnames::from_text</span><span class="plain">(</span><span class="identifier">arg</span><span class="plain">);</span>
<span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;destination_modifiable</span><span class="plain"> = </span><span class="constant">FALSE</span><span class="plain">; </span><span class="reserved">break</span><span class="plain">;</span>
<span class="reserved">case</span><span class="plain"> </span><span class="constant">INSERTION_CLSW</span><span class="plain">: </span><span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;insertion_filename</span><span class="plain"> = </span><span class="functiontext">Filenames::from_text</span><span class="plain">(</span><span class="identifier">arg</span><span class="plain">); </span><span class="reserved">break</span><span class="plain">;</span>
<span class="reserved">case</span><span class="plain"> </span><span class="constant">INSTRUCTIONS_CLSW</span><span class="plain">: </span><span class="functiontext">Configuration::add_instructions_file</span><span class="plain">(</span><span class="functiontext">Filenames::from_text</span><span class="plain">(</span><span class="identifier">arg</span><span class="plain">)); </span><span class="reserved">break</span><span class="plain">;</span>
<span class="reserved">default</span><span class="plain">: </span><span class="identifier">internal_error</span><span class="plain">(</span><span class="string">"unimplemented switch"</span><span class="plain">);</span>
<span class="plain">}</span>

View file

@ -48,6 +48,7 @@ and in particular into a global instance of this called <code class="display"><s
<span class="reserved">int</span><span class="plain"> </span><span class="identifier">destination_modifiable</span><span class="plain">; </span> <span class="comment">can <code class="display"><span class="extract">destination</span></code> still be changed by instructions?</span>
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">manifest_leafname</span><span class="plain">; </span> <span class="comment">within the <code class="display"><span class="extract">destination</span></code> directory</span>
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">standard_rules_filename</span><span class="plain">;</span>
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">insertion_filename</span><span class="plain">;</span>
<span class="reserved">struct</span><span class="plain"> </span><span class="reserved">pathname</span><span class="plain"> *</span><span class="identifier">book_folder</span><span class="plain">;</span>
<span class="reserved">filename</span><span class="plain"> *</span><span class="identifier">book_cover_image</span><span class="plain">; </span> <span class="comment">e.g., <code class="display"><span class="extract">cover-image.png</span></code>; by default, none</span>
@ -116,6 +117,7 @@ and in particular into a global instance of this called <code class="display"><s
<span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;destination_modifiable</span><span class="plain"> = </span><span class="constant">TRUE</span><span class="plain">;</span>
<span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;manifest_leafname</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;standard_rules_filename</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;insertion_filename</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>
<span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;book_folder</span><span class="plain"> = </span><span class="functiontext">Pathnames::from_text</span><span class="plain">(</span><span class="identifier">I</span><span class="string">"Documentation"</span><span class="plain">);</span>
<span class="identifier">settings</span><span class="plain">-</span><span class="element">&gt;book_cover_image</span><span class="plain"> = </span><span class="identifier">NULL</span><span class="plain">;</span>

View file

@ -139,7 +139,6 @@ routine which doesn't surround the text with navigational gadgets and headings.
<pre class="display">
<span class="reserved">text_stream</span><span class="plain"> *</span><span class="functiontext">Renderer::render_block</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">volume</span><span class="plain"> *</span><span class="identifier">V</span><span class="plain">, </span><span class="reserved">section</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain">) {</span>
<span class="identifier">OUT</span><span class="plain"> = </span><span class="functiontext">Renderer::formatted_file_must_be</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">, </span><span class="identifier">S</span><span class="plain">);</span>
<span class="functiontext">Nav::render_navigation_top</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">, </span><span class="identifier">S</span><span class="plain">);</span>
<span class="functiontext">Renderer::render_text_of_block</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">, </span><span class="identifier">S</span><span class="plain">);</span>
<span class="functiontext">Nav::render_navigation_middle</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">, </span><span class="identifier">S</span><span class="plain">);</span>

View file

@ -366,7 +366,7 @@ It should be the only thing on its line.
<pre class="displaydefn">
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Regexp::match</span><span class="plain">(&amp;</span><span class="identifier">mr2</span><span class="plain">, </span><span class="identifier">rawl</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"(%c*?)///(%c*?).txt/// *"</span><span class="plain">)) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="functiontext">Regexp::match</span><span class="plain">(&amp;</span><span class="identifier">mr2</span><span class="plain">, </span><span class="identifier">rawl</span><span class="plain">, </span><span class="identifier">L</span><span class="string">"(%c*?)///(%c*?.txt)/// *"</span><span class="plain">)) {</span>
<span class="functiontext">Str::copy</span><span class="plain">(</span><span class="identifier">rawl</span><span class="plain">, </span><span class="identifier">mr2</span><span class="element">.exp</span><span class="plain">[0]);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">&gt;format</span><span class="plain"> == </span><span class="constant">HTML_FORMAT</span><span class="plain">) {</span>
<span class="functiontext">Str::clear</span><span class="plain">(</span><span class="identifier">rawl</span><span class="plain">);</span>

View file

@ -46,7 +46,6 @@
<span class="functiontext">HTML::begin_body</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">I</span><span class="string">"paper papertint"</span><span class="plain">);</span>
<span class="plain">}</span>
<span class="identifier">DISCARD_TEXT</span><span class="plain">(</span><span class="identifier">head</span><span class="plain">);</span>
<span class="functiontext">Nav::render_navigation_index_top</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">leafname</span><span class="plain">, </span><span class="identifier">title</span><span class="plain">);</span>
<span class="reserved">return</span><span class="plain"> </span><span class="identifier">OUT</span><span class="plain">;</span>
<span class="plain">}</span>

View file

@ -114,6 +114,9 @@
<span class="identifier">VMETHOD_TYPE</span><span class="plain">(</span><span class="constant">RENDER_SECTION_TITLE_MTID</span><span class="plain">, </span><span class="reserved">navigation_design</span><span class="plain"> *</span><span class="identifier">ND</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">OUT</span><span class="plain">, </span><span class="reserved">volume</span><span class="plain"> *</span><span class="identifier">V</span><span class="plain">, </span><span class="reserved">chapter</span><span class="plain"> *</span><span class="identifier">C</span><span class="plain">, </span><span class="reserved">section</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain">)</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Nav::render_navigation_top</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">volume</span><span class="plain"> *</span><span class="identifier">V</span><span class="plain">, </span><span class="reserved">section</span><span class="plain"> *</span><span class="identifier">S</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">&gt;insertion_filename</span><span class="plain">)</span>
<span class="functiontext">HTML::incorporate_HTML</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">&gt;insertion_filename</span><span class="plain">);</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">V</span><span class="plain">-</span><span class="element">&gt;sections</span><span class="plain">[0] == </span><span class="identifier">S</span><span class="plain">) </span><span class="identifier">VMETHOD_CALL</span><span class="plain">(</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">&gt;navigation</span><span class="plain">, </span><span class="constant">RENDER_VOLUME_TITLE_MTID</span><span class="plain">, </span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">V</span><span class="plain">);</span>
<span class="reserved">chapter</span><span class="plain"> *</span><span class="identifier">C</span><span class="plain"> = </span><span class="identifier">S</span><span class="plain">-</span><span class="element">&gt;begins_which_chapter</span><span class="plain">;</span>
@ -165,6 +168,9 @@
<span class="identifier">VMETHOD_TYPE</span><span class="plain">(</span><span class="constant">RENDER_INDEX_TOP_MTID</span><span class="plain">, </span><span class="reserved">navigation_design</span><span class="plain"> *</span><span class="identifier">ND</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">OUT</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="reserved">filename</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">title</span><span class="plain">)</span>
<span class="reserved">void</span><span class="plain"> </span><span class="functiontext">Nav::render_navigation_index_top</span><span class="plain">(</span><span class="constant">OUTPUT_STREAM</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="reserved">filename</span><span class="plain">, </span><span class="reserved">text_stream</span><span class="plain"> *</span><span class="identifier">title</span><span class="plain">) {</span>
<span class="reserved">if</span><span class="plain"> (</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">&gt;insertion_filename</span><span class="plain">)</span>
<span class="functiontext">HTML::incorporate_HTML</span><span class="plain">(</span><span class="identifier">OUT</span><span class="plain">, </span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">&gt;insertion_filename</span><span class="plain">);</span>
<span class="identifier">VMETHOD_CALL</span><span class="plain">(</span><span class="identifier">indoc_settings</span><span class="plain">-</span><span class="element">&gt;navigation</span><span class="plain">, </span><span class="constant">RENDER_INDEX_TOP_MTID</span><span class="plain">, </span><span class="identifier">OUT</span><span class="plain">, </span><span class="reserved">filename</span><span class="plain">, </span><span class="identifier">title</span><span class="plain">);</span>
<span class="plain">}</span>
</pre>

View file

@ -48,6 +48,7 @@ void Configuration::read_command_line(int argc, char **argv, settings_block *set
@e REWRITE_CLSW
@e FROM_CLSW
@e TO_CLSW
@e INSERTION_CLSW
@e INSTRUCTIONS_CLSW
@<Read the command line@> =
@ -66,6 +67,8 @@ void Configuration::read_command_line(int argc, char **argv, settings_block *set
L"use documentation in directory X (instead of 'Documentation' in cwd)");
CommandLine::declare_switch(TO_CLSW, L"to", 2,
L"redirect output to folder X (which must already exist)");
CommandLine::declare_switch(INSERTION_CLSW, L"insertion", 2,
L"insert HTML in file X at the top of each page head");
CommandLine::declare_switch(INSTRUCTIONS_CLSW, L"instructions", 2,
L"read further instructions from file X");
@ -82,6 +85,7 @@ void Configuration::switch(int id, int val, text_stream *arg, void *v_cl_state)
case FROM_CLSW: settings->book_folder = Pathnames::from_text(arg); break;
case TO_CLSW: settings->destination = Pathnames::from_text(arg);
settings->destination_modifiable = FALSE; break;
case INSERTION_CLSW: settings->insertion_filename = Filenames::from_text(arg); break;
case INSTRUCTIONS_CLSW: Configuration::add_instructions_file(Filenames::from_text(arg)); break;
default: internal_error("unimplemented switch");
}

View file

@ -39,6 +39,7 @@ typedef struct settings_block {
int destination_modifiable; /* can |destination| still be changed by instructions? */
struct text_stream *manifest_leafname; /* within the |destination| directory */
struct filename *standard_rules_filename;
struct filename *insertion_filename;
struct pathname *book_folder;
filename *book_cover_image; /* e.g., |cover-image.png|; by default, none */
@ -101,6 +102,7 @@ settings_block *Instructions::clean_slate(void) {
settings->destination_modifiable = TRUE;
settings->manifest_leafname = NULL;
settings->standard_rules_filename = NULL;
settings->insertion_filename = NULL;
settings->book_folder = Pathnames::from_text(I"Documentation");
settings->book_cover_image = NULL;

View file

@ -230,7 +230,7 @@ rectangles.)
It should be the only thing on its line.
@<Deal with an insert-change-log notation@> =
if (Regexp::match(&mr2, rawl, L"(%c*?)///(%c*?).txt/// *")) {
if (Regexp::match(&mr2, rawl, L"(%c*?)///(%c*?.txt)/// *")) {
Str::copy(rawl, mr2.exp[0]);
if (indoc_settings->format == HTML_FORMAT) {
Str::clear(rawl);

View file

@ -84,7 +84,6 @@ routine which doesn't surround the text with navigational gadgets and headings.
=
text_stream *Renderer::render_block(OUTPUT_STREAM, volume *V, section *S) {
OUT = Renderer::formatted_file_must_be(OUT, V, S);
Nav::render_navigation_top(OUT, V, S);
Renderer::render_text_of_block(OUT, V, S);
Nav::render_navigation_middle(OUT, V, S);

View file

@ -34,7 +34,6 @@ text_stream *IndexUtilities::open_page(text_stream *title, text_stream *leafname
HTML::begin_body(OUT, I"paper papertint");
}
DISCARD_TEXT(head);
Nav::render_navigation_index_top(OUT, leafname, title);
return OUT;
}

View file

@ -83,6 +83,9 @@ VMETHOD_TYPE(RENDER_CHAPTER_TITLE_MTID, navigation_design *ND, text_stream *OUT,
VMETHOD_TYPE(RENDER_SECTION_TITLE_MTID, navigation_design *ND, text_stream *OUT, volume *V, chapter *C, section *S)
void Nav::render_navigation_top(OUTPUT_STREAM, volume *V, section *S) {
if (indoc_settings->insertion_filename)
HTML::incorporate_HTML(OUT, indoc_settings->insertion_filename);
if (V->sections[0] == S) VMETHOD_CALL(indoc_settings->navigation, RENDER_VOLUME_TITLE_MTID, OUT, V);
chapter *C = S->begins_which_chapter;
@ -116,6 +119,9 @@ And this is a variant for index pages, such as the index of examples.
VMETHOD_TYPE(RENDER_INDEX_TOP_MTID, navigation_design *ND, text_stream *OUT, text_stream *filename, text_stream *title)
void Nav::render_navigation_index_top(OUTPUT_STREAM, text_stream *filename, text_stream *title) {
if (indoc_settings->insertion_filename)
HTML::incorporate_HTML(OUT, indoc_settings->insertion_filename);
VMETHOD_CALL(indoc_settings->navigation, RENDER_INDEX_TOP_MTID, OUT, filename, title);
}

View file

@ -46,9 +46,13 @@ website {
destination = Website/content/learn/man/
images_copy = no
examples_mode = openable
# examples_mode = external
# top_and_tail = Website/models/www-inform7-com-model.html
# top_and_tail_sections = Website/models/www-inform7-com-model.html
}
newwebsite {
# HTML for the I7 website
images_copy = no
images_path = /assets/images/doc_images/
examples_mode = openable
}
html_for_chm {

View file

@ -526,13 +526,20 @@ gnome_app {
}
website {
# HTML for the I7 website
# HTML for the pre-2019 I7 website
destination = Website/content/learn/man/
images_copy = no
images_path = doc_images/
examples_mode = openable
}
newwebsite {
# HTML for the post-2019 I7 website
images_copy = no
images_path = /assets/images/doc_images/
examples_mode = openable
}
plain {
# Plain text for screenreaders
destination = Website/content/learn/man/plain-text-

View file

@ -27,3 +27,4 @@ retrospective/*/*.o
retrospective/makefile
inform7/*-test/Tests/Test Cases/_Results_Actual/
rsync.log