1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-26 04:00:43 +03:00

Miscellaneous HTML generation infelicities fixed

This commit is contained in:
Graham Nelson 2024-04-04 23:25:29 +01:00
parent 3860f9ed1c
commit 563c0d1a11
8 changed files with 56 additions and 36 deletions

View file

@ -399,7 +399,10 @@ except the examples, and then up to 26 pages holding the content of examples A t
<span class="plain-syntax"> </span><span class="identifier-syntax">IFM_example</span><span class="plain-syntax"> *</span><span class="identifier-syntax">egc</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">title</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">title</span><span class="plain-syntax">, </span><span class="string-syntax">"Example %S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">egc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">insignia</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-dr.html#SP6" class="function-link"><span class="function-syntax">DocumentationRenderer::render_header</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">within_extension</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">cd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">associated_extension</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">cd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">within_extension</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><a href="7-dr.html#SP6" class="function-link"><span class="function-syntax">DocumentationRenderer::render_header</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">within_extension</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InformPages::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">JAVASCRIPT_FOR_ONE_EXTENSION_IRES</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">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">title</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="7-dr.html#SP8" class="function-link"><span class="function-syntax">DocumentationRenderer::render_example</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">egc</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-dr.html#SP6" class="function-link"><span class="function-syntax">DocumentationRenderer::render_footer</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
@ -695,10 +698,12 @@ in a hierarchical fashion.
<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="named-paragraph-container code-font"><a href="7-dr.html#SP4_1" class="named-paragraph-link"><span class="named-paragraph">Enter the small print</span><span class="named-paragraph-number">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">egc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">cue</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">markdown_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">origin</span><span class="plain-syntax"> = (</span><span class="identifier-syntax">egc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">cue</span><span class="plain-syntax">)?(</span><span class="identifier-syntax">egc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">cue</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">):</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">origin</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">origin</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">HEADING_MARKER_MIT</span><span class="plain-syntax">)) </span><span class="identifier-syntax">origin</span><span class="plain-syntax"> = </span><span class="identifier-syntax">origin</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">next</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">origin</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">"This example is drawn from "</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-dr.html#SP8" class="function-link"><span class="function-syntax">DocumentationRenderer::link_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">egc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">cue</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-dr.html#SP8" class="function-link"><span class="function-syntax">DocumentationRenderer::render_extended</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">egc</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">cue</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-dr.html#SP8" class="function-link"><span class="function-syntax">DocumentationRenderer::render_extended</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">origin</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">"a"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-dr.html#SP4_2" class="named-paragraph-link"><span class="named-paragraph">Exit the small print</span><span class="named-paragraph-number">4.2</span></a></span><span class="plain-syntax">;</span>

View file

@ -259,11 +259,11 @@ category:
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">md</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">INFORM_EXAMPLE_HEADING_MIT</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">latest</span><span class="plain-syntax">) &amp;&amp; (*</span><span class="identifier-syntax">latest</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">IFM_example</span><span class="plain-syntax"> *</span><span class="identifier-syntax">EG</span><span class="plain-syntax"> = </span><span class="identifier-syntax">RETRIEVE_POINTER_IFM_example</span><span class="plain-syntax">(</span><span class="identifier-syntax">md</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">user_state</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">term</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">EG</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">name</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">EG</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">name</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP6" class="function-link"><span class="function-syntax">Indexes::mark_index_term</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">term</span><span class="plain-syntax">, *</span><span class="identifier-syntax">volume_number</span><span class="plain-syntax">, *</span><span class="identifier-syntax">latest</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">EG</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="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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">EG</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">ex_index</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">Str::ne</span><span class="plain-syntax">(</span><span class="identifier-syntax">EG</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">ex_index</span><span class="plain-syntax">, </span><span class="identifier-syntax">EG</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">name</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">EG</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">ex_index</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">Str::duplicate</span><span class="plain-syntax">(</span><span class="identifier-syntax">EG</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">ex_index</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP6" class="function-link"><span class="function-syntax">Indexes::mark_index_term</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">term</span><span class="plain-syntax">, *</span><span class="identifier-syntax">volume_number</span><span class="plain-syntax">, *</span><span class="identifier-syntax">latest</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">EG</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="constant-syntax">2</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">term</span><span class="plain-syntax">)</span>
@ -285,7 +285,7 @@ category:
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">term_to_index</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0]); </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">alphabetise_as</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1]);</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">lemma</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">lemma</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">term_to_index</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">lemma</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">term_to_index</span><span class="plain-syntax">, (</span><span class="identifier-syntax">carets</span><span class="plain-syntax">==1)?(</span><span class="identifier-syntax">md</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">next</span><span class="plain-syntax">):</span><span class="identifier-syntax">NULL</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">V</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">E</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">; </span><span class="identifier-syntax">S</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">; </span><span class="identifier-syntax">E</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
@ -302,7 +302,7 @@ category:
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Regexp::match</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">see</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">" *(%c+) *&lt;-- *(%c+?) *"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">see</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0]);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">seethis</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">seethis</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1]);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">seethis</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1], </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP6" class="function-link"><span class="function-syntax">Indexes::mark_index_term</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">seethis</span><span class="plain-syntax">, -1, </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">lemma</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</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">smoke_test_text</span><span class="plain-syntax">, </span><span class="string-syntax">" &lt;-- "</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP8" class="function-link"><span class="function-syntax">Indexes::process_category_options</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">smoke_test_text</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">seethis</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">);</span>
@ -310,7 +310,7 @@ category:
<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">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">see</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</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">seethis</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">seethis</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">see</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">seethis</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">see</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP6" class="function-link"><span class="function-syntax">Indexes::mark_index_term</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">seethis</span><span class="plain-syntax">, -1, </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">lemma</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</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">smoke_test_text</span><span class="plain-syntax">, </span><span class="string-syntax">" &lt;-- "</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP8" class="function-link"><span class="function-syntax">Indexes::process_category_options</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">smoke_test_text</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">seethis</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">);</span>
@ -331,14 +331,15 @@ category:
<span class="plain-syntax"> </span><span class="identifier-syntax">Regexp::dispose_of</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</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">Indexes::extract_from_indexable_matter</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">Indexes::extract_from_indexable_matter</span></span>:<br/><a href="7-gi.html#SP8_3_3">&#167;8.3.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-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">Indexes::extract_from_indexable_matter</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">Indexes::extract_from_indexable_matter</span></span>:<br/><a href="7-gi.html#SP8_3_3">&#167;8.3.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">compiled_documentation</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cd</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">markdown_item</span><span class="plain-syntax"> *</span><span class="identifier-syntax">plain_md</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Regexp::create_mr</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">Regexp::match</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">, </span><span class="identifier-syntax">text</span><span class="plain-syntax">, </span><span class="identifier-syntax">U</span><span class="string-syntax">" *(%c+?) *: *(%c+) *"</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">head</span><span class="plain-syntax"> = </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[0];</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">tail</span><span class="plain-syntax"> = </span><span class="identifier-syntax">mr</span><span class="plain-syntax">.</span><span class="identifier-syntax">exp</span><span class="plain-syntax">[1];</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">head</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">head</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">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">":"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">tail</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">tail</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">Regexp::dispose_of</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
@ -354,6 +355,10 @@ category:
<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">j</span><span class="plain-syntax">=</span><span class="identifier-syntax">SN</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">sp_left_len</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">=</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">trimmed</span><span class="plain-syntax">); </span><span class="identifier-syntax">j</span><span class="function-syntax">&lt;L-SN-&gt;</span><span class="element-syntax">sp_right_len</span><span class="plain-syntax">; </span><span class="identifier-syntax">j</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">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">trimmed</span><span class="plain-syntax">, </span><span class="identifier-syntax">j</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">"=___=%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">SN</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">sp_style</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">plain_md</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">plain_md</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">type</span><span class="plain-syntax"> == </span><span class="identifier-syntax">PLAIN_MIT</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">plain_md</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">from</span><span class="plain-syntax"> += </span><span class="identifier-syntax">SN</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">sp_left_len</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">plain_md</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">to</span><span class="plain-syntax"> -= </span><span class="identifier-syntax">SN</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">sp_right_len</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">claimed</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">; </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">trimmed</span><span class="plain-syntax">)</span>
@ -603,7 +608,7 @@ might be placed as as a subentry of "Kings".
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">old_lemma</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::copy</span><span class="plain-syntax">(</span><span class="identifier-syntax">old_lemma</span><span class="plain-syntax">, </span><span class="identifier-syntax">lemma</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">extracted</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">ic</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cat_under</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP4" class="function-link"><span class="function-syntax">Indexes::extract_from_indexable_matter</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">extracted</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">ic</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">cat_under</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-gi.html#SP8" class="function-link"><span class="function-syntax">Indexes::process_category_options</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">icu</span><span class="plain-syntax">, </span><span class="identifier-syntax">cd</span><span class="plain-syntax">, </span><span class="identifier-syntax">extracted</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="constant-syntax">9</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::clear</span><span class="plain-syntax">(</span><span class="identifier-syntax">lemma</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">lemma</span><span class="plain-syntax">, </span><span class="string-syntax">"%S:%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">icu</span><span class="plain-syntax">, </span><span class="identifier-syntax">old_lemma</span><span class="plain-syntax">);</span>

View file

@ -329,7 +329,10 @@ void DocumentationRenderer::render_example_page(OUTPUT_STREAM, compiled_document
IFM_example *egc) {
TEMPORARY_TEXT(title)
WRITE_TO(title, "Example %S", egc->insignia);
DocumentationRenderer::render_header(OUT, cd->title, title, cd->within_extension);
if ((cd->associated_extension) || (cd->within_extension))
DocumentationRenderer::render_header(OUT, cd->title, title, cd->within_extension);
else
InformPages::header(OUT, title, JAVASCRIPT_FOR_ONE_EXTENSION_IRES, NULL);
DISCARD_TEXT(title)
DocumentationRenderer::render_example(OUT, cd, egc);
DocumentationRenderer::render_footer(OUT);
@ -622,10 +625,12 @@ void DocumentationRenderer::render_example(OUTPUT_STREAM, compiled_documentation
}
HTML_CLOSE("div");
@<Enter the small print@>;
if (egc->cue) {
markdown_item *origin = (egc->cue)?(egc->cue->down):NULL;
while ((origin) && (origin->type == HEADING_MARKER_MIT)) origin = origin->next;
if (origin) {
WRITE("This example is drawn from ");
DocumentationRenderer::link_to(OUT, egc->cue);
DocumentationRenderer::render_extended(OUT, cd, egc->cue->down);
DocumentationRenderer::render_extended(OUT, cd, origin);
HTML_CLOSE("a");
}
@<Exit the small print@>;

View file

@ -186,11 +186,11 @@ void Indexes::scan_r(compiled_documentation *cd, markdown_item *md, markdown_ite
if ((md->type == INFORM_EXAMPLE_HEADING_MIT) && (latest) && (*latest)) {
IFM_example *EG = RETRIEVE_POINTER_IFM_example(md->user_state);
TEMPORARY_TEXT(term)
Indexes::extract_from_indexable_matter(term, cd, Str::duplicate(EG->name));
Indexes::extract_from_indexable_matter(term, cd, Str::duplicate(EG->name), NULL);
Indexes::mark_index_term(cd, term, *volume_number, *latest, NULL, EG, NULL, NULL, 1);
if ((Str::len(EG->ex_index) > 0) && (Str::ne(EG->ex_index, EG->name))) {
Str::clear(term);
Indexes::extract_from_indexable_matter(term, cd, Str::duplicate(EG->ex_index));
Indexes::extract_from_indexable_matter(term, cd, Str::duplicate(EG->ex_index), NULL);
Indexes::mark_index_term(cd, term, *volume_number, *latest, NULL, EG, NULL, NULL, 2);
}
DISCARD_TEXT(term)
@ -212,7 +212,7 @@ void Indexes::scan_indexingnotations(compiled_documentation *cd, markdown_item *
Str::copy(term_to_index, mr.exp[0]); Str::copy(alphabetise_as, mr.exp[1]);
}
TEMPORARY_TEXT(lemma)
Indexes::extract_from_indexable_matter(lemma, cd, term_to_index);
Indexes::extract_from_indexable_matter(lemma, cd, term_to_index, (carets==1)?(md->next):NULL);
if ((V > 0) && (E)) {
V = 0; S = NULL; E = NULL;
@ -229,7 +229,7 @@ void Indexes::scan_indexingnotations(compiled_documentation *cd, markdown_item *
while (Regexp::match(&mr, see, U" *(%c+) *<-- *(%c+?) *")) {
Str::copy(see, mr.exp[0]);
TEMPORARY_TEXT(seethis)
Indexes::extract_from_indexable_matter(seethis, cd, mr.exp[1]);
Indexes::extract_from_indexable_matter(seethis, cd, mr.exp[1], NULL);
Indexes::mark_index_term(cd, seethis, -1, NULL, NULL, NULL, lemma, NULL, FALSE);
WRITE_TO(smoke_test_text, " <-- ");
Indexes::process_category_options(smoke_test_text, cd, seethis, TRUE, 2);
@ -237,7 +237,7 @@ void Indexes::scan_indexingnotations(compiled_documentation *cd, markdown_item *
}
if (Str::len(see) > 0) {
TEMPORARY_TEXT(seethis)
Indexes::extract_from_indexable_matter(seethis, cd, see);
Indexes::extract_from_indexable_matter(seethis, cd, see, NULL);
Indexes::mark_index_term(cd, seethis, -1, NULL, NULL, NULL, lemma, NULL, FALSE);
WRITE_TO(smoke_test_text, " <-- ");
Indexes::process_category_options(smoke_test_text, cd, seethis, TRUE, 3);
@ -258,14 +258,15 @@ void Indexes::scan_indexingnotations(compiled_documentation *cd, markdown_item *
Regexp::dispose_of(&mr);
}
void Indexes::extract_from_indexable_matter(OUTPUT_STREAM, compiled_documentation *cd, text_stream *text) {
void Indexes::extract_from_indexable_matter(OUTPUT_STREAM, compiled_documentation *cd,
text_stream *text, markdown_item *plain_md) {
match_results mr = Regexp::create_mr();
if (Regexp::match(&mr, text, U" *(%c+?) *: *(%c+) *")) {
text_stream *head = mr.exp[0];
text_stream *tail = mr.exp[1];
Indexes::extract_from_indexable_matter(OUT, cd, head);
Indexes::extract_from_indexable_matter(OUT, cd, head, NULL);
WRITE(":");
Indexes::extract_from_indexable_matter(OUT, cd, tail);
Indexes::extract_from_indexable_matter(OUT, cd, tail, NULL);
Regexp::dispose_of(&mr);
return;
}
@ -281,6 +282,10 @@ void Indexes::extract_from_indexable_matter(OUTPUT_STREAM, compiled_documentatio
for (int j=SN->sp_left_len, L=Str::len(trimmed); j<L-SN->sp_right_len; j++)
PUT(Str::get_at(trimmed, j));
WRITE("=___=%S", SN->sp_style);
if ((plain_md) && (plain_md->type == PLAIN_MIT)) {
plain_md->from += SN->sp_left_len;
plain_md->to -= SN->sp_right_len;
}
claimed = TRUE; break;
}
DISCARD_TEXT(trimmed)
@ -495,7 +500,7 @@ might be placed as as a subentry of "Kings".
TEMPORARY_TEXT(old_lemma)
Str::copy(old_lemma, lemma);
Indexes::extract_from_indexable_matter(extracted, cd, ic->cat_under);
Indexes::extract_from_indexable_matter(extracted, cd, ic->cat_under, NULL);
Indexes::process_category_options(icu, cd, extracted, FALSE, 9);
Str::clear(lemma);
WRITE_TO(lemma, "%S:%S", icu, old_lemma);

View file

@ -1,8 +1,8 @@
100.0% in inform7 run
68.0% in compilation to Inter
46.6% in //Sequence::undertake_queued_tasks//
67.5% in compilation to Inter
46.3% in //Sequence::undertake_queued_tasks//
4.2% in //MajorNodes::pre_pass//
3.5% in //MajorNodes::pass_1//
3.4% in //MajorNodes::pass_1//
1.9% in //ImperativeDefinitions::assess_all//
1.5% in //RTKindConstructors::compile//
1.5% in //RTPhrasebook::compile_entries//
@ -14,15 +14,15 @@
0.3% in //Sequence::undertake_queued_tasks//
0.3% in //World::stage_V//
5.0% not specifically accounted for
27.2% in running Inter pipeline
8.9% in step 14/15: generate inform6 -> auto.inf
7.0% in step 5/15: load-binary-kits
5.8% in step 6/15: make-synoptic-module
27.4% in running Inter pipeline
8.8% in step 14/15: generate inform6 -> auto.inf
6.9% in step 5/15: load-binary-kits
5.7% in step 6/15: make-synoptic-module
1.9% in step 9/15: make-identifiers-unique
0.3% in step 12/15: eliminate-redundant-operations
0.3% in step 4/15: compile-splats
0.3% in step 7/15: shorten-wiring
0.3% in step 8/15: detect-indirect-calls
2.0% not specifically accounted for
3.8% in supervisor
2.4% not specifically accounted for
4.2% in supervisor
0.8% not specifically accounted for

View file

@ -20,7 +20,7 @@ Now we need a rule which, just at the right moment, stops the turn sequence rule
It seems odd to talk about any rule in the turn sequence rulebook succeeding or failing, because under normal circumstances each rule ends with no decision, so that the rulebook is never halted midway through. We've broken that convention here, because under some circumstances the `take visual actions out of world rule` can now succeed. If it does, the turn sequence is halted. (It would have been just as effective to write `rule fails`, because that also halts the rulebook. It makes no difference to us whether it halts happily or unhappily, just as long as it halts.) If the player is not `acting fast`, then the rule finishes without either succeeding or failing, and so the rulebook continues as normal.
The practical effect is that the rest of the turn sequence rulebook is omitted for looking or examining: in effect, they become out-of-world actions like "saving the game". If we wanted to add, say, taking inventory to the list of instant activities, we would just need to define it as acting fast, too.
The practical effect is that the rest of the turn sequence rulebook is omitted for looking or examining: in effect, they become out-of-world actions like `saving the game`. If we wanted to add, say, taking inventory to the list of instant activities, we would just need to define it as acting fast, too.
Now the scenario for testing:

View file

@ -921,7 +921,7 @@ The grating really does come in between the two rooms: the grating is what lies
then Inform would say that this is a contradiction: we said the Undertomb was east of the Orchard, but then we said that the grating was east of the Orchard.
Inform's `door` kind can be used for all manner of conduits, so the word door need not be taken literally. In Ursula K. Le Guin's beguiling novel _The Tombs of Atuan_ (1970), from which the above rooms are stolen, it is not a grating which interposes, but:
^^{@Le Guin, Ursula K.}
^^{@Ursula K. Le Guin}
The red rock stair is east of the Orchard and above the Undertomb. The stair is an open door. The stair is not openable.

View file

@ -30,7 +30,7 @@ index notation: ^{>headword} = command
# Category for people's names.
index notation: ^{headword+name+} = name (invert)
# index notation: ^{@headword} = name (invert)
index notation: ^{@headword} = name (invert)
# For source text which will include bracketed arguments.
# (The brackets are displayed.)