1
0
Fork 0
mirror of https://github.com/ganelson/inform.git synced 2024-06-17 07:40:47 +03:00

More on extension installation

This commit is contained in:
Graham Nelson 2023-05-06 13:25:34 +01:00
parent 72d90591ff
commit 03801928bf
22 changed files with 1157 additions and 117 deletions

View file

@ -1,6 +1,6 @@
# Inform 7
[Version](notes/versioning.md): 10.2.0-beta+6W43 'Krypton' (3 May 2023)
[Version](notes/versioning.md): 10.2.0-beta+6W44 'Krypton' (6 May 2023)
## About Inform

View file

@ -1,3 +1,3 @@
Prerelease: beta
Build Date: 3 May 2023
Build Number: 6W43
Build Date: 6 May 2023
Build Number: 6W44

View file

@ -1447,7 +1447,7 @@ removing the colon and bracket tokens. Thus:
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_schema_token</span><span class="plain-syntax"> *</span><span class="identifier-syntax">n</span><span class="plain-syntax"> = </span><span class="identifier-syntax">predicates</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">expression_tokens</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_schema_token</span><span class="plain-syntax"> *</span><span class="identifier-syntax">near</span><span class="plain-syntax"> = </span><span class="identifier-syntax">n</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_schema_token</span><span class="plain-syntax"> *</span><span class="identifier-syntax">nearby_token</span><span class="plain-syntax"> = </span><span class="identifier-syntax">n</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_schema_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">code_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">predicates</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_node</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">bl</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">cw</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_schema_token</span><span class="plain-syntax"> *</span><span class="identifier-syntax">from</span><span class="plain-syntax">[3], *</span><span class="identifier-syntax">to</span><span class="plain-syntax">[3];</span>
@ -1476,7 +1476,7 @@ removing the colon and bracket tokens. Thus:
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">for</span><span class="plain-syntax"> (</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">i</span><span class="plain-syntax">=0; </span><span class="identifier-syntax">i</span><span class="plain-syntax">&lt;3; </span><span class="identifier-syntax">i</span><span class="plain-syntax">++) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_schema_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">eval_isn</span><span class="plain-syntax"> =</span>
<span class="plain-syntax"> </span><a href="2-is.html#SP4" class="function-link"><span class="function-syntax">InterSchemas::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">isn</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">parent_schema</span><span class="plain-syntax">, </span><span class="constant-syntax">EVAL_ISNT</span><span class="plain-syntax">, </span><span class="identifier-syntax">near</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-is.html#SP4" class="function-link"><span class="function-syntax">InterSchemas::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">isn</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">parent_schema</span><span class="plain-syntax">, </span><span class="constant-syntax">EVAL_ISNT</span><span class="plain-syntax">, </span><span class="identifier-syntax">nearby_token</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">i</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">isn</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">child_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">eval_isn</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">i</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="identifier-syntax">isn</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">child_node</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">eval_isn</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">i</span><span class="plain-syntax"> == </span><span class="constant-syntax">2</span><span class="plain-syntax">) {</span>
@ -1486,7 +1486,7 @@ removing the colon and bracket tokens. Thus:
<span class="plain-syntax"> </span><span class="identifier-syntax">eval_isn</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">parent_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">isn</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inter_schema_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">expr_isn</span><span class="plain-syntax"> =</span>
<span class="plain-syntax"> </span><a href="2-is.html#SP4" class="function-link"><span class="function-syntax">InterSchemas::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">isn</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">parent_schema</span><span class="plain-syntax">, </span><span class="constant-syntax">EXPRESSION_ISNT</span><span class="plain-syntax">, </span><span class="identifier-syntax">near</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-is.html#SP4" class="function-link"><span class="function-syntax">InterSchemas::new_node</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">isn</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">parent_schema</span><span class="plain-syntax">, </span><span class="constant-syntax">EXPRESSION_ISNT</span><span class="plain-syntax">, </span><span class="identifier-syntax">nearby_token</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">eval_isn</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">child_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">expr_isn</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">expr_isn</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">parent_node</span><span class="plain-syntax"> = </span><span class="identifier-syntax">eval_isn</span><span class="plain-syntax">;</span>

View file

@ -177,7 +177,7 @@ for later reporting. These are stored in a list.
<p class="commentary firstcommentary"><a id="SP6" class="paragraph-anchor"></a><b>&#167;6. Writing. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::write_copy</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Copies::write_copy</span></span>:<br/>Supervisor Module - <a href="1-sm.html#SP4">&#167;4</a><br/>Build Graphs - <a href="3-bg.html#SP6">&#167;6</a>, <a href="3-bg.html#SP7">&#167;7</a>, <a href="3-bg.html#SP9_1">&#167;9.1</a><br/>The Report - <a href="7-tr.html#SP2_4_5">&#167;2.4.5</a>, <a href="7-tr.html#SP2_5">&#167;2.5</a>, <a href="7-tr.html#SP3">&#167;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">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Copies::write_copy</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Copies::write_copy</span></span>:<br/>Supervisor Module - <a href="1-sm.html#SP4">&#167;4</a><br/>Build Graphs - <a href="3-bg.html#SP6">&#167;6</a>, <a href="3-bg.html#SP7">&#167;7</a>, <a href="3-bg.html#SP9_1">&#167;9.1</a><br/>The Report - <a href="7-tr.html#SP2_5_2">&#167;2.5.2</a>, <a href="7-tr.html#SP2_5">&#167;2.5</a>, <a href="7-tr.html#SP3">&#167;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">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="2-edt.html#SP1" class="function-link"><span class="function-syntax">Editions::write</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">edition</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>

View file

@ -128,7 +128,7 @@ contributes only the un-filename-extended leafname <span class="extract"><span c
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Editions::inspect</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Editions::inspect</span></span>:<br/>Copies - <a href="2-cps.html#SP11">&#167;11</a><br/>The Report - <a href="7-tr.html#SP2_2">&#167;2.2</a>, <a href="7-tr.html#SP2_3">&#167;2.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">inbuild_edition</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Editions::inspect</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">Editions::inspect</span></span>:<br/>Copies - <a href="2-cps.html#SP11">&#167;11</a><br/>The Report - <a href="7-tr.html#SP2_3">&#167;2.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">inbuild_edition</span><span class="plain-syntax"> *</span><span class="identifier-syntax">E</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="2-edt.html#SP1" class="function-link"><span class="function-syntax">Editions::write</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</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">Compatibility::test_universal</span><span class="plain-syntax">(</span><span class="identifier-syntax">E</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">compatibility</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</span><span class="plain-syntax">(</span><span class="string-syntax">" ("</span><span class="plain-syntax">);</span>

View file

@ -177,7 +177,7 @@ genre's manager to look for copies of that genre:
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Nests::search_for</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Nests::search_for</span></span>:<br/><a href="2-nst.html#SP8">&#167;8</a><br/>Language Services - <a href="5-ls.html#SP11">&#167;11</a><br/>Inclusions - <a href="6-inc.html#SP6_1_2">&#167;6.1.2</a><br/>Census - <a href="7-cns.html#SP7">&#167;7</a><br/>The Report - <a href="7-tr.html#SP2_4_5">&#167;2.4.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_requirement</span><span class="plain-syntax"> *</span><span class="identifier-syntax">req</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Nests::search_for</span><button class="popup" onclick="togglePopup('usagePopup7')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup7">Usage of <span class="code-font"><span class="function-syntax">Nests::search_for</span></span>:<br/><a href="2-nst.html#SP8">&#167;8</a><br/>Language Services - <a href="5-ls.html#SP11">&#167;11</a><br/>Inclusions - <a href="6-inc.html#SP6_1_2">&#167;6.1.2</a><br/>Census - <a href="7-cns.html#SP7">&#167;7</a><br/>The Report - <a href="7-tr.html#SP2_4_4">&#167;2.4.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_requirement</span><span class="plain-syntax"> *</span><span class="identifier-syntax">req</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_list</span><span class="plain-syntax">, </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">results</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="identifier-syntax">N</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">N</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_list</span><span class="plain-syntax">) {</span>

View file

@ -90,7 +90,7 @@ we can give a semantic version number range:
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-rqr.html#SP2" class="function-link"><span class="function-syntax">Requirements::new</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">work</span><span class="plain-syntax">, </span><span class="identifier-syntax">VersionNumberRanges::any_range</span><span class="plain-syntax">());</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">inbuild_requirement</span><span class="plain-syntax"> *</span><span class="function-syntax">Requirements::anything_of_genre</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Requirements::anything_of_genre</span></span>:<br/>Language Services - <a href="5-ls.html#SP11">&#167;11</a><br/>Census - <a href="7-cns.html#SP7">&#167;7</a><br/>The Report - <a href="7-tr.html#SP2_4_5">&#167;2.4.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">G</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">inbuild_requirement</span><span class="plain-syntax"> *</span><span class="function-syntax">Requirements::anything_of_genre</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">Requirements::anything_of_genre</span></span>:<br/>Language Services - <a href="5-ls.html#SP11">&#167;11</a><br/>Census - <a href="7-cns.html#SP7">&#167;7</a><br/>The Report - <a href="7-tr.html#SP2_4_4">&#167;2.4.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_genre</span><span class="plain-syntax"> *</span><span class="identifier-syntax">G</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-rqr.html#SP2" class="function-link"><span class="function-syntax">Requirements::any_version_of</span></a><span class="plain-syntax">(</span><a href="2-wrk.html#SP2" class="function-link"><span class="function-syntax">Works::new</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">G</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">""</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">""</span><span class="plain-syntax">));</span>
<span class="plain-syntax">}</span>

View file

@ -191,7 +191,7 @@ would both pass, whereas <a href="2-wrk.html#SP4" class="internal">Works::normal
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Works::write</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Works::write</span></span>:<br/>Editions - <a href="2-edt.html#SP1">&#167;1</a><br/>Build Graphs - <a href="3-bg.html#SP7">&#167;7</a>, <a href="3-bg.html#SP8">&#167;8</a><br/>The Report - <a href="7-tr.html#SP3">&#167;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">inbuild_work</span><span class="plain-syntax"> *</span><span class="identifier-syntax">work</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Works::write</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Works::write</span></span>:<br/>Editions - <a href="2-edt.html#SP1">&#167;1</a><br/>Build Graphs - <a href="3-bg.html#SP7">&#167;7</a>, <a href="3-bg.html#SP8">&#167;8</a><br/>The Report - <a href="7-tr.html#SP2_2">&#167;2.2</a>, <a href="7-tr.html#SP3">&#167;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">inbuild_work</span><span class="plain-syntax"> *</span><span class="identifier-syntax">work</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">VOID_METHOD_CALL</span><span class="plain-syntax">(</span><span class="identifier-syntax">work</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="constant-syntax">GENRE_WRITE_WORK_MTID</span><span class="plain-syntax">, </span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">work</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
@ -269,7 +269,7 @@ order-preserving. To emphasise this we return true or false rather than a
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Works::cmp</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Works::cmp</span></span>:<br/>Editions - <a href="2-edt.html#SP4">&#167;4</a><br/>Extension Services - <a href="5-es.html#SP5">&#167;5</a><br/>Dictionary - <a href="7-dct.html#SP17">&#167;17</a><br/>The Report - <a href="7-tr.html#SP2_4_6">&#167;2.4.6</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_work</span><span class="plain-syntax"> *</span><span class="identifier-syntax">w1</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_work</span><span class="plain-syntax"> *</span><span class="identifier-syntax">w2</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Works::cmp</span><button class="popup" onclick="togglePopup('usagePopup11')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup11">Usage of <span class="code-font"><span class="function-syntax">Works::cmp</span></span>:<br/>Editions - <a href="2-edt.html#SP4">&#167;4</a><br/>Extension Services - <a href="5-es.html#SP5">&#167;5</a><br/>Dictionary - <a href="7-dct.html#SP17">&#167;17</a><br/>The Report - <a href="7-tr.html#SP2_4_5">&#167;2.4.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_work</span><span class="plain-syntax"> *</span><span class="identifier-syntax">w1</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_work</span><span class="plain-syntax"> *</span><span class="identifier-syntax">w2</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">w1</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">w2</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)) </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"bad work match"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">d</span><span class="plain-syntax"> = </span><a href="2-gnr.html#SP5" class="function-link"><span class="function-syntax">Genres::cmp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">w1</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">genre</span><span class="plain-syntax">, </span><span class="identifier-syntax">w2</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">genre</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">d</span><span class="plain-syntax"> == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">d</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::cmp</span><span class="plain-syntax">(</span><span class="identifier-syntax">w1</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">author_name</span><span class="plain-syntax">, </span><span class="identifier-syntax">w2</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">author_name</span><span class="plain-syntax">);</span>

View file

@ -257,7 +257,7 @@ vertex: it's used by the Inbuild command <span class="extract"><span class="extr
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">unique_graph_scan_count</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::get_unique_graph_scan_count</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Graphs::get_unique_graph_scan_count</span></span>:<br/>The Report - <a href="7-tr.html#SP2_4_4">&#167;2.4.4</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">Graphs::get_unique_graph_scan_count</span><button class="popup" onclick="togglePopup('usagePopup8')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup8">Usage of <span class="code-font"><span class="function-syntax">Graphs::get_unique_graph_scan_count</span></span>:<br/>The Report - <a href="7-tr.html#SP2_5_1">&#167;2.5.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">unique_graph_scan_count</span><span class="plain-syntax">++;</span>
<span class="plain-syntax">}</span>

View file

@ -289,7 +289,7 @@ is small, but one likes to minimise the effect of the CWD.)
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="1-ic.html#SP16" class="function-link"><span class="function-syntax">Supervisor::transient</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="function-syntax">Projects::materials_nest</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Projects::materials_nest</span></span>:<br/>The Report - <a href="7-tr.html#SP2_4_5">&#167;2.4.5</a>, <a href="7-tr.html#SP2_5">&#167;2.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inform_project</span><span class="plain-syntax"> *</span><span class="identifier-syntax">proj</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax"> *</span><span class="function-syntax">Projects::materials_nest</span><button class="popup" onclick="togglePopup('usagePopup6')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup6">Usage of <span class="code-font"><span class="function-syntax">Projects::materials_nest</span></span>:<br/>The Report - <a href="7-tr.html#SP2_4_4">&#167;2.4.4</a>, <a href="7-tr.html#SP2_5">&#167;2.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inform_project</span><span class="plain-syntax"> *</span><span class="identifier-syntax">proj</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">proj</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</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">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">proj</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">materials_nest</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>

View file

@ -84,7 +84,7 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::begin_html_table</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::first_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"img"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"src='inform:/doc_images/extensions@2x.png' border=0 width=150 height=150"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="string-syntax">"src='inform:/doc_images/importer@2x.png' border=0 width=150 height=150"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::next_html_column</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"headingpanellayout headingpanelalt\""</span><span class="plain-syntax">);</span>
@ -163,8 +163,17 @@ produces a second report.
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">desc</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="2-edt.html#SP3" class="function-link"><span class="function-syntax">Editions::inspect</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">desc</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">edition</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = </span><a href="7-tr.html#SP1" class="function-link"><span class="function-syntax">InbuildReport::begin</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">desc</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"An extension for use in Inform projects"</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">version</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="2-wrk.html#SP6" class="function-link"><span class="function-syntax">Works::write</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">desc</span><span class="plain-syntax">, </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">edition</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">work</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">semantic_version_number</span><span class="plain-syntax"> </span><span class="identifier-syntax">V</span><span class="plain-syntax"> = </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">edition</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">version</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">VersionNumbers::is_null</span><span class="plain-syntax">(</span><span class="identifier-syntax">V</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">version</span><span class="plain-syntax">, </span><span class="string-syntax">"An 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="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">version</span><span class="plain-syntax">, </span><span class="string-syntax">"Version %v of an extension"</span><span class="plain-syntax">, &amp;</span><span class="identifier-syntax">V</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = </span><a href="7-tr.html#SP1" class="function-link"><span class="function-syntax">InbuildReport::begin</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">desc</span><span class="plain-syntax">, </span><span class="identifier-syntax">version</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">desc</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">version</span><span class="plain-syntax">)</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2">&#167;2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_3" class="paragraph-anchor"></a><b>&#167;2.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Begin report on a damaged extension</span><span class="named-paragraph-number">2.3</span></span><span class="comment-syntax"> =</span>
@ -184,17 +193,16 @@ produces a second report.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">N</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_1" class="named-paragraph-link"><span class="named-paragraph">Report on damage to extension</span><span class="named-paragraph-number">2.4.1</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_2" class="named-paragraph-link"><span class="named-paragraph">Report that extension seems valid</span><span class="named-paragraph-number">2.4.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_3" class="named-paragraph-link"><span class="named-paragraph">Explain what installation and Inclusion mean</span><span class="named-paragraph-number">2.4.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_4" class="named-paragraph-link"><span class="named-paragraph">List the extensions currently Included by the project</span><span class="named-paragraph-number">2.4.4</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_3" class="named-paragraph-link"><span class="named-paragraph">Explain about extensions</span><span class="named-paragraph-number">2.4.3</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">same</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">earlier</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">later</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_5" class="named-paragraph-link"><span class="named-paragraph">List the extensions currently installed in the project</span><span class="named-paragraph-number">2.4.5</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_6" class="named-paragraph-link"><span class="named-paragraph">Count how many versions of the same extension are already installed</span><span class="named-paragraph-number">2.4.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_4" class="named-paragraph-link"><span class="named-paragraph">Search the extensions currently installed in the project</span><span class="named-paragraph-number">2.4.4</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_5" class="named-paragraph-link"><span class="named-paragraph">Count how many versions of the same extension are already installed</span><span class="named-paragraph-number">2.4.5</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_7" class="named-paragraph-link"><span class="named-paragraph">Come to the point</span><span class="named-paragraph-number">2.4.7</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_8" class="named-paragraph-link"><span class="named-paragraph">Finish up with a big red or green button</span><span class="named-paragraph-number">2.4.8</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_6" class="named-paragraph-link"><span class="named-paragraph">Come to the point</span><span class="named-paragraph-number">2.4.6</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_7" class="named-paragraph-link"><span class="named-paragraph">Finish up with a big red or green button</span><span class="named-paragraph-number">2.4.7</span></a></span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2">&#167;2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_4_1" class="paragraph-anchor"></a><b>&#167;2.4.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Report on damage to extension</span><span class="named-paragraph-number">2.4.1</span></span><span class="comment-syntax"> =</span>
@ -236,21 +244,26 @@ produces a second report.
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_2_1" class="named-paragraph-link"><span class="named-paragraph">Make documentation</span><span class="named-paragraph-number">2.4.2.1</span></a></span><span class="plain-syntax">;</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2_4">&#167;2.4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_4_3" class="paragraph-anchor"></a><b>&#167;2.4.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Explain what installation and Inclusion mean</span><span class="named-paragraph-number">2.4.3</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_4_3" class="paragraph-anchor"></a><b>&#167;2.4.3. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Explain about extensions</span><span class="named-paragraph-number">2.4.3</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">"Extensions are installed to a project by being put in the 'Extensions' "</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">"subfolder of its '.materials' folder, which for %S is here: "</span><span class="plain-syntax">, </span><span class="identifier-syntax">pname</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">"Extensions are additional Inform features, often contributed by Inform "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"authors from around the world. Authors download them as needed. Each "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"project wanting to use an extension must install it into the 'Extensions' "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"subfolder of its '.materials' folder. Authors are free to do that by hand, but "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this installer is more convenient. For more on extensions, see: "</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">DocReferences::link</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"EXTENSIONS"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">"The '.materials' folder for %S is here: "</span><span class="plain-syntax">, </span><span class="identifier-syntax">pname</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">area</span><span class="plain-syntax"> = </span><a href="5-ps2.html#SP6" class="function-link"><span class="function-syntax">Projects::materials_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PasteButtons::open_file</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">area</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="string-syntax">"border=\"0\" src=\"inform:/doc_images/folder.png\""</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">". But they take effect only if the project's source text has an Include "</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">"sentence naming them."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2_4">&#167;2.4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_4_4" class="paragraph-anchor"></a><b>&#167;2.4.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">List the extensions currently Included by the project</span><span class="named-paragraph-number">2.4.4</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_5_1" class="paragraph-anchor"></a><b>&#167;2.5.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">List the extensions currently Included by the project</span><span class="named-paragraph-number">2.5.1</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -277,12 +290,19 @@ produces a second report.
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">bic</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">"The project %S uses only extensions "</span><span class="plain-syntax">, </span><span class="identifier-syntax">pname</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">"Installing extensions is not the same thing as actually using them. "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"The project %S uses only extensions "</span><span class="plain-syntax">, </span><span class="identifier-syntax">pname</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">"built into Inform which do not need to be installed ("</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">bic</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="7-tr.html#SP3" class="function-link"><span class="function-syntax">InbuildReport::show_extensions</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><a href="3-bg.html#SP7" class="function-link"><span class="function-syntax">Graphs::get_unique_graph_scan_count</span></a><span class="plain-syntax">(),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, &amp;</span><span class="identifier-syntax">bic</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, &amp;</span><span class="identifier-syntax">ic</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, &amp;</span><span class="identifier-syntax">rc</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><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">") and are included automatically."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">"Except for those ones, "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"extensions take effect only if the source contains a sentence like "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'Include EXTENSION TITLE by EXTENSION AUTHOR.' At present, the source "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"doesn't contain any sentences like that."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">rc</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
@ -295,8 +315,8 @@ produces a second report.
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"ul"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2_4">&#167;2.4</a>, <a href="7-tr.html#SP2_5">&#167;2.5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_4_5" class="paragraph-anchor"></a><b>&#167;2.4.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">List the extensions currently installed in the project</span><span class="named-paragraph-number">2.4.5</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2_5">&#167;2.5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_4_4" class="paragraph-anchor"></a><b>&#167;2.4.4. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Search the extensions currently installed in the project</span><span class="named-paragraph-number">2.4.4</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -304,6 +324,12 @@ produces a second report.
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_list</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">ADD_TO_LINKED_LIST</span><span class="plain-syntax">(</span><a href="5-ps2.html#SP6" class="function-link"><span class="function-syntax">Projects::materials_nest</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">), </span><span class="reserved-syntax">inbuild_nest</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_list</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-nst.html#SP7" class="function-link"><span class="function-syntax">Nests::search_for</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">req</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_list</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2_4">&#167;2.4</a>, <a href="7-tr.html#SP2_5">&#167;2.5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_5_2" class="paragraph-anchor"></a><b>&#167;2.5.2. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">List the extensions currently installed in the project</span><span class="named-paragraph-number">2.5.2</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_result</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">unused</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">broken</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">search_result</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
@ -315,7 +341,9 @@ produces a second report.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">unused</span><span class="plain-syntax"> + </span><span class="identifier-syntax">broken</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="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">unused</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">"The following are currently installed for %S, but not (yet) Included and so not used:"</span><span class="plain-syntax">, </span><span class="identifier-syntax">pname</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">"The following are currently installed for %S, but not (yet) "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"Included and so not used. (You can click the 'paste' buttons to "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"paste a suitable Include sentence into the source text.)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">pname</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"ul"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">search_result</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
@ -328,7 +356,7 @@ produces a second report.
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE_TO</span><span class="plain-syntax">(</span><span class="identifier-syntax">inclusion_text</span><span class="plain-syntax">, </span><span class="string-syntax">"Include %X.\n\n\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_result</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">copy</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">edition</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">work</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">PasteButtons::paste_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">inclusion_text</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">inclusion_text</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">"&amp;nbsp;&lt;i&gt;Paste 'Include' sentence into Source&lt;/i&gt;"</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">"&amp;nbsp;&lt;i&gt;'Include'&lt;/i&gt;"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"li"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
@ -337,8 +365,8 @@ produces a second report.
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> }</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2_4">&#167;2.4</a>, <a href="7-tr.html#SP2_5">&#167;2.5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_4_6" class="paragraph-anchor"></a><b>&#167;2.4.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Count how many versions of the same extension are already installed</span><span class="named-paragraph-number">2.4.6</span></span><span class="comment-syntax"> =</span>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2_5">&#167;2.5</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_4_5" class="paragraph-anchor"></a><b>&#167;2.4.5. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Count how many versions of the same extension are already installed</span><span class="named-paragraph-number">2.4.5</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -372,7 +400,7 @@ produces a second report.
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2_4_2">&#167;2.4.2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_4_7" class="paragraph-anchor"></a><b>&#167;2.4.7. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Come to the point</span><span class="named-paragraph-number">2.4.7</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_4_6" class="paragraph-anchor"></a><b>&#167;2.4.6. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Come to the point</span><span class="named-paragraph-number">2.4.6</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -383,7 +411,7 @@ produces a second report.
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-tr.html#SP2_4">&#167;2.4</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_4_8" class="paragraph-anchor"></a><b>&#167;2.4.8. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Finish up with a big red or green button</span><span class="named-paragraph-number">2.4.8</span></span><span class="comment-syntax"> =</span>
<p class="commentary firstcommentary"><a id="SP2_4_7" class="paragraph-anchor"></a><b>&#167;2.4.7. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Finish up with a big red or green button</span><span class="named-paragraph-number">2.4.7</span></span><span class="comment-syntax"> =</span>
</p>
<pre class="displayed-code all-displayed-code code-font">
@ -439,14 +467,14 @@ produces a second report.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">use</span><span class="plain-syntax"> = </span><span class="constant-syntax">SHELL_METHODOLOGY</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">BM</span><span class="plain-syntax"> = </span><a href="3-bm.html#SP2" class="function-link"><span class="function-syntax">BuildMethodology::new</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Pathnames::up</span><span class="plain-syntax">(</span><span class="identifier-syntax">to_tool</span><span class="plain-syntax">), </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">use</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-cps.html#SP15" class="function-link"><span class="function-syntax">Copies::copy_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><a href="5-ps2.html#SP6" class="function-link"><span class="function-syntax">Projects::materials_nest</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">), </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">BM</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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 extension has now been installed in the materials folder for %S, as:"</span><span class="plain-syntax">, </span><span class="identifier-syntax">pname</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"ul"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"li"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">use</span><span class="plain-syntax"> = </span><span class="constant-syntax">DRY_RUN_METHODOLOGY</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">build_methodology</span><span class="plain-syntax"> *</span><span class="identifier-syntax">BM</span><span class="plain-syntax"> = </span><a href="3-bm.html#SP2" class="function-link"><span class="function-syntax">BuildMethodology::new</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Pathnames::up</span><span class="plain-syntax">(</span><span class="identifier-syntax">to_tool</span><span class="plain-syntax">), </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">use</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-cps.html#SP15" class="function-link"><span class="function-syntax">Copies::copy_to</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><a href="5-ps2.html#SP6" class="function-link"><span class="function-syntax">Projects::materials_nest</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">), </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">, </span><span class="identifier-syntax">BM</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">edition</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">work</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">genre</span><span class="plain-syntax"> == </span><span class="identifier-syntax">extension_bundle_genre</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="4-ebm.html#SP7" class="function-link"><span class="function-syntax">ExtensionBundleManager::pathname_in_nest</span></a><span class="plain-syntax">(</span><a href="5-ps2.html#SP6" class="function-link"><span class="function-syntax">Projects::materials_nest</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">), </span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">edition</span><span class="plain-syntax">);</span>
@ -463,16 +491,14 @@ produces a second report.
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"li"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"ul"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">"(Well, actually, nothing was done, but you can see the commands which would have been issued on stdout)\n"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="7-tm.html#SP2" class="function-link"><span class="function-syntax">ExtensionWebsite::index_after_compilation</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">linked_list</span><span class="plain-syntax"> *</span><span class="identifier-syntax">L</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NEW_LINKED_LIST</span><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_4" class="named-paragraph-link"><span class="named-paragraph">List the extensions currently Included by the project</span><span class="named-paragraph-number">2.4.4</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_5" class="named-paragraph-link"><span class="named-paragraph">List the extensions currently installed in the project</span><span class="named-paragraph-number">2.4.5</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_5_1" class="named-paragraph-link"><span class="named-paragraph">List the extensions currently Included by the project</span><span class="named-paragraph-number">2.5.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_4_4" class="named-paragraph-link"><span class="named-paragraph">Search the extensions currently installed in the project</span><span class="named-paragraph-number">2.4.4</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-tr.html#SP2_5_2" class="named-paragraph-link"><span class="named-paragraph">List the extensions currently installed in the project</span><span class="named-paragraph-number">2.5.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax"> *</span><span class="identifier-syntax">search_result</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">broken</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">search_result</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">)</span>
@ -481,13 +507,25 @@ produces a second report.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">broken</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">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"hr"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</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">"Note that the following are installed but are not working:"</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">"Although installed, the following have errors and will not work. "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"They may need to be repaired, or may simply not be extensions at all:"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"ul"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER_LINKED_LIST</span><span class="plain-syntax">(</span><span class="identifier-syntax">search_result</span><span class="plain-syntax">, </span><span class="reserved-syntax">inbuild_search_result</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">LinkedLists::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">search_result</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">copy</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">errors_reading_source_text</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">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"li"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-cps.html#SP6" class="function-link"><span class="function-syntax">Copies::write_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_result</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">copy</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">search_result</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">copy</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">location_if_file</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</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">"at "</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::to_text_relative</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_result</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">copy</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">location_if_file</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Pathnames::up</span><span class="plain-syntax">(</span><a href="5-ps2.html#SP6" class="function-link"><span class="function-syntax">Projects::materials_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">)));</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">search_result</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">copy</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">location_if_path</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_TAG</span><span class="plain-syntax">(</span><span class="string-syntax">"br"</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">"at "</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Pathnames::relative_URL</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">Pathnames::up</span><span class="plain-syntax">(</span><a href="5-ps2.html#SP6" class="function-link"><span class="function-syntax">Projects::materials_path</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">project</span><span class="plain-syntax">)),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">search_result</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">copy</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">location_if_path</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="2-cps.html#SP5" class="function-link"><span class="function-syntax">Copies::list_attached_errors_to_HTML</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">search_result</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">copy</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"li"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
@ -499,7 +537,7 @@ produces a second report.
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InbuildReport::show_extensions</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">InbuildReport::show_extensions</span></span>:<br/><a href="7-tr.html#SP2_4_4">&#167;2.4.4</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">scan_count</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InbuildReport::show_extensions</span><button class="popup" onclick="togglePopup('usagePopup3')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup3">Usage of <span class="code-font"><span class="function-syntax">InbuildReport::show_extensions</span></span>:<br/><a href="7-tr.html#SP2_5_1">&#167;2.5.1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">scan_count</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">built_in</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">built_in_count</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">installed</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">installed_count</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">required</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">requirements_count</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="identifier-syntax">type</span><span class="plain-syntax"> == </span><span class="constant-syntax">COPY_VERTEX</span><span class="plain-syntax">) {</span>
@ -558,7 +596,7 @@ produces a second report.
<p class="commentary firstcommentary"><a id="SP4" class="paragraph-anchor"></a><b>&#167;4. </b></p>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">InbuildReport::seek_extension_in_graph</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">InbuildReport::seek_extension_in_graph</span></span>:<br/><a href="7-tr.html#SP2_4_5">&#167;2.4.5</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="function-syntax">InbuildReport::seek_extension_in_graph</span><button class="popup" onclick="togglePopup('usagePopup4')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup4">Usage of <span class="code-font"><span class="function-syntax">InbuildReport::seek_extension_in_graph</span></span>:<br/><a href="7-tr.html#SP2_5_2">&#167;2.5.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">build_vertex</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</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="identifier-syntax">type</span><span class="plain-syntax"> == </span><span class="constant-syntax">COPY_VERTEX</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">VC</span><span class="plain-syntax"> = </span><span class="identifier-syntax">V</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">as_copy</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-edt.html#SP4" class="function-link"><span class="function-syntax">Editions::cmp</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">edition</span><span class="plain-syntax">, </span><span class="identifier-syntax">VC</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">edition</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>

View file

@ -26,7 +26,7 @@ text_stream *InbuildReport::begin(text_stream *title, text_stream *subtitle) {
HTML::begin_html_table(OUT, NULL, TRUE, 0, 4, 0, 0, 0);
HTML::first_html_column(OUT, 0);
HTML_TAG_WITH("img",
"src='inform:/doc_images/extensions@2x.png' border=0 width=150 height=150");
"src='inform:/doc_images/importer@2x.png' border=0 width=150 height=150");
HTML::next_html_column(OUT, 0);
HTML_OPEN_WITH("div", "class=\"headingpanellayout headingpanelalt\"");
@ -97,8 +97,17 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
@<Begin report on a valid extension@> =
TEMPORARY_TEXT(desc)
Editions::inspect(desc, C->edition);
OUT = InbuildReport::begin(desc, I"An extension for use in Inform projects");
TEMPORARY_TEXT(version)
Works::write(desc, C->edition->work);
semantic_version_number V = C->edition->version;
if (VersionNumbers::is_null(V)) {
WRITE_TO(version, "An extension");
} else {
WRITE_TO(version, "Version %v of an extension", &V);
}
OUT = InbuildReport::begin(desc, version);
DISCARD_TEXT(desc)
DISCARD_TEXT(version)
@<Begin report on a damaged extension@> =
TEMPORARY_TEXT(desc)
@ -110,12 +119,11 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
if (N > 0) @<Report on damage to extension@>
else @<Report that extension seems valid@>;
HTML_TAG("hr");
@<Explain what installation and Inclusion mean@>;
@<List the extensions currently Included by the project@>;
@<Explain about extensions@>;
linked_list *L = NEW_LINKED_LIST(inbuild_search_result);
int same = 0, earlier = 0, later = 0;
@<List the extensions currently installed in the project@>;
@<Search the extensions currently installed in the project@>;
@<Count how many versions of the same extension are already installed@>;
HTML_TAG("hr");
@ -153,14 +161,19 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
}
@<Make documentation@>;
@<Explain what installation and Inclusion mean@> =
@<Explain about extensions@> =
HTML_OPEN("p");
WRITE("Extensions are installed to a project by being put in the 'Extensions' ");
WRITE("subfolder of its '.materials' folder, which for %S is here: ", pname);
WRITE("Extensions are additional Inform features, often contributed by Inform "
"authors from around the world. Authors download them as needed. Each "
"project wanting to use an extension must install it into the 'Extensions' "
"subfolder of its '.materials' folder. Authors are free to do that by hand, but "
"this installer is more convenient. For more on extensions, see: ");
DocReferences::link(OUT, I"EXTENSIONS");
HTML_CLOSE("p");
HTML_OPEN("p");
WRITE("The '.materials' folder for %S is here: ", pname);
pathname *area = Projects::materials_path(project);
PasteButtons::open_file(OUT, area, NULL, "border=\"0\" src=\"inform:/doc_images/folder.png\"");
WRITE(". But they take effect only if the project's source text has an Include ");
WRITE("sentence naming them.");
HTML_CLOSE("p");
@<List the extensions currently Included by the project@> =
@ -187,12 +200,19 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
}
} else if (bic > 0) {
HTML_OPEN("p");
WRITE("The project %S uses only extensions ", pname);
WRITE("Installing extensions is not the same thing as actually using them. "
"The project %S uses only extensions ", pname);
WRITE("built into Inform which do not need to be installed (");
bic = 0;
InbuildReport::show_extensions(OUT, V, Graphs::get_unique_graph_scan_count(),
TRUE, &bic, FALSE, &ic, FALSE, &rc);
WRITE(").");
WRITE(") and are included automatically.");
HTML_CLOSE("p");
HTML_OPEN("p");
WRITE("Except for those ones, "
"extensions take effect only if the source contains a sentence like "
"'Include EXTENSION TITLE by EXTENSION AUTHOR.' At present, the source "
"doesn't contain any sentences like that.");
HTML_CLOSE("p");
}
if (rc > 0) {
@ -205,11 +225,13 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
HTML_CLOSE("ul");
}
@<List the extensions currently installed in the project@> =
@<Search the extensions currently installed in the project@> =
inbuild_requirement *req = Requirements::anything_of_genre(extension_bundle_genre);
linked_list *search_list = NEW_LINKED_LIST(inbuild_nest);
ADD_TO_LINKED_LIST(Projects::materials_nest(project), inbuild_nest, search_list);
Nests::search_for(req, search_list, L);
@<List the extensions currently installed in the project@> =
inbuild_search_result *search_result;
int unused = 0, broken = 0;
LOOP_OVER_LINKED_LIST(search_result, inbuild_search_result, L) {
@ -221,7 +243,9 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
if (unused + broken > 0) {
if (unused > 0) {
HTML_OPEN("p");
WRITE("The following are currently installed for %S, but not (yet) Included and so not used:", pname);
WRITE("The following are currently installed for %S, but not (yet) "
"Included and so not used. (You can click the 'paste' buttons to "
"paste a suitable Include sentence into the source text.)", pname);
HTML_CLOSE("p");
HTML_OPEN("ul");
LOOP_OVER_LINKED_LIST(search_result, inbuild_search_result, L) {
@ -234,7 +258,7 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
WRITE_TO(inclusion_text, "Include %X.\n\n\n", search_result->copy->edition->work);
PasteButtons::paste_text(OUT, inclusion_text);
DISCARD_TEXT(inclusion_text)
WRITE("&nbsp;<i>Paste 'Include' sentence into Source</i>");
WRITE("&nbsp;<i>'Include'</i>");
HTML_CLOSE("li");
}
}
@ -325,14 +349,14 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
}
@<Make confirmed report@> =
int use = SHELL_METHODOLOGY;
build_methodology *BM = BuildMethodology::new(Pathnames::up(to_tool), TRUE, use);
Copies::copy_to(C, Projects::materials_nest(project), TRUE, BM);
HTML_OPEN("p");
WRITE("This extension has now been installed in the materials folder for %S, as:", pname);
HTML_CLOSE("p");
HTML_OPEN("ul");
HTML_OPEN("li");
int use = DRY_RUN_METHODOLOGY;
build_methodology *BM = BuildMethodology::new(Pathnames::up(to_tool), TRUE, use);
Copies::copy_to(C, Projects::materials_nest(project), TRUE, BM);
HTML_OPEN("p");
if (C->edition->work->genre == extension_bundle_genre) {
pathname *P = ExtensionBundleManager::pathname_in_nest(Projects::materials_nest(project), C->edition);
@ -349,15 +373,13 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
}
HTML_CLOSE("li");
HTML_CLOSE("ul");
HTML_OPEN("p");
WRITE("(Well, actually, nothing was done, but you can see the commands which would have been issued on stdout)\n");
HTML_CLOSE("p");
HTML_TAG("hr");
ExtensionWebsite::index_after_compilation(project);
linked_list *L = NEW_LINKED_LIST(inbuild_search_result);
@<List the extensions currently Included by the project@>;
@<Search the extensions currently installed in the project@>;
@<List the extensions currently installed in the project@>;
inbuild_search_result *search_result;
int broken = 0;
@ -367,13 +389,25 @@ void InbuildReport::install(inbuild_copy *C, int confirmed, pathname *to_tool) {
if (broken > 0) {
HTML_TAG("hr");
HTML_OPEN("p");
WRITE("Note that the following are installed but are not working:");
WRITE("Although installed, the following have errors and will not work. "
"They may need to be repaired, or may simply not be extensions at all:");
HTML_CLOSE("p");
HTML_OPEN("ul");
LOOP_OVER_LINKED_LIST(search_result, inbuild_search_result, L) {
if (LinkedLists::len(search_result->copy->errors_reading_source_text) > 0) {
HTML_OPEN("li");
Copies::write_copy(OUT, search_result->copy);
if (search_result->copy->location_if_file) {
HTML_TAG("br");
WRITE("at ");
Filenames::to_text_relative(OUT, search_result->copy->location_if_file,
Pathnames::up(Projects::materials_path(project)));
} else if (search_result->copy->location_if_path) {
HTML_TAG("br");
WRITE("at ");
Pathnames::relative_URL(OUT, Pathnames::up(Projects::materials_path(project)),
search_result->copy->location_if_path);
}
Copies::list_attached_errors_to_HTML(OUT, search_result->copy);
HTML_CLOSE("li");
}

View file

@ -1,38 +1,38 @@
Total memory consumption was 123146K = 120 MB
Total memory consumption was 125325K = 122 MB
---- was used for 2063717 objects, in 367763 frames in 0 x 800K = 0K = 0 MB:
33.1% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
20.9% text_stream_array 4683 x 100 = 468300 objects, 26374656 bytes
19.7% linked_list 44520 objects, 24931200 bytes
11.2% inter_symbol_array 133 x 1024 = 136192 objects, 14168224 bytes
10.7% inter_error_stash_array 103 x 1024 = 105472 objects, 13503712 bytes
8.2% parse_node 130366 objects, 10429280 bytes
6.0% verb_conjugation 164 objects, 7610912 bytes
4.4% parse_node_annotation_array 348 x 500 = 174000 objects, 5579136 bytes
2.8% scan_directory 866 objects, 3574848 bytes
32.5% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
20.5% text_stream_array 4683 x 100 = 468300 objects, 26374656 bytes
19.4% linked_list 44520 objects, 24931200 bytes
11.0% inter_symbol_array 133 x 1024 = 136192 objects, 14168224 bytes
10.5% inter_error_stash_array 103 x 1024 = 105472 objects, 13503712 bytes
8.1% parse_node 130366 objects, 10429280 bytes
5.9% verb_conjugation 164 objects, 7610912 bytes
4.3% parse_node_annotation_array 348 x 500 = 174000 objects, 5579136 bytes
2.7% scan_directory 866 objects, 3574848 bytes
2.6% pcalc_prop_array 25 x 1000 = 25000 objects, 3400800 bytes
2.5% inter_name_array 67 x 1000 = 67000 objects, 3218144 bytes
2.1% kind_array 67 x 1000 = 67000 objects, 2682144 bytes
2.0% kind_array 67 x 1000 = 67000 objects, 2682144 bytes
1.6% inter_schema_token 14040 objects, 2134080 bytes
1.6% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
1.5% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
1.4% package_request 21194 objects, 1865072 bytes
1.4% vocabulary_entry_array 164 x 100 = 16400 objects, 1842048 bytes
1.2% dict_entry_array 478 x 100 = 47800 objects, 1544896 bytes
1.1% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
1.1% inter_symbols_table 26627 objects, 1491112 bytes
1.0% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
1.0% inter_package 26627 objects, 1278096 bytes
0.9% inter_package 26627 objects, 1278096 bytes
0.8% map_data 672 objects, 1128960 bytes
0.8% id_body 948 objects, 1084512 bytes
0.7% inter_schema_node 8965 objects, 1004080 bytes
0.7% adjective_meaning 202 objects, 1000304 bytes
0.7% excerpt_meaning 3119 objects, 973128 bytes
0.7% production 3967 objects, 920344 bytes
0.7% ptoken 8623 objects, 896792 bytes
0.6% ptoken 8623 objects, 896792 bytes
0.6% grammatical_usage 3637 objects, 872880 bytes
0.6% individual_form 2567 objects, 862512 bytes
0.5% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes
0.4% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes
0.3% local_variable_array 47 x 100 = 4700 objects, 452704 bytes
0.3% verb_usage 1148 objects, 394912 bytes
0.2% rule 470 objects, 368480 bytes
@ -250,17 +250,17 @@ Total memory consumption was 123146K = 120 MB
100.0% was used for memory not allocated for objects:
57.5% text stream storage 72556632 bytes in 487922 claims
4.2% dictionary storage 5319680 bytes in 7630 claims
58.2% text stream storage 74787892 bytes in 488249 claims
4.1% dictionary storage 5319680 bytes in 7630 claims
---- sorting 2720 bytes in 387 claims
5.7% source text 7200000 bytes in 3 claims
8.5% source text details 10800000 bytes in 2 claims
5.6% source text 7200000 bytes in 3 claims
8.4% source text details 10800000 bytes in 2 claims
0.2% documentation fragments 262144 bytes in 1 claim
---- linguistic stock array 81920 bytes in 2 claims
---- small word set array 105600 bytes in 22 claims
3.6% inter symbols storage 4558480 bytes in 27989 claims
13.3% inter bytecode storage 16773540 bytes in 14 claims
4.9% inter links storage 6222976 bytes in 11 claims
3.5% inter symbols storage 4558480 bytes in 27989 claims
13.0% inter bytecode storage 16773540 bytes in 14 claims
4.8% inter links storage 6222976 bytes in 11 claims
0.1% inter tree location list storage 191232 bytes in 32 claims
1.3% instance-of-kind counting 1705636 bytes in 1 claim
---- compilation workspace for objects 21896 bytes in 25 claims
@ -268,5 +268,5 @@ Total memory consumption was 123146K = 120 MB
---- code generation workspace for objects 3480 bytes in 19 claims
0.2% emitter array storage 280544 bytes in 2001 claims
-150.0% was overhead - -189247280 bytes = -184811K = -180 MB
-147.-4% was overhead - -189247280 bytes = -184811K = -180 MB

View file

@ -1,33 +1,33 @@
100.0% in inform7 run
70.7% in compilation to Inter
70.5% in compilation to Inter
49.5% in //Sequence::undertake_queued_tasks//
5.2% in //MajorNodes::pre_pass//
3.5% in //MajorNodes::pass_1//
1.8% in //ImperativeDefinitions::assess_all//
1.4% in //RTKindConstructors::compile//
1.4% in //RTPhrasebook::compile_entries//
1.1% in //Sequence::lint_inter//
4.9% in //MajorNodes::pre_pass//
3.3% in //MajorNodes::pass_1//
1.9% in //RTPhrasebook::compile_entries//
1.7% in //ImperativeDefinitions::assess_all//
1.5% in //RTKindConstructors::compile//
0.9% in //Sequence::lint_inter//
0.5% in //ImperativeDefinitions::compile_first_block//
0.5% in //MajorNodes::pass_2//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //Sequence::undertake_queued_tasks//
0.5% in //World::stage_V//
0.3% in //Sequence::undertake_queued_tasks//
0.1% in //CompletionModule::compile//
0.1% in //InferenceSubjects::emit_all//
0.1% in //RTKindConstructors::compile_permissions//
0.1% in //Task::make_built_in_kind_constructors//
0.1% in //World::stages_II_and_III//
2.8% not specifically accounted for
25.6% in running Inter pipeline
9.6% in step 14/15: generate inform6 -> auto.inf
5.9% in step 5/15: load-binary-kits
5.4% in step 6/15: make-synoptic-module
1.6% in step 9/15: make-identifiers-unique
26.3% in running Inter pipeline
9.8% in step 14/15: generate inform6 -> auto.inf
6.0% in step 5/15: load-binary-kits
5.5% in step 6/15: make-synoptic-module
1.7% 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
0.1% in step 11/15: eliminate-redundant-labels
1.3% not specifically accounted for
3.1% in supervisor
0.4% not specifically accounted for
1.4% not specifically accounted for
2.9% in supervisor
0.2% not specifically accounted for

View file

@ -0,0 +1,968 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Extensions</title>
<style type="text/css">
<!--
:root {
color-scheme: light dark;
--element-banner-background-colour: #eeeeee;
--heading-panel-background-colour: #eeeeee;
--heading-panel-text-colour: #222222;
--heading-panel-succeeded-background-colour: #E6FFE6;
--heading-panel-failed-background-colour: #f69Ca6;
--heading-row-background-colour: #e0e0e0;
--stripe-one-background-colour: #ffffff;
--stripe-two-background-colour: #f3f6fa;
--index-dull-red-colour: #800000;
--index-dull-blue-colour: #000080;
--periodic-table-sidebar-colour: #888;
--periodic-table-sidebar-hover-colour: #222;
--leaders-background-colour: white;
--library-card-title-colour: #803030;
--library-card-other-colour: #303030;
--index-more-box-background-colour: #e0e0e0;
--index-activity-contents-background-colour: #e8e0c0;
--registry-contents-link-colour: #202020;
--extension-index-entry-colour: #404040;
--safe-button-background-colour: rgb(31, 136, 61);
--dangerous-button-background-colour: rgb(136, 31, 61);
--button-text-background-colour: #ffffff;
}
@media (prefers-color-scheme: dark) {
:root {
--element-banner-background-colour: #444444;
--heading-panel-background-colour: #444444;
--heading-panel-text-colour: #ffffff;
--heading-panel-succeeded-background-colour: #738073;
--heading-panel-failed-background-colour: #7b4e53;
--heading-row-background-colour: #707070;
--stripe-one-background-colour: #000000;
--stripe-two-background-colour: #090b0d;
--index-dull-red-colour: #c00000;
--index-dull-blue-colour: #4040c0;
--periodic-table-sidebar-colour: #555;
--periodic-table-sidebar-hover-colour: #222;
--leaders-background-colour: black;
--library-card-title-colour: #a05050;
--library-card-other-colour: #505050;
--index-more-box-background-colour: #444444;
--index-activity-contents-background-colour: #727060;
--registry-contents-link-colour: #ffffff;
--extension-index-entry-colour: #c0c0c0;
--safe-button-background-colour: rgb(31, 136, 61);
--dangerous-button-background-colour: rgb(136, 31, 61);
--button-text-background-colour: #ffffff;
}
}
/* The default font (family) and size */
body, p, td {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 12px;
}
/* For fixed-point material within text, such as the typing on the Library Card index page */
span.typewritten {
font-family: 'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace;
font-size: 13px;
}
/* For less important material: the small print */
span.smaller {
font-size: 80%;
}
/* The "heading panel" is the coloured box, high up on the page. The colours
vary depending on the page: for example, the style on a report of a translation
with no problems is "headingpanelsucceeded", usually green, but if there were
problems then "headingpanelfailed" is used, which is usually red. "headingpanel"
itself is a more neutral grey by default. "headingpanelDark" is an alternative
look to make the extensions index pages have some visual contrast with the others;
by default they are a darker grey. */
.headingpanel {
background: var(--heading-panel-background-colour);
}
.headingpanelsucceeded {
background: var(--heading-panel-succeeded-background-colour);
}
.headingpanelfailed {
background: var(--heading-panel-failed-background-colour);
}
.headingpanelalt {
background: #808080;
}
/* Heading panels have two lines of text: an upper one in a larger size, and a
lower one in a smaller. Again, the alt versions are meant to contrast.
Report on Translation: Succeeded <-- headingpaneltext
Produced by Inform 10.1.0 (build 6U97) <-- headingpanelrubric
Installed Extensions <-- headingpaneltextalt
Bundles of extra rules or phrases to... <-- headingpanelrubricalt
*/
span.headingpaneltext {
color: var(--heading-panel-text-colour);
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 20px;
font-weight: bold;
}
span.headingpaneltextalt {
color: #ffffff;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 20px;
font-weight: bold;
}
span.headingpanelrubric {
color: var(--heading-panel-text-colour);
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 11px;
font-weight: bold;
}
span.headingpanelrubricalt {
color: #ffffff;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 11px;
font-weight: bold;
}
/* Horizontal rule styling */
div.hr {
border: 0;
width: 100%;
color: #707070;
background-color: #707070;
height: 5px;
}
/* This styles the (usually white) text of the example numbers written inside
oval blobs in the extension documentation, which mimic the look of the in-app
documentation. */
.oval, .oval td {
background-image:url('inform:/doc_images/ovoid.png');
color:white;
}
/* Styling used in the extension documentation indexes: */
/* Used for extension names in the extensions pane of the app */
span.extensioncensusentry {
color: #ffffff;
}
span.extensionindexentry {
color: var(--extension-index-entry-colour);
}
span.extensionindexerror {
color: #ff8080;
}
/* This is used in extension documentation, where an example is presented
in a slightly tinted box: */
table.extensionexample {
background-color: #f0f0f0;
}
span.extensionexampleletter {
color: #202020;
font-size: 14px;
font-weight: bold;
}
/* Seen in problem messages: */
span.problemred {
color: #800000;
}
span.problemgreen {
color: #008000;
}
span.phraseword {
color: #808080;
}
span.phrasetokentext {
color: #e00060;
}
span.phrasetokendesctext {
color: #4040ff;
}
span.phrasetokenvaluetext {
color: #ff4040;
}
/* Now we move on to styling used in the Index pages only: */
/* The periodic table display has "sidebars", usually grey and taller than they
are wide; they contain no text. */
div.periodictablesidebarcolour {
background: var(--periodic-table-sidebar-colour);
}
div.periodictablesidebar:hover {
background: var(--periodic-table-sidebar-hover-colour);
}
/* The text of the element-abbreviation, such as "Lx" or "Ph", uses: */
span.elementtext {
color: #ffffff;
font-size: 20px;
font-weight: bold;
}
/* Similarly for the "atomic number" - a single digit - in the top left corner
of these boxes: */
span.elementnumbertext {
color: #ffffff;
font-size: 7pt;
}
/* For the text of the element title, to the right of the element box: */
span.elementtitletext {
color: #ffffff;
font-size: 9px;
font-weight: bold;
}
/* The banner at the top of each element: */
table.elementbanner {
background: var(--element-banner-background-colour);
}
/* For the typewriting on the Library Card: */
span.librarycardtitle {
color: var(--library-card-title-colour);
}
span.librarycardother {
color: var(--library-card-other-colour);
}
/* Generically used for "more details" boxes in the index: */
table.indexmorebox {
background-color: var(--index-more-box-background-colour);
border-radius: 8px;
}
/* But not for activity contents: */
table.indexactivitycontents {
background-color: var(--index-activity-contents-background-colour);
border-radius: 8px;
}
/* For responses in index entries about rules: */
span.indexresponseletter {
color: #ffffff;
font-family: 'Courier New', Courier, monospace;
background-color: #8080ff;
}
span.indexresponsetext {
color: #000066;
}
/* Used ubiquitously throughout the index for unemphasised text: */
span.indexblack {
color: #000000;
}
span.indexgrey {
color: #808080;
}
span.indexdarkgrey {
color: #505050;
}
span.indexdullred {
color: var(--index-dull-red-colour);
}
span.indexdullgreen {
color: #008000;
}
span.indexdullblue {
color: var(--index-dull-blue-colour);
}
/* Used in the numbering of levels of the World map in the Index */
span.indexmaplevelnumbers {
color: #c0c0c0;
}
/* Used for the room squares in the World map in the Index (which is currently
a table with one row of one column) */
table.indexmaproom {
border-color: #000000;
}
/* Used in the numbering of levels of the World map in the Index */
span.indexmaplevelnumbers {
color: #c0c0c0;
}
/* Used e.g. for title rows in the Chart of basic kinds in the Index */
tr.headingrow {
background-color: var(--heading-row-background-colour);
}
/* Standard rows have black text on striped background colours, these being
the usual ones seen in Mac OS X applications such as iTunes. */
tr.stripeone {
background-color: var(--stripe-one-background-colour);
}
tr.stripetwo {
background-color: var(--stripe-two-background-colour);
}
tr.tintedrow {
background-color: #808080;
}
/* In the Figures index, this is the background colour used behind images
(though in fact it will only be visible if the image fails to load, or uses
transparency): */
div.figureindexbox {
background-color: #6495ed;
}
/* To get the book-contents-page style leaders on the Contents element of
the index to work, these must use the background colour of the body of
the page, whatever that is: */
ul.leaders li.leaded span:first-child {
background: var(--leaders-background-colour);
}
ul.leaders li.leaded span + span {
background: var(--leaders-background-colour);
}
/* On Registry index pages (such as the Public Library), these are used for
download buttons and the like: */
span.registrybuttontext {
font-size: 11px;
border-color: #000000;
}
span.registryminibuttontext {
font-size: 10px;
border-color: #000000;
}
span.registrybuttonuninstalled {
color: #000000;
background: #ffffdd;
}
span.registrybuttoninstalled {
color: #000000;
background: #ffffff;
pointer-events: none;
}
span.registrybuttonbuiltin {
color: #888888;
background: #ffffff;
pointer-events: none;
}
span.registrybuttonupdate {
color: #000000;
background: #aaddff;
}
span.registrybuttonrevert {
color: #000000;
background: #ddaaff;
}
span.registrybuttonrevealer {
color: #ffffff;
background: #444444;
}
/* Registry index section headings: */
span.registrysectionname {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 16px;
line-height: 18px;
}
span.registrysubsectionname {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 14px;
line-height: 16px;
}
/* These are for the "mark" for a section, usually a section-symbol and number */
span.registrysectionmark {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 16px;
line-height: 18px;
color: #666;
}
span.registrysubsectionmark {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 14px;
line-height: 16px;
color: #666;
}
/* Text of an item listed in a registry: */
span.registryitemtext {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 12px;
line-height: 16px;
}
/* And how the links in a registry index page behave: */
a.registrysilentlink {
text-decoration: none;
color: #000;
}
a.registrybuttonlink {
text-decoration: none;
}
a.registrycontentslink:link {
text-decoration: none;
color: var(--registry-contents-link-colour);
}
a.registrycontentslink:visited {
text-decoration: none;
color: var(--registry-contents-link-colour);
}
a.registrycontentslink:hover {
text-decoration: none;
color: #D00000;
}
a.registrycontentslink:active {
text-decoration: none;
color: #D00000;
}
/* Buttons for use on inbuild results pages */
button.safebutton {
background-color: var(--safe-button-background-colour);
border: none;
color: var(--button-text-background-colour);
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
button.dangerousbutton {
background-color: var(--dangerous-button-background-colour);
border: none;
color: var(--button-text-background-colour);
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
margin: 4px 2px;
cursor: pointer;
}
-->
</style>
<style type="text/css">
<!--
/* (1) General layout material */
*, *:before, *:after {
-moz-box-sizing: border-box;
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
.headingpanellayout {
position: relative;
height: 56px;
padding: 0px;
white-space:nowrap;
}
.headingpanellayoutdeeper {
position: relative;
height: 117px;
padding: 0px;
white-space:nowrap;
}
.headingtext {
position: absolute;
top: -4px;
left: -1px;
width: 100%;
padding: 14px 10px 0px 10px;
}
.headingrubric {
position: absolute;
top: 36px;
width: 100%;
padding: 0px 10px 0px 10px;
}
h3.tighter {
margin-top: 0px;
}
p.hang {
padding-left: 25px;
text-indent: -25px;
margin-top: 0px;
margin-bottom: 0px;
}
p.in1 {
padding-left: 0px;
}
p.tightin1 {
padding-left: 0px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin1 {
padding-left: 0px;
margin-bottom: 2px;
}
p.hangingin1 {
padding-left: 50px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in2 {
padding-left: 25px;
}
p.tightin2 {
padding-left: 25px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin2 {
padding-left: 25px;
margin-bottom: 2px;
}
p.hangingin2 {
padding-left: 75px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in3 {
padding-left: 50px;
}
p.tightin3 {
padding-left: 50px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin3 {
padding-left: 50px;
margin-bottom: 2px;
}
p.hangingin3 {
padding-left: 100px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in4 {
padding-left: 75px;
}
p.tightin4 {
padding-left: 75px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin4 {
padding-left: 75px;
margin-bottom: 2px;
}
p.hangingin4 {
padding-left: 125px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in5 {
padding-left: 100px;
}
p.tightin5 {
padding-left: 100px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin5 {
padding-left: 100px;
margin-bottom: 2px;
}
p.hangingin5 {
padding-left: 150px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in6 {
padding-left: 125px;
}
p.tightin6 {
padding-left: 125px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin6 {
padding-left: 125px;
margin-bottom: 2px;
}
p.hangingin6 {
padding-left: 175px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in7 {
padding-left: 150px;
}
p.tightin7 {
padding-left: 150px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin7 {
padding-left: 150px;
margin-bottom: 2px;
}
p.hangingin7 {
padding-left: 200px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in8 {
padding-left: 175px;
}
p.tightin8 {
padding-left: 175px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin8 {
padding-left: 175px;
margin-bottom: 2px;
}
p.hangingin8 {
padding-left: 225px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
p.in9 {
padding-left: 200px;
}
p.tightin9 {
padding-left: 200px;
margin-top: 2px;
margin-bottom: 2px;
}
p.halftightin9 {
padding-left: 200px;
margin-bottom: 2px;
}
p.hangingin9 {
padding-left: 250px;
text-indent: -50px;
margin-top: 0px;
margin-bottom: 1px;
}
/* (2) Index page layout material */
/* The periodic table display has "sidebars", usually grey and taller than they
are wide; they contain no text. */
div.periodictablesidebar {
height: 56px;
width: 16px;
}
.periodictablesidebar a:link { text-decoration: none; }
.periodictablesidebar a:visited { text-decoration: none; }
.periodictablesidebar a:active { text-decoration: none; }
/* The "element boxes" are the cells appearing in the periodic-table display
on the welcome page of the index: */
.elementbox {
position: relative;
height: 56px;
width: 56px;
padding: 0px;
}
.elementbox a:link { text-decoration: none; }
.elementbox a:visited { text-decoration: none; }
.elementbox a:active { text-decoration: none; }
.elementbox a:hover { text-decoration: none; }
.elementbox:hover {
opacity: 0.6;
}
/* The "small element boxes" look like those, but are smaller, and used on
the headings of the content which those original boxes link to: */
.smallelementbox {
position: relative;
height: 40px;
width: 40px;
padding: 0px;
}
.smallelementbox a:link { text-decoration: none; }
.smallelementbox a:visited { text-decoration: none; }
.smallelementbox a:active { text-decoration: none; }
.smallelementbox a:hover { text-decoration: none; }
.smallelementbox:hover {
opacity: 0.6;
}
/* This is a class for the links formed by the element boxes: */
a.elementlink {
position: absolute;
top: -4px;
left: -1px;
width: 100%;
padding: 14px 0px 14px 1px;
text-align: center;
}
/* Similarly for the "atomic number" - a single digit - in the top left corner
of these boxes: */
div.elementnumber {
position: absolute;
top: 1px;
left: 3px;
text-align: left;
}
/* For the text of the element title, to the right of the element box: */
div.elementtitle {
position: absolute;
top: 35px;
width: 100%;
text-align: center;
}
/* Used for the book-contents-page style leaders on the Contents element of
the index: */
ul.leaders {
padding: 0;
margin-top: 1px;
margin-bottom: 0;
overflow-x: hidden;
list-style: none}
ul.leaders li.leaded:before {
float: left;
width: 0;
white-space: nowrap;
content:
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "
". . . . . . . . . . . . . . . . . . . . "}
ul.leaders li.leaded span:first-child {
padding-right: 0.33em;
}
ul.leaders li.leaded span + span {
float: right;
padding-left: 0.33em;
}
li.indent1 span:first-child {
padding-left: 25px;
}
li.indent2 span:first-child {
padding-left: 50px;
}
li.indent3 span:first-child {
padding-left: 75px;
}
li.indent4 span:first-child {
padding-left: 100px;
}
li.indent5 span:first-child {
padding-left: 125px;
}
li.indent6 span:first-child {
padding-left: 150px;
}
li.indent7 span:first-child {
padding-left: 175px;
}
li.indent8 span:first-child {
padding-left: 200px;
}
li.indent9 span:first-child {
padding-left: 225px;
}
li.unleaded:before {
content: "";
}
/* On Registry index pages (such as the Public Library), these are used for
download buttons and the like: */
span.registrybuttons {
height: 20px;
padding: 2px 8px 2px 8px;
margin: 2px;
border:1px solid;
border-radius: 5px;
}
span.registryminibuttons {
height: 14px;
padding: 2px 5px 2px 5px;
margin: 2px;
border:1px solid;
border-radius: 4px;
}
/* Used to hide or display sections in the Registry pages: */
div.registrysectionitemsopen {
display: block;
}
div.registrysectionitemsclosed {
display: none;
}
/* Hanging indentation for Registry item paragraphs: */
p.registryitem {
padding-left: 80px;
text-indent: -40px;
}
p.registryaddition {
padding-left: 40px;
text-indent: -40px;
}
-->
</style>
<script type="text/javascript">
function project() {
return window.Project;
}
function showExtra(id, imid) {
if (document.getElementById(id).style.display == 'block') {
document.getElementById(id).style.display = 'none';
document.getElementById(imid).src = 'inform:/doc_images/extrarboff.png';
} else {
document.getElementById(id).style.display = 'block';
document.getElementById(imid).src = 'inform:/doc_images/extrarbon.png';
}
}
function openExtra(id, imid) {
document.getElementById(id).style.display = 'block';
document.getElementById(imid).src = 'inform:/doc_images/extrarbon.png';
}
function closeExtra(id, imid) {
document.getElementById(id).style.display = 'none';
document.getElementById(imid).src = 'inform:/doc_images/extrarboff.png';
}
</script>
</head>
<body>
<!--CONTENT BEGINS-->
<table border="0" cellspacing="4" cellpadding="0" width=100%>
<tr>
<td align="left" valign="top">
<img src='inform:/doc_images/extensions@2x.png' border=0 width=150 height=150>&nbsp;&nbsp;&nbsp;&nbsp;
</td>
<td align="left" valign="top">
<div class="headingpanellayout headingpanelalt">
<div class="headingtext">
<span class="headingpaneltextalt">Installed Extensions</span></div>
<div class="headingrubric">
<span class="headingpanelrubricalt">Bundles of extra rules or phrases to extend what Inform can do</span></div>
</div>
<p>This part of the Inform application ordinarily displays the extensions which
are installed into the current project. A catalogue of those is made every time
the project is translated, and also every time an extension is added.</p>
<p>However, that seems not to have happened yet, so no catalogue is available.
Try clicking Go and look again, or else all an extension using the menus.</p>
</td>
</tr>
</table>
<!--CONTENT ENDS-->
</body>
</html>

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "BasicInformExtrasKit",
"version": "10.2.0-beta+6W43"
"version": "10.2.0-beta+6W44"
},
"kit-details": {
"has-priority": 1

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "BasicInformKit",
"version": "10.2.0-beta+6W43"
"version": "10.2.0-beta+6W44"
},
"needs": [ {
"unless": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "CommandParserKit",
"version": "10.2.0-beta+6W43"
"version": "10.2.0-beta+6W44"
},
"needs": [ {
"need": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "EnglishLanguageKit",
"version": "10.2.0-beta+6W43"
"version": "10.2.0-beta+6W44"
},
"needs": [ {
"need": {

View file

@ -2,7 +2,7 @@
"is": {
"type": "kit",
"title": "WorldModelKit",
"version": "10.2.0-beta+6W43"
"version": "10.2.0-beta+6W44"
},
"needs": [ {
"need": {

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 35 KiB