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

Began revisions to facilitate use of per-platform CSS

This commit is contained in:
Graham Nelson 2022-05-04 23:23:12 +01:00
parent 6ff3fd8db9
commit 8194bee4d4
83 changed files with 1035 additions and 815 deletions

View file

@ -739,7 +739,7 @@ indentation implicitly requires it.
<span class="plain-syntax"> </span><span class="string-syntax">"to be %2, in case that helps. %P"</span>
<span class="plain-syntax"> </span><span class="string-syntax">"This sometimes happens even when the code looks about right, to the eye, if rows "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"of spaces have been used to indent phrases instead of tabs."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::diagnose_further</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::diagnose_further</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> }</span>
</pre>

View file

@ -544,7 +544,7 @@ at which point it becomes a <span class="extract"><span class="extract-syntax">P
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_WithIsWith</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_WithIsWith</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"you can't say that one general description is another "</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"for instance by writing 'A container with carrying capacity 10 is a "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"container with description \"Handy.\"'."</span><span class="plain-syntax">);</span>
@ -573,7 +573,7 @@ like properties.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_XofYisZofW</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_XofYisZofW</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to say two different properties are not simply equal "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"but somehow the same thing"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying that 'the printed name of the millpond is the "</span>
@ -586,7 +586,7 @@ like properties.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadXofY</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadXofY</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this is the wrong way around if you want to specify a property"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying that '10 is the score of the platinum pyramid', "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"which is poor style. (Though sweet are the uses of adversity.)"</span><span class="plain-syntax">);</span>
@ -714,7 +714,7 @@ specifying its edibility.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindOfKindDisallowed</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindOfKindDisallowed</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"you aren't allowed to make new kinds of kinds"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"only kinds of things which already exist. So 'A fox is a kind of animal' "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"is fine, but 'A tricky kind is a kind of kind' isn't allowed."</span><span class="plain-syntax">);</span>
@ -725,7 +725,7 @@ specifying its edibility.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindOfEveryDisallowed</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindOfEveryDisallowed</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"you aren't allowed to make a kind of everything"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"or of everything matching a description. 'A badger is a kind of animal' "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"is fine, but 'A gene is a kind of every animal' isn't allowed. (Probably "</span>
@ -737,7 +737,7 @@ specifying its edibility.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindUncertainDisallowed</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindUncertainDisallowed</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"you aren't allowed to make a kind in a way expressing certainty or doubt"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so 'A badger is a kind of animal' is fine, but 'A fungus is usually a "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"kind of every animal' isn't allowed, and nor is 'A fern is never a kind "</span>
@ -803,7 +803,7 @@ further sub-cases later.
<span class="plain-syntax"> </span><a href="4-ass.html#SP6" class="function-link"><span class="function-syntax">Assertions::make_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_PeculiarProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_PeculiarProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that is a very peculiar property value"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"and ought to be something more definite and explicit."</span><span class="plain-syntax">);</span>
</pre>
@ -812,7 +812,7 @@ further sub-cases later.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindOfIs</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindOfIs</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that seems to say that a new kind is the same as something else"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying 'A kind of container is a canister': which ought to be put the "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"other way round, 'A canister is a kind of container'."</span><span class="plain-syntax">);</span>
@ -830,7 +830,7 @@ further sub-cases later.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="8-aa.html#SP5" class="function-link"><span class="function-syntax">AdjectiveAmbiguity::has_enumerative_meaning</span></a><span class="plain-syntax">(</span><a href="8-tap.html#SP4" class="function-link"><span class="function-syntax">AdjectivalPredicates::to_adjective</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">pred</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">property</span><span class="plain-syntax"> *</span><span class="identifier-syntax">prn</span><span class="plain-syntax"> = </span><span class="identifier-syntax">ValueProperties::obtain</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">next</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">) == </span><span class="identifier-syntax">WITH_NT</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_EOOwnerMutable</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_EOOwnerMutable</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"either/or properties have to be given to clearly identifiable "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"owners"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"rather than to a collection of owners which might vary during "</span>
@ -842,7 +842,7 @@ further sub-cases later.
<span class="plain-syntax"> </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">), </span><span class="identifier-syntax">py</span><span class="plain-syntax">);</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">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NonAdjectivalProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NonAdjectivalProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that property can't be used adjectivally as a value"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"since it is an adjective applying to a thing but is "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"not a name from a range of possibilities."</span><span class="plain-syntax">);</span>
@ -883,7 +883,7 @@ further sub-cases later.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadEvery</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadEvery</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'every' (or 'always') can't be used in that way"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"and should be reserved for sentences like 'A coin is in every room'."</span><span class="plain-syntax">);</span>
</pre>
@ -898,7 +898,7 @@ not "every room".
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadEvery2</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadEvery2</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'every' can't be used in that way"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"and should be reserved for sentences like 'A coin is in every room'."</span><span class="plain-syntax">);</span>
</pre>
@ -950,7 +950,7 @@ pretty improbable:
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ActionEquated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ActionEquated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"an action can't be the same as a thing"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so my guess is that this is an attempt to categorise an action which went "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"wrong because there was already something of that name in existence. For "</span>
@ -959,7 +959,7 @@ pretty improbable:
<span class="plain-syntax"> </span><span class="string-syntax">"actions at once to a named kind of action, like 'Taking and dropping are "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"manipulation.' - only one can be named at a time.)"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ActionEquated2</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ActionEquated2</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that means something else already"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so it will only confuse things if we use it for a kind of action."</span><span class="plain-syntax">);</span>
</pre>
@ -978,7 +978,7 @@ a spatial location.
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-rpt.html#SP4" class="function-link"><span class="function-syntax">Refiner::turn_player_to_yourself</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">)) { </span><a href="4-ass.html#SP6" class="function-link"><span class="function-syntax">Assertions::make_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="4-rpt.html#SP4" class="function-link"><span class="function-syntax">Refiner::turn_player_to_yourself</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">)) { </span><a href="4-ass.html#SP6" class="function-link"><span class="function-syntax">Assertions::make_coupling</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">); </span><span class="reserved-syntax">return</span><span class="plain-syntax">; }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_IntangibleRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_IntangibleRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to give a worldly relationship to something intangible"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying that 'in the box is a text'. Perhaps it came "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"to this because you gave something physical a name which was "</span>
@ -998,7 +998,7 @@ a spatial location.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_XofYRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_XofYRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to say that a property of something is not simply equal "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"to what happens at the moment to satisfy some relationship, but "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"conceptually the same as that relationship"</span><span class="plain-syntax">,</span>
@ -1046,7 +1046,7 @@ possible to coerce the left side to a noun, we will.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_DescriptionIsOther</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_DescriptionIsOther</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to say that a general description is something else"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying that 'a door is 20'."</span><span class="plain-syntax">);</span>
</pre>
@ -1062,7 +1062,7 @@ possible to coerce the left side to a noun, we will.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ActionAdjective</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ActionAdjective</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that is already the name of a property"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so it will only confuse things if we use it for a kind of action."</span><span class="plain-syntax">);</span>
</pre>
@ -1120,7 +1120,7 @@ but not in this context.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="function-syntax">&lt;activity-name-formal&gt;</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">)))</span>
<span class="plain-syntax"> </span><a href="6-act.html#SP8" class="function-link"><span class="function-syntax">Activities::add_variable</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">av</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadActivityRef</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadActivityRef</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"an activity has to be formally referred to in a way making clear that "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"it is indeed a rulebook when we give it named values"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"to reduce the risk of ambiguity. So 'The printing the banner text "</span>
@ -1146,7 +1146,7 @@ but not in this context.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="function-syntax">&lt;rulebook-name-formal&gt;</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">)))</span>
<span class="plain-syntax"> </span><a href="6-rlb.html#SP10" class="function-link"><span class="function-syntax">Rulebooks::add_variable</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">rb</span><span class="plain-syntax">, </span><span class="identifier-syntax">py</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadRulebookRef</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadRulebookRef</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"a rulebook has to be formally referred to in a way making clear that "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"it is indeed a rulebook when we give it named values"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"to reduce the risk of ambiguity. So 'The every turn rulebook has a "</span>
@ -1162,7 +1162,7 @@ but not in this context.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_TooVagueForVariables</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_TooVagueForVariables</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this is too vague a description of the owner of the property"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so that I don't know where to put this. Something like 'A person "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"has a number called age' is fine, but 'A kind has a number called "</span>
@ -1173,7 +1173,7 @@ but not in this context.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_HasNoVariables</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_HasNoVariables</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"only an object, kind, rulebook, action or activity can be allowed to have "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"properties or variables"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so for instance 'A door has a colour' is fine but not 'A number has a length'."</span><span class="plain-syntax">);</span>
@ -1261,7 +1261,7 @@ properties) and for kinds (which do, but differently).
<span class="plain-syntax"> </span><span class="reserved-syntax">return</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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</span><span class="plain-syntax">) != </span><span class="identifier-syntax">COMMON_NOUN_NT</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"$T\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_Unspecifiable</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_Unspecifiable</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this tries to set specification text for a particular value"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"rather than a kind of value. 'Specification' is a special property used "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"only to annotate the Index, and it makes no sense to set this property for "</span>
@ -1277,7 +1277,7 @@ properties) and for kinds (which do, but differently).
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="function-syntax">&lt;s-literal&gt;</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">)) &amp;&amp; (</span><span class="identifier-syntax">Rvalues::is_CONSTANT_of_kind</span><span class="plain-syntax">(</span><span class="function-syntax">&lt;&lt;rp&gt;&gt;</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_text</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Word::dequote</span><span class="plain-syntax">(</span><span class="identifier-syntax">Wordings::first_wn</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_SpecNotText</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_SpecNotText</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this tries to set a specification to something other than literal quoted text"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"which will not work. 'Specification' is a special property used only to "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"annotate the Index, and specifically the Kinds index, so it makes no sense to "</span>
@ -1290,7 +1290,7 @@ properties) and for kinds (which do, but differently).
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_OverspecifiedSpec</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_OverspecifiedSpec</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this tries to set a property for something more complicated than a single thing "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"named without qualifications"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"and that isn't allowed. For instance, 'The description of the Great Portal is "</span>
@ -1305,7 +1305,7 @@ properties) and for kinds (which do, but differently).
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadInferenceSubject</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadInferenceSubject</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this tries to set a property for a value which can't have properties"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"and that isn't allowed. For instance, 'The description of the Great Portal is "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"\"It's open.\"' would be fine, if Great Portal were a room, but 'The description "</span>
@ -1317,7 +1317,7 @@ properties) and for kinds (which do, but differently).
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_GeneralitySpec</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_GeneralitySpec</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this tries to set a property for a complicated generality of items all at once"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"which can lead to ambiguities. For instance, 'The description of an open door "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"is \"It's open.\"' is not allowed: if we followed Inform's normal conventions "</span>
@ -1345,7 +1345,7 @@ properties) and for kinds (which do, but differently).
<span class="plain-syntax"> </span><span class="identifier-syntax">action_pattern</span><span class="plain-syntax"> *</span><span class="identifier-syntax">apy</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_action_meaning</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</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">apy</span><span class="plain-syntax">) &amp;&amp; (</span><span class="identifier-syntax">ActionPatterns::is_named</span><span class="plain-syntax">(</span><span class="identifier-syntax">apy</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">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Actions: $A and $A\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">apx</span><span class="plain-syntax">, </span><span class="identifier-syntax">apy</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ActionsEquated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ActionsEquated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"two actions are rather oddly equated here"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"which would only make sense if the second were a named pattern of actions "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like (say) 'unseemly behaviour'."</span><span class="plain-syntax">);</span>
@ -1380,7 +1380,7 @@ in this case.
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_RelationsEquated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_RelationsEquated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this says that two different relations are the same"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying that 'in the box is on the table'. (Sometimes this "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"happens if I misinterpret names of places like 'In Prison' or "</span>
@ -1424,13 +1424,13 @@ opera about a dog, "Collared Is Bowser".)
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_AdjectiveIsObject</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_AdjectiveIsObject</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that seems to say that an adjective is a noun"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying 'Open are the doubled doors': which I'm picky about, preferring "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"it written the other way about ('The doubled doors are open'). Less poetic, "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"but clearer style."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_AdjectiveIsValue</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_AdjectiveIsValue</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that suggests that an adjective has some sort of value"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying 'Open is a number' or 'Scenery is 5': but of course an adjective "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"represents something which is either true or false."</span><span class="plain-syntax">);</span>
@ -1475,12 +1475,12 @@ opera about a dog, "Collared Is Bowser".)
<span class="plain-syntax"> </span><span class="identifier-syntax">parse_node</span><span class="plain-syntax"> *</span><span class="identifier-syntax">v</span><span class="plain-syntax"> = </span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">down</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">Node::is</span><span class="plain-syntax">(</span><span class="identifier-syntax">v</span><span class="plain-syntax">, </span><span class="identifier-syntax">VERB_NT</span><span class="plain-syntax">)) &amp;&amp;</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">v</span><span class="plain-syntax">, </span><span class="identifier-syntax">verbal_certainty_ANNOT</span><span class="plain-syntax">) == </span><span class="identifier-syntax">INITIALLY_CE</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ObjectIsAction2</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ObjectIsAction2</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"you need to add 'the action of' after 'initially'"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"in order to clarify that you mean this sentence to set a variable "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"to an action (if in fact that's what you mean to do!)."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ObjectIsAction</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ObjectIsAction</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that is putting the definition back to front"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"since I need these categorisations of actions to take the form 'Kissing a "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"woman is love', not 'Love is kissing a woman'. (This is really because it "</span>
@ -1496,7 +1496,7 @@ opera about a dog, "Collared Is Bowser".)
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_EveryEquated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_EveryEquated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"I can't do that"</span><span class="plain-syntax">, </span><span class="string-syntax">"Dave."</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="4-ass.html#SP6_3">&#167;6.3</a>.</li></ul>
@ -1530,7 +1530,7 @@ this ought to be allowed...
<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">Kinds::Behaviour::is_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">Specifications::to_kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_evaluation</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">))))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KindRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"something described only by its kind should not be given a "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"specific place or role in the world"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"to avoid ambiguity. For instance, suppose 'car' is a kind. Then "</span>
@ -1541,7 +1541,7 @@ this ought to be allowed...
<span class="plain-syntax"> </span><span class="string-syntax">"though more specific ones like 'a car called Genevieve is in the "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"garage' are fine, as is the reverse, 'In the garage is a car.'"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KOVRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_KOVRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to give a worldly relationship to something intangible"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"possibly due to an accidental clash of names between a kind of "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"value and something in the real world. "</span>
@ -1781,7 +1781,7 @@ two whole domains. (We have the "kind of..." syntax instead.)
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Specifications::is_new_variable_like</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_evaluation</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_VarKOVClash</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_VarKOVClash</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"the name supplied for this new variable is a piece of text "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"which is not available because it has a rival meaning already"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"as a result of definitions made elsewhere. (Sometimes these "</span>
@ -2017,7 +2017,7 @@ the "creation proposition" of Y, and we now assert this to be true about X.
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-ass.html#SP6_3_40_1" class="named-paragraph-link"><span class="named-paragraph">Silently pass sentences like "The colours are red and blue."</span><span class="named-paragraph-number">6.3.40.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::Behaviour::is_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">Specifications::to_kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_evaluation</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">))))</span>
<span class="plain-syntax"> </span><a href="4-ass.html#SP8" class="function-link"><span class="function-syntax">Assertions::issue_value_equation_problem</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">, </span><span class="identifier-syntax">px</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_CommonIsProper</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_CommonIsProper</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to say that a general description is something else"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying that 'a door is 20'."</span><span class="plain-syntax">);</span>
</pre>
@ -2087,7 +2087,7 @@ these sentences falls into case 41.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Rvalues::is_object</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_evaluation</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">)))</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-ass.html#SP6_3_41_2" class="named-paragraph-link"><span class="named-paragraph">Otherwise it's just wrong to equate objects</span><span class="named-paragraph-number">6.3.41.2</span></a></span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Rvalues::is_CONSTANT_construction</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_evaluation</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">), </span><span class="identifier-syntax">CON_property</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ObjectIsProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ObjectIsProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that seems to say that some object is a property"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying 'The brick building is the description': if you want to specify "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"the description of the current object, try putting the sentence the other way "</span>
@ -2110,7 +2110,7 @@ these sentences falls into case 41.
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="2-ar.html#SP1" class="function-link"><span class="function-syntax">Anaphora::get_current_subject</span></a><span class="plain-syntax">() == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NoMapOrigin</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NoMapOrigin</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"no location is under discussion to be the origin of this map connection"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so this is like starting with 'North is the Aviary': I can't tell where from."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
@ -2121,7 +2121,7 @@ these sentences falls into case 41.
<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">global_pass_state</span><span class="plain-syntax">.</span><span class="element-syntax">pass</span><span class="plain-syntax"> == </span><span class="constant-syntax">2</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">target</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_MapNonObject</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_MapNonObject</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to make a map connection to something which is "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"not an object"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying '20 is north'. This is an odd thing "</span>
@ -2141,7 +2141,7 @@ these sentences falls into case 41.
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::quote_wording</span><span class="plain-syntax">(3, </span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</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">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">) == </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ProperIsItself</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ProperIsItself</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to say that something is itself"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"like saying 'the coin is the coin'. This is an odd thing "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"to say, and makes me think that I've misunderstood you."</span><span class="plain-syntax">);</span>
@ -2196,7 +2196,7 @@ these sentences falls into case 41.
<span class="plain-syntax"> </span><span class="string-syntax">"properties: for instance '%6 is a lighted room' says that something "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"called %6 exists and that it is a 'room', which is a kind I know about, "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"combined with a property called 'lighted' which I also know about."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::diagnose_further</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::diagnose_further</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="4-ass.html#SP6_3_41_2">&#167;6.3.41.2</a>.</li></ul>
@ -2287,7 +2287,7 @@ yet during traverse 1.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Rvalues::is_CONSTANT_construction</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_evaluation</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">), </span><span class="identifier-syntax">CON_property</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">talking_about</span><span class="plain-syntax"> = </span><a href="2-ar.html#SP1" class="function-link"><span class="function-syntax">Anaphora::get_current_subject</span></a><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">talking_about</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NothingDiscussed</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NothingDiscussed</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"nothing is under discussion which might have this property"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so this is like starting with 'The description is \"Orange.\"': "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"I can't tell what of."</span><span class="plain-syntax">);</span>

View file

@ -108,7 +108,7 @@ automatically creates it.
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="function-syntax">&lt;k-kind&gt;</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">))) &amp;&amp;</span>
<span class="plain-syntax"> ((</span><span class="function-syntax">&lt;&lt;rp&gt;&gt;</span><span class="plain-syntax"> == </span><span class="identifier-syntax">K_number</span><span class="plain-syntax">) || (</span><span class="function-syntax">&lt;&lt;rp&gt;&gt;</span><span class="plain-syntax"> == </span><span class="identifier-syntax">K_text</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BareProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BareProperty</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this would create a property called 'number' or 'text'"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"and although bare names of kinds are usually allowed as properties, "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"these aren't. Instead, try '... has a number called position.' or "</span>
@ -132,12 +132,12 @@ automatically creates it.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">Kinds::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">, </span><span class="identifier-syntax">K_action_name</span><span class="plain-syntax">)) ||</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::get_construct</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">) == </span><span class="identifier-syntax">CON_activity</span><span class="plain-syntax">) ||</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">Kinds::get_construct</span><span class="plain-syntax">(</span><span class="identifier-syntax">K</span><span class="plain-syntax">) == </span><span class="identifier-syntax">CON_rulebook</span><span class="plain-syntax">))</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ValueCantHaveVProperties2</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ValueCantHaveVProperties2</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this is a kind of value which is not allowed to have properties of its own"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"because this would cause confusion with variables, which are more useful in "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"most cases. (See the Kinds index for which kinds can have properties.)"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ValueCantHaveVProperties</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ValueCantHaveVProperties</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this is a kind of value which is not allowed to have properties of its own"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"because this would be impossible to store in any sensible way. For instance, "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'A scene has a number called difficulty.' is fine because there are not many "</span>

View file

@ -692,7 +692,7 @@ it handles crashes correctly.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NameWithText</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NameWithText</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to give something a name which contains "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"double-quoted text"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"which is not allowed. If you do need quotes in a name, one option "</span>
@ -708,7 +708,7 @@ it handles crashes correctly.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NameReserved</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NameReserved</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this seems to give something a name which is reserved for Inform's "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"own internal use"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so is not allowed. There are only a few of these - 'storage', "</span>
@ -923,7 +923,7 @@ them by asserting propositions to be true; we act directly.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NoTopicsThatVary</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NoTopicsThatVary</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'topics that vary' are not allowed"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"that is, a variable is not allowed to have 'topic' as its kind of value. "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"(This would cause too much ambiguity with text variables, whose values "</span>
@ -1123,7 +1123,7 @@ message says about performance, too.)
<span class="plain-syntax"> </span><span class="identifier-syntax">instance_count</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">, </span><span class="identifier-syntax">multiplicity_ANNOT</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">instance_count</span><span class="plain-syntax"> &lt; </span><span class="constant-syntax">1</span><span class="plain-syntax">) </span><span class="identifier-syntax">instance_count</span><span class="plain-syntax"> = </span><span class="constant-syntax">1</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">instance_count</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">MAX_DUPLICATES_AT_ONCE</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_TooManyDuplicates</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_TooManyDuplicates</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"at most 100 duplicates can be made at any one time"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so '157 chairs are in the UN General Assembly' will not be allowed. The "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"system for handling duplicates during play becomes too slow and awkward "</span>

View file

@ -289,7 +289,7 @@ that the rest is property name; and otherwise
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">W</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Articles::remove_the</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">p</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Wordings::empty</span><span class="plain-syntax">(</span><span class="identifier-syntax">W</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">BelievedImpossible</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">BelievedImpossible</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this looked to me as if it might be trying to create something "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"which has certain properties"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"and that made no sense on investigation. This sometimes happens "</span>
@ -310,7 +310,7 @@ that the rest is property name; and otherwise
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"Failed property list: pname = &lt;%W&gt;; pval = &lt;%W&gt;\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">PW</span><span class="plain-syntax">, </span><span class="identifier-syntax">VW</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadPropertyList</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadPropertyList</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"this looked to me as if it might be trying to create something "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"which has certain properties"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"and that made no sense on investigation. This sometimes happens "</span>

View file

@ -69,10 +69,10 @@ function togglePopup(material_id) {
traditional Unix errors, even if they're long ones:
</p>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">FORMAT_CONSOLE_PROBLEMS_CALLBACK</span><span class="plain-syntax"> </span><a href="2-up.html#SP2" class="function-link"><span class="function-syntax">Problems::Using::console_format</span></a>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">FORMAT_CONSOLE_PROBLEMS_CALLBACK</span><span class="plain-syntax"> </span><a href="2-up.html#SP2" class="function-link"><span class="function-syntax">UsingProblems::console_format</span></a>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::console_format</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sig_mode</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">break_width</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> **</span><span class="identifier-syntax">fallback</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">UsingProblems::console_format</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">sig_mode</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> *</span><span class="identifier-syntax">break_width</span><span class="plain-syntax">, </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> **</span><span class="identifier-syntax">fallback</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">Main::silence_is_golden</span><span class="plain-syntax">()) {</span>
<span class="plain-syntax"> *</span><span class="identifier-syntax">sig_mode</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> *</span><span class="identifier-syntax">break_width</span><span class="plain-syntax"> = </span><span class="constant-syntax">10000000</span><span class="plain-syntax">; </span><span class="comment-syntax"> i.e., do not word-wrap problem messages at all</span>
@ -85,19 +85,22 @@ traditional Unix errors, even if they're long ones:
non-problem messages when everything was fine. That all happens here:
</p>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">START_PROBLEM_FILE_PROBLEMS_CALLBACK</span><span class="plain-syntax"> </span><a href="2-up.html#SP3" class="function-link"><span class="function-syntax">Problems::Using::start_problems_report</span></a>
<span class="definition-keyword">define</span> <span class="constant-syntax">INFORMATIONAL_ADDENDA_PROBLEMS_CALLBACK</span><span class="plain-syntax"> </span><a href="2-up.html#SP3" class="function-link"><span class="function-syntax">Problems::Using::final_report</span></a>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">START_PROBLEM_FILE_PROBLEMS_CALLBACK</span><span class="plain-syntax"> </span><a href="2-up.html#SP3" class="function-link"><span class="function-syntax">UsingProblems::start_problems_report</span></a>
<span class="definition-keyword">define</span> <span class="constant-syntax">END_PROBLEM_FILE_PROBLEMS_CALLBACK</span><span class="plain-syntax"> </span><a href="2-up.html#SP3" class="function-link"><span class="function-syntax">UsingProblems::end_problems_report</span></a>
<span class="definition-keyword">define</span> <span class="constant-syntax">INFORMATIONAL_ADDENDA_PROBLEMS_CALLBACK</span><span class="plain-syntax"> </span><a href="2-up.html#SP3" class="function-link"><span class="function-syntax">UsingProblems::final_report</span></a>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::start_problems_report</span><span class="plain-syntax">(</span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">UsingProblems::start_problems_report</span><span class="plain-syntax">(</span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">STREAM_OPEN_TO_FILE</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">UTF8_ENC</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">Problems::fatal_on_file</span><span class="plain-syntax">(</span><span class="string-syntax">"Can't open problem log"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Translating the Source"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSS_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InformPages::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Translating the Source"</span><span class="plain-syntax">, </span><span class="identifier-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::final_report</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">disaster_struck</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">problems_count</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">UsingProblems::end_problems_report</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InformPages::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">UsingProblems::final_report</span><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">disaster_struck</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">problems_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">total_words</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">problem_count</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
@ -109,7 +112,8 @@ non-problem messages when everything was fine. That all happens here:
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">problems_file_active</span><span class="plain-syntax">) </span><span class="identifier-syntax">ProblemBuffer::redirect_problem_stream</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">else</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">rooms</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">, </span><span class="identifier-syntax">things</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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">problems_file_active</span><span class="plain-syntax">) </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">Problems::Using::html_outcome_image</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">, </span><span class="string-syntax">"ni_succeeded"</span><span class="plain-syntax">, </span><span class="string-syntax">"Succeeded"</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">problems_file_active</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">UsingProblems::html_outcome_image</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">, </span><span class="string-syntax">"ni_succeeded"</span><span class="plain-syntax">, </span><span class="string-syntax">"Succeeded"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">IF_MODULE</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Spatial::get_world_size</span><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">rooms</span><span class="plain-syntax">, &amp;</span><span class="identifier-syntax">things</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
@ -165,7 +169,7 @@ ingratitude of some &mdash; oh, all right.
<span class="plain-syntax"> </span><span class="string-syntax">"Problems occurring in translation prevented the game "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"from being properly created. (Correct the source text to "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"remove these problems and click on Go once again.)"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">Problems::Using::outcome_image_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">UsingProblems::outcome_image_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">STATUS</span><span class="plain-syntax"> = </span><a href="1-pp.html#SP2" class="function-link"><span class="function-syntax">ProgressBar::begin_outcome</span></a><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">STATUS</span><span class="plain-syntax">) {</span>
@ -203,7 +207,7 @@ command line &mdash; deserves the truth.
<span class="plain-syntax"> </span><span class="string-syntax">"into a world with %1 %2 and %3 %4, and the index has been "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"brought up to date."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">Problems::Using::outcome_image_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">UsingProblems::outcome_image_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</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">telemetry_recording</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Telemetry::ensure_telemetry_file</span><span class="plain-syntax">();</span>
@ -250,17 +254,17 @@ success or failure. We also use special images on special occasions.
to issue its first problem of the run:
</p>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">FIRST_PROBLEMS_CALLBACK</span><span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">Problems::Using::html_outcome_failed</span></a>
<pre class="definitions code-font"><span class="definition-keyword">define</span> <span class="constant-syntax">FIRST_PROBLEMS_CALLBACK</span><span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">UsingProblems::html_outcome_failed</span></a>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::html_outcome_failed</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">UsingProblems::html_outcome_failed</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</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">StandardProblems::internal_errors_have_occurred</span><span class="plain-syntax">())</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">Problems::Using::html_outcome_image</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">, </span><span class="string-syntax">"ni_failed_badly"</span><span class="plain-syntax">, </span><span class="string-syntax">"Failed"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">UsingProblems::html_outcome_image</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">, </span><span class="string-syntax">"ni_failed_badly"</span><span class="plain-syntax">, </span><span class="string-syntax">"Failed"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">Problems::Using::html_outcome_image</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">, </span><span class="string-syntax">"ni_failed"</span><span class="plain-syntax">, </span><span class="string-syntax">"Failed"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP5" class="function-link"><span class="function-syntax">UsingProblems::html_outcome_image</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">, </span><span class="string-syntax">"ni_failed"</span><span class="plain-syntax">, </span><span class="string-syntax">"Failed"</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::html_outcome_image</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">Problems::Using::html_outcome_image</span></span>:<br/><a href="2-up.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">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">image</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">verdict</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">UsingProblems::html_outcome_image</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">UsingProblems::html_outcome_image</span></span>:<br/><a href="2-up.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">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">image</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">verdict</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">vn</span><span class="plain-syntax"> = </span><span class="string-syntax">""</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">be_festive</span><span class="plain-syntax"> = </span><span class="identifier-syntax">TRUE</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">StandardProblems::internal_errors_have_occurred</span><span class="plain-syntax">() == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">be_festive</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">;</span>
@ -296,7 +300,7 @@ to issue its first problem of the run:
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::comment</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">"PROBLEMS BEGIN"</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::outcome_image_tail</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">Problems::Using::outcome_image_tail</span></span>:<br/><a href="2-up.html#SP3_2">&#167;3.2</a>, <a href="2-up.html#SP3_3">&#167;3.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">UsingProblems::outcome_image_tail</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">UsingProblems::outcome_image_tail</span></span>:<br/><a href="2-up.html#SP3_2">&#167;3.2</a>, <a href="2-up.html#SP3_3">&#167;3.3</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</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">problems_file_active</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">outcome_image_style</span><span class="plain-syntax"> == </span><span class="constant-syntax">SIDE_OUTCOME_IMAGE_STYLE</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::comment</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">"PROBLEMS END"</span><span class="plain-syntax">);</span>
@ -319,7 +323,7 @@ a message which diagnoses the problem rather better.
</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">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><span class="identifier-syntax">SIGIL_ARGUMENTS</span><span class="plain-syntax">,</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">parse_node_tree</span><span class="plain-syntax"> *</span><span class="identifier-syntax">T</span><span class="plain-syntax">, </span><span class="identifier-syntax">SIGIL_ARGUMENTS</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">message</span><span class="plain-syntax">, </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">explanation</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">wording</span><span class="plain-syntax"> </span><span class="identifier-syntax">RTW</span><span class="plain-syntax"> = </span><span class="identifier-syntax">EMPTY_WORDING</span><span class="plain-syntax">; </span><span class="comment-syntax"> "rather than" text</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">ACT_ON_SIGIL</span>
@ -352,11 +356,11 @@ a message which diagnoses the problem rather better.
<span class="plain-syntax"> </span><span class="string-syntax">" %P(It may help to know that I am reading the primary verb here "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"as '%4', not '%5'.)"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP6" class="function-link"><span class="function-syntax">Problems::Using::diagnose_further</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><a href="2-up.html#SP6" class="function-link"><span class="function-syntax">UsingProblems::diagnose_further</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Problems::Using::diagnose_further</span><span class="plain-syntax">(</span><span class="reserved-syntax">void</span><span class="plain-syntax">) {</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">UsingProblems::diagnose_further</span><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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">current_sentence</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="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Wordings::empty</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">current_sentence</span><span class="plain-syntax">))) </span><span class="reserved-syntax">return</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">sqc</span><span class="plain-syntax"> = </span><span class="constant-syntax">0</span><span class="plain-syntax">;</span>

View file

@ -82,7 +82,7 @@ following have been thoroughly debugged and only rarely give trouble &mdash;
<span class="identifier-syntax">DECLARE_CLASS</span><span class="plain-syntax">(</span><span class="reserved-syntax">localisation_dictionary</span><span class="plain-syntax">)</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="P-htitm.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresscurrentchapter">1</li><li class="progresscurrent">hm</li><li class="progresschapter"><a href="2-sl.html">2</a></li><li class="progressnext"><a href="2-sl.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="P-htitm.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresscurrentchapter">1</li><li class="progresscurrent">hm</li><li class="progresschapter"><a href="2-ip.html">2</a></li><li class="progressnext"><a href="2-ip.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -756,7 +756,7 @@ cell. Here the inset table begins:
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-dr.html#SP9">&#167;9</a> (twice).</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-pb.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresscurrent">dr</li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-if.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-pb.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-ip.html">ip</a></li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresscurrent">dr</li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-if.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -459,7 +459,7 @@ and we need to search fairly seldom:
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-dr2.html#SP12">&#167;12</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-if.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresscurrent">dr2</li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-lcl.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-if.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-ip.html">ip</a></li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresscurrent">dr2</li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-lcl.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -76,12 +76,13 @@ but they're just plain old files, and are not managed by Inbuild as "copies".
<span class="definition-keyword">enum</span> <span class="constant-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">JAVASCRIPT_FOR_EXTENSIONS_IRES</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">JAVASCRIPT_FOR_ONE_EXTENSION_IRES</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">CSS_SET_BY_PLATFORM_IRES</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">CSS_FOR_STANDARD_PAGES_IRES</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">CSS_FOR_INDEX_PAGES_IRES</span>
<span class="definition-keyword">enum</span> <span class="constant-syntax">EXTENSION_DOCUMENTATION_MODEL_IRES</span>
</pre>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="function-syntax">InstalledFiles::filename</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">InstalledFiles::filename</span></span>:<br/>Documentation References - <a href="2-dr2.html#SP3">&#167;3</a>, <a href="2-dr2.html#SP11_1">&#167;11.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">ires</span><span class="plain-syntax">) {</span>
<span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="function-syntax">InstalledFiles::filename</span><button class="popup" onclick="togglePopup('usagePopup1')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup1">Usage of <span class="code-font"><span class="function-syntax">InstalledFiles::filename</span></span>:<br/>Inform Pages - <a href="2-ip.html#SP1">&#167;1</a><br/>Documentation References - <a href="2-dr2.html#SP3">&#167;3</a>, <a href="2-dr2.html#SP11_1">&#167;11.1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">ires</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">internal</span><span class="plain-syntax"> = </span><span class="identifier-syntax">INSTALLED_FILES_HTML_CALLBACK</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">misc</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Pathnames::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">internal</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Miscellany"</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">models</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Pathnames::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">internal</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"HTML"</span><span class="plain-syntax">);</span>
@ -98,27 +99,45 @@ but they're just plain old files, and are not managed by Inbuild as "copies".
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">misc</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Small Cover.jpg"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CBLORB_REPORT_MODEL_IRES:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CblorbModel.html"</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-if.html#SP2" class="function-link"><span class="function-syntax">InstalledFiles::varied_by_platform</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"CblorbModel.html"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">DOCUMENTATION_XREFS_IRES:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"xrefs.txt"</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-if.html#SP2" class="function-link"><span class="function-syntax">InstalledFiles::varied_by_platform</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"xrefs.txt"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"main.js"</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-if.html#SP2" class="function-link"><span class="function-syntax">InstalledFiles::varied_by_platform</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"main.js"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">JAVASCRIPT_FOR_EXTENSIONS_IRES:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"extensions.js"</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-if.html#SP2" class="function-link"><span class="function-syntax">InstalledFiles::varied_by_platform</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"extensions.js"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">JAVASCRIPT_FOR_ONE_EXTENSION_IRES:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"extensionfile.js"</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-if.html#SP2" class="function-link"><span class="function-syntax">InstalledFiles::varied_by_platform</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"extensionfile.js"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CSS_SET_BY_PLATFORM_IRES:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><a href="2-if.html#SP2" class="function-link"><span class="function-syntax">InstalledFiles::varied_by_platform</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"platform.css"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CSS_FOR_STANDARD_PAGES_IRES:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"main.css"</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-if.html#SP2" class="function-link"><span class="function-syntax">InstalledFiles::varied_by_platform</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"main.css"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">CSS_FOR_INDEX_PAGES_IRES:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.css"</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-if.html#SP2" class="function-link"><span class="function-syntax">InstalledFiles::varied_by_platform</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"index.css"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">case</span><span class="plain-syntax"> </span><span class="identifier-syntax">EXTENSION_DOCUMENTATION_MODEL_IRES:</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"extensionfile.html"</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-if.html#SP2" class="function-link"><span class="function-syntax">InstalledFiles::varied_by_platform</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"extensionfile.html"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">internal_error</span><span class="plain-syntax">(</span><span class="string-syntax">"unknown installation resource file"</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">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b>This directory also holds the <span class="extract"><span class="extract-syntax">Basic.indext</span></span> and <span class="extract"><span class="extract-syntax">Standard.indext</span></span> index
<p class="commentary firstcommentary"><a id="SP2" class="paragraph-anchor"></a><b>&#167;2. </b>This enables each platform to provide its own CSS and Javascript definitions,
if they would prefer that:
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="function-syntax">InstalledFiles::varied_by_platform</span><button class="popup" onclick="togglePopup('usagePopup2')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup2">Usage of <span class="code-font"><span class="function-syntax">InstalledFiles::varied_by_platform</span></span>:<br/><a href="2-if.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">leafname</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">variation</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">variation</span><span class="plain-syntax">, </span><span class="string-syntax">"%s-%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">PLATFORM_STRING</span><span class="plain-syntax">, </span><span class="identifier-syntax">leafname</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="comment-syntax"> NB: PLATFORM_STRING is a C string, so that %s is correct</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">variation</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">TextFiles::exists</span><span class="plain-syntax">(</span><span class="identifier-syntax">F</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Filenames::in</span><span class="plain-syntax">(</span><span class="identifier-syntax">models</span><span class="plain-syntax">, </span><span class="identifier-syntax">leafname</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">variation</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">F</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP3" class="paragraph-anchor"></a><b>&#167;3. </b>This directory also holds the <span class="extract"><span class="extract-syntax">Basic.indext</span></span> and <span class="extract"><span class="extract-syntax">Standard.indext</span></span> index
structure files, but in principle we allow a wider range of these to exist, so:
</p>
@ -130,7 +149,7 @@ structure files, but in principle we allow a wider range of these to exist, so:
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-dr.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresscurrent">if</li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-dr2.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-dr.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-ip.html">ip</a></li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresscurrent">if</li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-dr2.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -0,0 +1,86 @@
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>Inform Pages</title>
<link href="../docs-assets/Breadcrumbs.css" rel="stylesheet" rev="stylesheet" type="text/css">
<meta name="viewport" content="width=device-width initial-scale=1">
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
<meta http-equiv="Content-Language" content="en-gb">
<link href="../docs-assets/Contents.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Progress.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Navigation.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Fonts.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Base.css" rel="stylesheet" rev="stylesheet" type="text/css">
<link href="../docs-assets/Colours.css" rel="stylesheet" rev="stylesheet" type="text/css">
</head>
<body class="commentary-font">
<nav role="navigation">
<h1><a href="../index.html">
<img src="../docs-assets/Inform.png" height=72">
</a></h1>
<ul><li><a href="../index.html">home</a></li>
</ul><h2>Compiler</h2><ul>
<li><a href="../structure.html">structure</a></li>
<li><a href="../inbuildn.html">inbuild</a></li>
<li><a href="../inform7n.html">inform7</a></li>
<li><a href="../intern.html">inter</a></li>
<li><a href="../services.html">services</a></li>
<li><a href="../secrets.html">secrets</a></li>
</ul><h2>Other Tools</h2><ul>
<li><a href="../inblorbn.html">inblorb</a></li>
<li><a href="../indocn.html">indoc</a></li>
<li><a href="../inform6.html">inform6</a></li>
<li><a href="../inpolicyn.html">inpolicy</a></li>
<li><a href="../inrtpsn.html">inrtps</a></li>
</ul><h2>Resources</h2><ul>
<li><a href="../extensions.html">extensions</a></li>
<li><a href="../kits.html">kits</a></li>
</ul><h2>Repository</h2><ul>
<li><a href="https://github.com/ganelson/inform"><img src="../docs-assets/github.png" height=18> github</a></li>
</ul><h2>Related Projects</h2><ul>
<li><a href="../../../inweb/index.html">inweb</a></li>
<li><a href="../../../intest/index.html">intest</a></li>
</ul>
</nav>
<main role="main">
<!--Weave of 'Inform Pages' generated by Inweb-->
<div class="breadcrumbs">
<ul class="crumbs"><li><a href="../index.html">Home</a></li><li><a href="../services.html">Services</a></li><li><a href="index.html">html</a></li><li><a href="index.html#2">Chapter 2: Intranet</a></li><li><b>Inform Pages</b></li></ul></div>
<p class="purpose">Functions for making web pages in the style of the Inform problems report.</p>
<p class="commentary firstcommentary"><a id="SP1" class="paragraph-anchor"></a><b>&#167;1. </b>"Inform pages" are HTML files generated by the compiler itself, including
the problems report, the extensions directory, the index pages, and so on.
</p>
<p class="commentary">Note that they always embed CSS which can depend on the platform, and which
is expected to set default fonts and colour schemes. Then there is CSS which
sets layout conventions but should not need to vary by platform (though it
can do if necessary), and finally some Javascript, though the JS file may
depend on the use the page is being put to.
</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">InformPages::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">js_ires</span><span class="plain-syntax">, </span><span class="reserved-syntax">void</span><span class="plain-syntax"> *</span><span class="identifier-syntax">state</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><a href="2-if.html#SP1" class="function-link"><span class="function-syntax">InstalledFiles::filename</span></a><span class="plain-syntax">(</span><span class="constant-syntax">CSS_SET_BY_PLATFORM_IRES</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><a href="2-if.html#SP1" class="function-link"><span class="function-syntax">InstalledFiles::filename</span></a><span class="plain-syntax">(</span><span class="constant-syntax">CSS_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><a href="2-if.html#SP1" class="function-link"><span class="function-syntax">InstalledFiles::filename</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">js_ires</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">state</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InformPages::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUTPUT_STREAM</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="1-hm.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">ip</li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-sl.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>
</body>
</html>

View file

@ -475,7 +475,7 @@ included in localisation texts.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-dr2.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresscurrent">lcl</li><li class="progressnextoff">&#10095;</li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-dr2.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-ip.html">ip</a></li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresscurrent">lcl</li><li class="progressnextoff">&#10095;</li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -292,7 +292,7 @@ filing system.
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="2-sl.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresscurrent">pb</li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-dr.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-sl.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-ip.html">ip</a></li><li class="progresssection"><a href="2-sl.html">sl</a></li><li class="progresscurrent">pb</li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-dr.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -143,7 +143,7 @@ is the only place in Inform where <span class="extract"><span class="extract-syn
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-sl.html#SP2">&#167;2</a>.</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="1-hm.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresscurrent">sl</li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-pb.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="2-ip.html">&#10094;</a></li><li class="progresschapter"><a href="P-wtmd.html">P</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresscurrentchapter">2</li><li class="progresssection"><a href="2-ip.html">ip</a></li><li class="progresscurrent">sl</li><li class="progresssection"><a href="2-pb.html">pb</a></li><li class="progresssection"><a href="2-dr.html">dr</a></li><li class="progresssection"><a href="2-if.html">if</a></li><li class="progresssection"><a href="2-dr2.html">dr2</a></li><li class="progresssection"><a href="2-lcl.html">lcl</a></li><li class="progressnext"><a href="2-pb.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -87,7 +87,7 @@ before, the corresponding calls to <a href="../../../inweb/foundation-module/ind
in which miscellaneous installed resources such as CSS files can be found.
</li></ul>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprev"><a href="P-wtmd.html">&#10094;</a></li><li class="progresscurrentchapter">P</li><li class="progresssection"><a href="P-wtmd.html">wtmd</a></li><li class="progresscurrent">htitm</li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresschapter"><a href="2-sl.html">2</a></li><li class="progressnext"><a href="1-hm.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprev"><a href="P-wtmd.html">&#10094;</a></li><li class="progresscurrentchapter">P</li><li class="progresssection"><a href="P-wtmd.html">wtmd</a></li><li class="progresscurrent">htitm</li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresschapter"><a href="2-ip.html">2</a></li><li class="progressnext"><a href="1-hm.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -141,7 +141,7 @@ web pages in the Index, so it has some conveniences for stylistic markup as well
</p>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprevoff">&#10094;</li><li class="progresscurrentchapter">P</li><li class="progresscurrent">wtmd</li><li class="progresssection"><a href="P-htitm.html">htitm</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresschapter"><a href="2-sl.html">2</a></li><li class="progressnext"><a href="P-htitm.html">&#10095;</a></li></ul></div>
<ul class="progressbar"><li class="progressprevoff">&#10094;</li><li class="progresscurrentchapter">P</li><li class="progresscurrent">wtmd</li><li class="progresssection"><a href="P-htitm.html">htitm</a></li><li class="progresschapter"><a href="1-hm.html">1</a></li><li class="progresschapter"><a href="2-ip.html">2</a></li><li class="progressnext"><a href="P-htitm.html">&#10095;</a></li></ul></div>
</nav><!--End of weave-->
</main>

View file

@ -81,6 +81,11 @@
<span class="chaptertitle">Chapter 2: Intranet</span></p>
<p class="chapterpurpose">Non-standard HTML utility functions for generating the Inform app intranets.</p>
<ul class="sectionlist">
<li>
<p class="sectionentry"><a href="2-ip.html">
<spon class="sectiontitle">Inform Pages</span></a> -
<span class="sectionpurpose">Functions for making web pages in the style of the Inform problems report.</span></p>
</li>
<li>
<p class="sectionentry"><a href="2-sl.html">
<spon class="sectiontitle">Source Links</span></a> -

View file

@ -269,7 +269,6 @@ own credits.
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="reserved-syntax">auxiliary_file</span><span class="plain-syntax"> *</span><span class="identifier-syntax">af</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_OVER</span><span class="plain-syntax">(</span><span class="identifier-syntax">af</span><span class="plain-syntax">, </span><span class="reserved-syntax">auxiliary_file</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">LOG</span><span class="plain-syntax">(</span><span class="string-syntax">"afftrt %p, trp %p\n"</span><span class="plain-syntax">, </span><span class="identifier-syntax">af</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">folder_to_release_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">Task::release_path</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">rel</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Pathnames::to_text_relative</span><span class="plain-syntax">(</span><span class="identifier-syntax">rel</span><span class="plain-syntax">, </span><span class="identifier-syntax">af</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">folder_to_release_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">Task::release_path</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">"auxiliary \"%f\" \"%S\" \"%S\"\n"</span><span class="plain-syntax">,</span>

View file

@ -206,7 +206,7 @@ can be said to be "everywhere", which nothing else can).
<span class="plain-syntax"> (</span><span class="function-syntax">&lt;notable-backdrops-noun-phrases&gt;</span><span class="plain-syntax">(</span><span class="identifier-syntax">Node::get_text</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">)))) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">inference_subject</span><span class="plain-syntax"> *</span><span class="identifier-syntax">left_subject</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</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">left_subject</span><span class="plain-syntax"> == </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ValueEverywhere</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_ValueEverywhere</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'everywhere' can only be used to place individual backdrops"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"so although 'The mist is a backdrop. The mist is everywhere.' "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"would be fine, 'Corruption is everywhere.' would not."</span><span class="plain-syntax">);</span>

View file

@ -263,7 +263,7 @@ messages which would have been less helpful if core Inform had produced them.
<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">Node::get_type</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">) == </span><span class="identifier-syntax">RELATIONSHIP_NT</span><span class="plain-syntax">) &amp;&amp;</span>
<span class="plain-syntax"> (</span><span class="identifier-syntax">Node::get_subject</span><span class="plain-syntax">(</span><span class="identifier-syntax">py</span><span class="plain-syntax">) == </span><span class="identifier-syntax">KindSubjects::from_kind</span><span class="plain-syntax">(</span><span class="identifier-syntax">K_region</span><span class="plain-syntax">))) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_RegionRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_RegionRelated</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"a region cannot be given a specific location"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"since it contains what may be many rooms, which may not be "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"contiguous and could be scattered about all over. (Sometimes "</span>

View file

@ -687,7 +687,7 @@ because, of course, that does set its kind.
<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">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Annotations::read_int</span><span class="plain-syntax">(</span><span class="identifier-syntax">px</span><span class="plain-syntax">, </span><span class="identifier-syntax">nowhere_ANNOT</span><span class="plain-syntax">)) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_NowhereDescribed</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"'nowhere' cannot be made specific"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"and so cannot have specific properties or be of any given kind."</span><span class="plain-syntax">);</span>

View file

@ -282,7 +282,7 @@ as an instance of "... is an action ...", creating a new action.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadActionDeclaration</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::assertion_problem</span><span class="plain-syntax">(</span><span class="identifier-syntax">Task::syntax_tree</span><span class="plain-syntax">(), </span><span class="identifier-syntax">_p_</span><span class="plain-syntax">(</span><span class="identifier-syntax">PM_BadActionDeclaration</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="string-syntax">"it is not sufficient to say that something is an 'action'"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="string-syntax">"without giving the necessary details: for example, 'Unclamping "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"is an action applying to one thing.'"</span><span class="plain-syntax">);</span>

View file

@ -276,10 +276,7 @@ of content:
<span class="plain-syntax"> </span><span class="identifier-syntax">Errors::fatal_with_file</span><span class="plain-syntax">(</span><span class="string-syntax">"can't open index file"</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">IF</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSS_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">page</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InformPages::header</span><span class="plain-syntax">(</span><span class="identifier-syntax">IF</span><span class="plain-syntax">, </span><span class="identifier-syntax">title</span><span class="plain-syntax">, </span><span class="identifier-syntax">JAVASCRIPT_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">, (</span><span class="reserved-syntax">void</span><span class="plain-syntax"> *) </span><span class="identifier-syntax">page</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="2-iu.html#SP13" class="function-link"><span class="function-syntax">IndexUtilities::clear_page_data</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">session</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">IF</span><span class="plain-syntax">;</span>
<span class="plain-syntax">}</span>
@ -288,7 +285,7 @@ of content:
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">InterpretIndex::close_index_file</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">InterpretIndex::close_index_file</span></span>:<br/><a href="2-ii.html#SP1_2">&#167;1.2</a><br/>Grouped Element - <a href="3-ge2.html#SP2">&#167;2</a></span></button><span class="plain-syntax">(</span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">ifl</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">ifl</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InformPages::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">ifl</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">STREAM_CLOSE</span><span class="plain-syntax">(</span><span class="identifier-syntax">ifl</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>

View file

@ -96,7 +96,7 @@ with class "rubric"; and an element number like 3, in a DIV with class
<p class="commentary">Following that is a broad cell, spanning the rest of the table's width,
which contains text like "Kinds Index". This contains a DIV of class
"headingbox", inside which is a main heading in a DIV of class "headingtext"
"headingpanel", inside which is a main heading in a DIV of class "headingtext"
and text underneath in another of class "headingrubric".
</p>
@ -144,13 +144,15 @@ and text underneath in another of class "headingrubric".
<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="string-syntax">"src='inform:/doc_images/index@2x.png' border=1 width=115 height=115"</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">"td"</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">"td"</span><span class="plain-syntax">, </span><span class="string-syntax">"colspan=\"%d\" style=\"width:100%%;\""</span><span class="plain-syntax">, </span><span class="identifier-syntax">max_elements</span><span class="plain-syntax"> - </span><span class="constant-syntax">1</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=\"headingboxhigh\""</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=\"headingtext\""</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=\"headingpanellayoutdeeper headingpanel\""</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">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"headingpaneltext\""</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">"Welcome to the Index"</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">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">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=\"headingrubric\""</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">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"headingpanelrubric\""</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">"A guide which grows with your project"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"td"</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">"tr"</span><span class="plain-syntax">);</span>
@ -219,12 +221,16 @@ and text underneath in another of class "headingrubric".
<span class="plain-syntax"> </span><span class="identifier-syntax">DISCARD_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">tds</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"\n"</span><span class="plain-syntax">);</span>
<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=\"headingbox\""</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 headingpanel\""</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=\"headingtext\""</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">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"headingpaneltext\""</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">ip</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">page_title</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">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">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=\"headingrubric\""</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">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"headingpanelrubric\""</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">ip</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">page_explanation</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">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>

View file

@ -517,7 +517,7 @@ other book.
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN</span><span class="plain-syntax">(</span><span class="string-syntax">"tr"</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">"td"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"egcellforoval\""</span><span class="plain-syntax">); </span><span class="comment-syntax"> The Oval begins</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"egovalfornumber overstruckimage"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"egovalfornumber overstruckimage"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">onclick</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="2-exm.html#SP8" class="function-link"><span class="function-syntax">Examples::open_example_url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="identifier-syntax">writing_index</span><span class="plain-syntax">);</span>
@ -595,7 +595,7 @@ other book.
<span class="plain-syntax"> </span><span class="reserved-syntax">char</span><span class="plain-syntax"> *</span><span class="identifier-syntax">cross_to</span><span class="plain-syntax"> = </span><span class="string-syntax">"RB"</span><span class="plain-syntax">; </span><span class="reserved-syntax">volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V_to</span><span class="plain-syntax"> = </span><span class="identifier-syntax">volumes</span><span class="plain-syntax">[1];</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">allocation_id</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) { </span><span class="identifier-syntax">cross_to</span><span class="plain-syntax"> = </span><span class="string-syntax">"WI"</span><span class="plain-syntax">; </span><span class="identifier-syntax">V_to</span><span class="plain-syntax"> = </span><span class="identifier-syntax">volumes</span><span class="plain-syntax">[0]; }</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP22" class="function-link"><span class="function-syntax">HTML::comment</span></a><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">"START IGNORE"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"egovalforxref overstruckimage"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"egovalforxref overstruckimage"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="2-exm.html#SP8" class="function-link"><span class="function-syntax">Examples::open_example_url</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">url</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">, </span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="identifier-syntax">V_to</span><span class="plain-syntax">, </span><span class="identifier-syntax">writing_index</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP17" class="function-link"><span class="function-syntax">HTML::begin_link</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">url</span><span class="plain-syntax">);</span>

View file

@ -558,11 +558,11 @@ used on the Contents page:
<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">proto</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP8" class="function-link"><span class="function-syntax">HTML::open</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">proto</span><span class="plain-syntax">, </span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"class='defnprototype'"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP8" class="function-link"><span class="function-syntax">HTML::open</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">proto</span><span class="plain-syntax">, </span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"class='defnprototype'"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="comment-syntax"> given alternative wordings, put only the first in boldface</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/4-pm.html#SP14" class="function-link"><span class="function-syntax">Regexp::replace</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">defn</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(%i+?)/(%C+)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"%0&lt;/b&gt;/%1&lt;b&gt;"</span><span class="plain-syntax">, </span><span class="constant-syntax">REP_REPEATING</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">proto</span><span class="plain-syntax">, </span><span class="string-syntax">"&lt;b&gt;%S&lt;/b&gt;"</span><span class="plain-syntax">, </span><span class="identifier-syntax">defn</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP8" class="function-link"><span class="function-syntax">HTML::close</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">proto</span><span class="plain-syntax">, </span><span class="string-syntax">"p"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP8" class="function-link"><span class="function-syntax">HTML::close</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">proto</span><span class="plain-syntax">, </span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">defn</span><span class="plain-syntax">, </span><span class="identifier-syntax">proto</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="2-haj.html#SP20">&#167;20</a>.</li></ul>

View file

@ -235,7 +235,7 @@ section names are capitalised for this purpose.)
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">indoc_settings</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">HTML_FORMAT</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">id</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">id</span><span class="plain-syntax">, </span><span class="string-syntax">"example%d"</span><span class="plain-syntax">, </span><span class="identifier-syntax">E</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">allocation_id</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_and_id_S</span></a><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">"egpanel"</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">hide</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_and_id_S</span></a><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">"egpanel"</span><span class="plain-syntax">, </span><span class="identifier-syntax">id</span><span class="plain-syntax">, </span><span class="identifier-syntax">hide</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</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="2-rr.html#SP2" class="function-link"><span class="function-syntax">Rawtext::process_example_rawtext_file</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><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">indoc_settings</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">HTML_FORMAT</span><span class="plain-syntax">) {</span>
@ -513,7 +513,7 @@ convert those to HTML links.
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">par_styles</span><span class="plain-syntax">) &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">details</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">details</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"%S\""</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">par_styles</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP8" class="function-link"><span class="function-syntax">HTML::open</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP8" class="function-link"><span class="function-syntax">HTML::open</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</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">details</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">P</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">par_texts</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>

View file

@ -341,7 +341,7 @@ It should be the only thing on its line.
<span class="string-syntax"> if (indoc_settings-&gt;format == HTML_FORMAT) {</span>
<span class="string-syntax"> Str::clear(rawl);</span>
<span class="string-syntax"> HTML::hr(rawl, NULL);</span>
<span class="string-syntax"> HTML::open(rawl, "</span><span class="identifier-syntax">pre</span><span class="string-syntax">", I"</span><span class="identifier-syntax">class</span><span class="plain-syntax">=</span><span class="character-syntax">'changelog'</span><span class="string-syntax">");</span>
<span class="string-syntax"> HTML::open(rawl, "</span><span class="identifier-syntax">pre</span><span class="string-syntax">", I"</span><span class="identifier-syntax">class</span><span class="plain-syntax">=</span><span class="character-syntax">'changelog'</span><span class="string-syntax">", __FILE__, __LINE__);</span>
<span class="string-syntax"> suppress_p_tag = TRUE;</span>
<span class="string-syntax"> }</span>
<span class="string-syntax"> filename *cl = Filenames::in(indoc_settings-&gt;change_logs_folder, mr2.exp[1]);</span>
@ -349,7 +349,7 @@ It should be the only thing on its line.
<span class="character-syntax"> TRUE, Rawtext::process_change_log_helper, NULL, rawl);</span>
<span class="character-syntax"> if (indoc_settings-&gt;format == HTML_FORMAT) {</span>
<span class="character-syntax"> WRITE_TO(rawl, "\n");</span>
<span class="character-syntax"> HTML::close(rawl, "pre");</span>
<span class="character-syntax"> HTML::close(rawl, "pre", __FILE__, __LINE__);</span>
<span class="character-syntax"> }</span>
<span class="character-syntax"> }</span>
</pre>

View file

@ -699,7 +699,7 @@ as it will be seen by the reader.
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">details</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">details</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"indexentry\" style=\"margin-left: %dem;\""</span><span class="plain-syntax">, </span><span class="constant-syntax">4</span><span class="plain-syntax">*</span><span class="identifier-syntax">indent_level</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP8" class="function-link"><span class="function-syntax">HTML::open</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP8" class="function-link"><span class="function-syntax">HTML::open</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="string-syntax">"p"</span><span class="plain-syntax">, </span><span class="identifier-syntax">details</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</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">details</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-gi.html#SP9_2_3_2" class="named-paragraph-link"><span class="named-paragraph">Render the lemma text</span><span class="named-paragraph-number">9.2.3.2</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="3-gi.html#SP9_2_3_3" class="named-paragraph-link"><span class="named-paragraph">Render the category gloss</span><span class="named-paragraph-number">9.2.3.3</span></a></span><span class="plain-syntax">;</span>
@ -840,7 +840,7 @@ as it will be seen by the reader.
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"indexsee\""</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">"see"</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">lc</span><span class="plain-syntax"> &gt; </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">" also"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"&lt;/span&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">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">match_results</span><span class="plain-syntax"> </span><span class="identifier-syntax">mr2</span><span class="plain-syntax"> = </span><a href="../../../inweb/foundation-module/4-pm.html#SP9" class="function-link"><span class="function-syntax">Regexp::create_mr</span></a><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><a href="../../../inweb/foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(&amp;</span><span class="identifier-syntax">mr2</span><span class="plain-syntax">, </span><span class="identifier-syntax">seelist</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"(%c*?) *&lt;-- *(%c*)"</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">sc</span><span class="plain-syntax">++ &gt; </span><span class="constant-syntax">0</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

@ -260,8 +260,11 @@ in width and a longer text is supplied.
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">IndexUtilities::majuscule_heading</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">IndexUtilities::majuscule_heading</span></span>:<br/>Contents and Indexes - <a href="3-gi.html#SP9_2_1">&#167;9.2.1</a><br/>Examples Index - <a href="3-ei.html#SP3_3">&#167;3.3</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">display_text</span><span class="plain-syntax">, </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">single_letter</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">indoc_settings</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">navigation</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">simplified_letter_rows</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">single_letter</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) { </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"majuscule"</span><span class="plain-syntax">); }</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> { </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"stretchymajuscule"</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">single_letter</span><span class="plain-syntax"> == </span><span class="constant-syntax">1</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"majuscule"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> } </span><span class="reserved-syntax">else</span><span class="plain-syntax"> {</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"stretchymajuscule"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</span><span class="plain-syntax">);</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">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"majusculelettering\""</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">WRITE</span><span class="plain-syntax">(</span><span class="string-syntax">"%S"</span><span class="plain-syntax">, </span><span class="identifier-syntax">display_text</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">"span"</span><span class="plain-syntax">);</span>

View file

@ -90,7 +90,7 @@ heading includes these anyway.
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP22" class="function-link"><span class="function-syntax">HTML::comment</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">comment</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">comment</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookheader"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookheader"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">linkleft</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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">linkright</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-ca.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Work out URLs for the preceding and following sections</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
@ -137,7 +137,7 @@ bodied. (In a section with no examples, this immediately follows the middle.)
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Architect::architect_navigation_bottom</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Architect::architect_navigation_bottom</span></span>:<br/><a href="4-ca.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">navigation_design</span><span class="plain-syntax"> *</span><span class="identifier-syntax">self</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookfooter"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookfooter"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</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">"table"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"fullwidth\""</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">"tr"</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">"td"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"footerprevious\""</span><span class="plain-syntax">);</span>
@ -258,9 +258,9 @@ top of every Architect page.
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">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=\"headingrubric\""</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">"Two complete books about Inform:"</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">"br"</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">"&lt;i&gt;Writing with Inform&lt;/i&gt;, a comprehensive introduction"</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">"br"</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">"&lt;i&gt;The Inform Recipe Book&lt;/i&gt;, practical solutions for authors to use"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>

View file

@ -91,7 +91,7 @@ heading includes these anyway.
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP22" class="function-link"><span class="function-syntax">HTML::comment</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">comment</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">comment</span><span class="plain-syntax">)</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookheader"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookheader"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">linkleft</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">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">linkright</span><span class="plain-syntax"> = </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="4-cm.html#SP2_1" class="named-paragraph-link"><span class="named-paragraph">Work out URLs for the preceding and following sections</span><span class="named-paragraph-number">2.1</span></a></span><span class="plain-syntax">;</span>
@ -138,7 +138,7 @@ bodied. (In a section with no examples, this immediately follows the middle.)
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Midnight::midnight_navigation_bottom</span><button class="popup" onclick="togglePopup('usagePopup5')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup5">Usage of <span class="code-font"><span class="function-syntax">Midnight::midnight_navigation_bottom</span></span>:<br/><a href="4-cm.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">navigation_design</span><span class="plain-syntax"> *</span><span class="identifier-syntax">self</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookfooter"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookfooter"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</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">"table"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"fullwidth\""</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">"tr"</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">"td"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"footerprevious\""</span><span class="plain-syntax">);</span>

View file

@ -267,7 +267,7 @@ function togglePopup(material_id) {
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Roadsign::roadsign_navigation_middle</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">Roadsign::roadsign_navigation_middle</span></span>:<br/><a href="4-cr.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">navigation_design</span><span class="plain-syntax"> *</span><span class="identifier-syntax">self</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="2-haj.html#SP11" class="function-link"><span class="function-syntax">HTMLUtilities::ruled_line</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"roadsigns"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"roadsigns"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">chapter</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><span class="identifier-syntax">S</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">in_which_chapter</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><a href="4-cr.html#SP9" class="function-link"><span class="function-syntax">Roadsign::roadsign_begin</span></a><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="named-paragraph-container code-font"><a href="4-cr.html#SP6_1" class="named-paragraph-link"><span class="named-paragraph">Add home, back and forward directions to the roadsign</span><span class="named-paragraph-number">6.1</span></a></span><span class="plain-syntax">;</span>

View file

@ -92,7 +92,7 @@ function togglePopup(material_id) {
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Twilight::twilight_section_title</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">Twilight::twilight_section_title</span></span>:<br/><a href="4-ct.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">navigation_design</span><span class="plain-syntax"> *</span><span class="identifier-syntax">self</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">chapter</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax">, </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookheader"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookheader"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</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">"table"</span><span class="plain-syntax">, </span><span class="string-syntax">"width=\"100%%\""</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">"tr"</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">"td"</span><span class="plain-syntax">, </span><span class="string-syntax">"width=80 valign=\"top\""</span><span class="plain-syntax">);</span>
@ -154,7 +154,7 @@ bodied. (In a section with no examples, this immediately follows the middle.)
<pre class="displayed-code all-displayed-code code-font">
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Twilight::twilight_navigation_bottom</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">Twilight::twilight_navigation_bottom</span></span>:<br/><a href="4-ct.html#SP1">&#167;1</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">navigation_design</span><span class="plain-syntax"> *</span><span class="identifier-syntax">self</span><span class="plain-syntax">, </span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookfooter"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookfooter"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</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">S</span><span class="plain-syntax">-&gt;</span><span class="identifier-syntax">previous_section</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="2-haj.html#SP8" class="function-link"><span class="function-syntax">HTMLUtilities::general_link</span></a><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">"footerlink"</span><span class="plain-syntax">, </span><span class="identifier-syntax">S</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">previous_section</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">section_URL</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Previous"</span><span class="plain-syntax">);</span>

View file

@ -212,7 +212,7 @@ one example will be:
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Nav::render_navigation_example_top</span><button class="popup" onclick="togglePopup('usagePopup10')"><span class="comment-syntax">?</span><span class="popuptext" id="usagePopup10">Usage of <span class="code-font"><span class="function-syntax">Nav::render_navigation_example_top</span></span>:<br/>Renderer - <a href="2-rnd.html#SP8_1">&#167;8.1</a></span></button><span class="plain-syntax">(</span><span class="constant-syntax">OUTPUT_STREAM</span><span class="plain-syntax">, </span><span class="reserved-syntax">volume</span><span class="plain-syntax"> *</span><span class="identifier-syntax">V</span><span class="plain-syntax">, </span><span class="reserved-syntax">section</span><span class="plain-syntax"> *</span><span class="identifier-syntax">S</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">indoc_settings</span><span class="plain-syntax">-&gt;</span><span class="element-syntax">format</span><span class="plain-syntax"> == </span><span class="constant-syntax">HTML_FORMAT</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookexamples"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><a href="../../../inweb/foundation-module/5-htm.html#SP14" class="function-link"><span class="function-syntax">HTML::begin_div_with_class_S</span></a><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">"bookexamples"</span><span class="plain-syntax">, </span><span class="identifier-syntax">__FILE__</span><span class="plain-syntax">, </span><span class="identifier-syntax">__LINE__</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">"p"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"chapterheading\""</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> }</span>

View file

@ -234,7 +234,7 @@ is "room" would therefore be uncheckable at assertion time.
<span class="plain-syntax"> </span><span class="string-syntax">"I often assume that it's meant to be a new object. So it may "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"be that you intended '%3' to be something quite different, "</span>
<span class="plain-syntax"> </span><span class="string-syntax">"but I just didn't get it."</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::Using::diagnose_further</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">UsingProblems::diagnose_further</span><span class="plain-syntax">();</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">Problems::issue_problem_end</span><span class="plain-syntax">();</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">FALSE</span><span class="plain-syntax">;</span>

View file

@ -188,14 +188,14 @@ number of successes.
<span class="plain-syntax"> 29 words have a middle list: longest belongs to to (with 4 meanings)</span>
<span class="plain-syntax"> 108 words have a subset list: longest belongs to street (with 4 meanings)</span>
<span class="plain-syntax">Number of attempts to retrieve: 106410</span>
<span class="plain-syntax"> of which unsuccessful: 88776</span>
<span class="plain-syntax"> of which successful: 17634</span>
<span class="plain-syntax">Number of attempts to retrieve: 106491</span>
<span class="plain-syntax"> of which unsuccessful: 88837</span>
<span class="plain-syntax"> of which successful: 17654</span>
<span class="plain-syntax">Total attempts to match against excerpt meanings: 260909</span>
<span class="plain-syntax"> of which, total with incorrect hash codes: 238861</span>
<span class="plain-syntax"> of which, total with correct hash codes: 22048</span>
<span class="plain-syntax"> of which, total which matched: 19313</span>
<span class="plain-syntax">Total attempts to match against excerpt meanings: 260962</span>
<span class="plain-syntax"> of which, total with incorrect hash codes: 238885</span>
<span class="plain-syntax"> of which, total with correct hash codes: 22077</span>
<span class="plain-syntax"> of which, total which matched: 19336</span>
</pre>
<nav role="progress"><div class="progresscontainer">
<ul class="progressbar"><li class="progressprevoff">&#10094;</li><li class="progresscurrentchapter">P</li><li class="progresscurrent">wtmd</li><li class="progresssection"><a href="P-htitm.html">htitm</a></li><li class="progresschapter"><a href="1-lm.html">1</a></li><li class="progresschapter"><a href="2-em.html">2</a></li><li class="progressnext"><a href="P-htitm.html">&#10095;</a></li></ul></div>

View file

@ -450,7 +450,14 @@ system without an error code.
<span class="plain-syntax"> </span><span class="identifier-syntax">INFORMATIONAL_ADDENDA_PROBLEMS_CALLBACK</span><span class="plain-syntax">(</span><span class="identifier-syntax">disaster_struck</span><span class="plain-syntax">, </span><span class="identifier-syntax">problem_count</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">problem_count</span><span class="plain-syntax"> = </span><span class="identifier-syntax">pc</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">problems_file_active</span><span class="plain-syntax">) </span><span class="identifier-syntax">HTML::end_body</span><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</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">problems_file_active</span><span class="plain-syntax">) {</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifdef</span><span class="plain-syntax"> </span><span class="identifier-syntax">END_PROBLEM_FILE_PROBLEMS_CALLBACK</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">END_PROBLEM_FILE_PROBLEMS_CALLBACK</span><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">ifndef</span><span class="plain-syntax"> </span><span class="identifier-syntax">END_PROBLEM_FILE_PROBLEMS_CALLBACK</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">problems_file</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> #</span><span class="identifier-syntax">endif</span>
<span class="plain-syntax"> }</span>
<span class="plain-syntax">}</span>
</pre>
<nav role="progress"><div class="progresscontainer">

View file

@ -484,12 +484,18 @@ Problems report; and this completes the code for errors. In my end is my beginni
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_OPEN_WITH</span><span class="plain-syntax">(</span><span class="string-syntax">"tr"</span><span class="plain-syntax">, </span><span class="string-syntax">"id=\"surround0\""</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">"td"</span><span class="plain-syntax">, </span><span class="string-syntax">"style=\"width:100%%\""</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::comment</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">"HEADING BEGINS"</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=\"headingbox%s\""</span><span class="plain-syntax">, </span><span class="identifier-syntax">verdict</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">styling</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"failed"</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">CStrings::eq</span><span class="plain-syntax">(</span><span class="identifier-syntax">verdict</span><span class="plain-syntax">, </span><span class="string-syntax">"Succeeded"</span><span class="plain-syntax">)) </span><span class="identifier-syntax">styling</span><span class="plain-syntax"> = </span><span class="identifier-syntax">I</span><span class="string-syntax">"succeeded"</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 headingpanel%S\""</span><span class="plain-syntax">, </span><span class="identifier-syntax">styling</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=\"headingtext\""</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">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"headingpaneltext\""</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">"Report on Translation: %s"</span><span class="plain-syntax">, </span><span class="identifier-syntax">verdict</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">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">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=\"headingrubric\""</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">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"headingpanelrubric\""</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">"Produced by %B (build %B)"</span><span class="plain-syntax">, </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">, </span><span class="identifier-syntax">TRUE</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">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::comment</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">"HEADING ENDS"</span><span class="plain-syntax">);</span>

View file

@ -136,7 +136,11 @@ this to come to anything, it must perform the file-open, and write any header
material it would like. See <a href="2-pl3.html#SP19" class="internal">StandardProblems::start_problems_report</a>.
</p>
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>&#167;12. </b><span class="extract"><span class="extract-syntax">WORDING_FOR_HEADING_NODE_PROBLEMS_CALLBACK</span></span> is called to ask what wording
<p class="commentary firstcommentary"><a id="SP12" class="paragraph-anchor"></a><b>&#167;12. </b><span class="extract"><span class="extract-syntax">END_PROBLEM_FILE_PROBLEMS_CALLBACK</span></span> is called when <a href="index.html" class="internal">problems</a> wants
to close this file again. See <a href="2-pl1.html#SP7" class="internal">ProblemBuffer::write_reports</a>.
</p>
<p class="commentary firstcommentary"><a id="SP13" class="paragraph-anchor"></a><b>&#167;13. </b><span class="extract"><span class="extract-syntax">WORDING_FOR_HEADING_NODE_PROBLEMS_CALLBACK</span></span> is called to ask what wording
should be used to describe a heading in problem messages. See
<a href="2-pl2.html#SP3" class="internal">Problems::show_problem_location</a>.
</p>

View file

@ -598,10 +598,14 @@ since she died (at a grand old age and in mid-spring) in 2008.
<span class="plain-syntax"> </span><span class="identifier-syntax">if</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">wearing</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax">, </span><span class="identifier-syntax">stop</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">action</span><span class="plain-syntax">.</span>
<span class="identifier-syntax">Check</span><span class="plain-syntax"> </span><span class="identifier-syntax">an</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> </span><span class="identifier-syntax">eating</span><span class="plain-syntax"> (</span><span class="identifier-syntax">this</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">can</span><span class="plain-syntax">'</span><span class="identifier-syntax">t</span><span class="plain-syntax"> </span><span class="identifier-syntax">eat</span><span class="plain-syntax"> </span><span class="identifier-syntax">other</span><span class="plain-syntax"> </span><span class="identifier-syntax">people</span><span class="plain-syntax">'</span><span class="identifier-syntax">s</span><span class="plain-syntax"> </span><span class="identifier-syntax">food</span><span class="plain-syntax"> </span><span class="identifier-syntax">rule</span><span class="plain-syntax">):</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">if</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">enclosed</span><span class="plain-syntax"> </span><span class="identifier-syntax">by</span><span class="plain-syntax"> </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">person</span><span class="plain-syntax"> (</span><span class="identifier-syntax">called</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">owner</span><span class="plain-syntax">) </span><span class="identifier-syntax">who</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">not</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax">:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">if</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">player</span><span class="plain-syntax">:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">say</span><span class="plain-syntax"> </span><span class="string-syntax">"[The owner] [might not appreciate] that."</span><span class="plain-syntax"> (</span><span class="identifier-syntax">A</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">stop</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">action</span><span class="plain-syntax">.</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">if</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> </span><span class="identifier-syntax">does</span><span class="plain-syntax"> </span><span class="identifier-syntax">not</span><span class="plain-syntax"> </span><span class="identifier-syntax">hold</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax"> </span><span class="identifier-syntax">and</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">enclosed</span><span class="plain-syntax"> </span><span class="identifier-syntax">by</span><span class="plain-syntax"> </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">person</span><span class="plain-syntax">:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">let</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">owner</span><span class="plain-syntax"> </span><span class="identifier-syntax">be</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">holder</span><span class="plain-syntax"> </span><span class="identifier-syntax">of</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">while</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">owner</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">not</span><span class="plain-syntax"> </span><span class="identifier-syntax">a</span><span class="plain-syntax"> </span><span class="identifier-syntax">person</span><span class="plain-syntax">:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">now</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">owner</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">holder</span><span class="plain-syntax"> </span><span class="identifier-syntax">of</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">owner</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">if</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">owner</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">not</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax">:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">if</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">player</span><span class="plain-syntax"> </span><span class="identifier-syntax">and</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">action</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">not</span><span class="plain-syntax"> </span><span class="identifier-syntax">silent</span><span class="plain-syntax">:</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">say</span><span class="plain-syntax"> </span><span class="string-syntax">"[The owner] [might not appreciate] that."</span><span class="plain-syntax"> (</span><span class="identifier-syntax">A</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">stop</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">action</span><span class="plain-syntax">;</span>
<span class="identifier-syntax">Check</span><span class="plain-syntax"> </span><span class="identifier-syntax">an</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> </span><span class="identifier-syntax">eating</span><span class="plain-syntax"> (</span><span class="identifier-syntax">this</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">can</span><span class="plain-syntax">'</span><span class="identifier-syntax">t</span><span class="plain-syntax"> </span><span class="identifier-syntax">eat</span><span class="plain-syntax"> </span><span class="identifier-syntax">portable</span><span class="plain-syntax"> </span><span class="identifier-syntax">food</span><span class="plain-syntax"> </span><span class="identifier-syntax">without</span><span class="plain-syntax"> </span><span class="identifier-syntax">carrying</span><span class="plain-syntax"> </span><span class="identifier-syntax">it</span><span class="plain-syntax"> </span><span class="identifier-syntax">rule</span><span class="plain-syntax">):</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">if</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">portable</span><span class="plain-syntax"> </span><span class="identifier-syntax">and</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">actor</span><span class="plain-syntax"> </span><span class="identifier-syntax">is</span><span class="plain-syntax"> </span><span class="identifier-syntax">not</span><span class="plain-syntax"> </span><span class="identifier-syntax">carrying</span><span class="plain-syntax"> </span><span class="identifier-syntax">the</span><span class="plain-syntax"> </span><span class="identifier-syntax">noun</span><span class="plain-syntax">:</span>

View file

@ -74,12 +74,10 @@ function togglePopup(material_id) {
<span class="plain-syntax"> </span><span class="identifier-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">OUT</span><span class="plain-syntax"> = &amp;</span><span class="identifier-syntax">HOMEPAGE_struct</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">STREAM_OPEN_TO_FILE</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="identifier-syntax">F</span><span class="plain-syntax">, </span><span class="identifier-syntax">UTF8_ENC</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</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">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSS_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_EXTENSIONS_IRES</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InformPages::header</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="identifier-syntax">JAVASCRIPT_FOR_EXTENSIONS_IRES</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-ip.html#SP1_1" class="named-paragraph-link"><span class="named-paragraph">Write the body of the HTML</span><span class="named-paragraph-number">1.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InformPages::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">STREAM_CLOSE</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax">}</span>
</pre>
<p class="commentary firstcommentary"><a id="SP1_1" class="paragraph-anchor"></a><b>&#167;1.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write the body of the HTML</span><span class="named-paragraph-number">1.1</span></span><span class="comment-syntax"> =</span>
@ -92,12 +90,16 @@ function togglePopup(material_id) {
<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="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=\"headingboxDark\""</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=\"headingtextWhite\""</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>
<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=\"headingtext\""</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">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"headingpaneltextalt\""</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">"Installed 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">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">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=\"headingrubricWhite\""</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=\"headingrubric\""</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">"span"</span><span class="plain-syntax">, </span><span class="string-syntax">"class=\"headingpanelrubricalt\""</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">"Bundles of extra rules or phrases to extend what Inform can do"</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">"span"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML_CLOSE</span><span class="plain-syntax">(</span><span class="string-syntax">"div"</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-ip.html#SP1_1_1" class="named-paragraph-link"><span class="named-paragraph">Write the heading details text for the page</span><span class="named-paragraph-number">1.1.1</span></a></span><span class="plain-syntax">;</span>

View file

@ -150,13 +150,11 @@ our E, and return 0 in response to the ECD call to prevent further ECD calls.
</p>
<pre class="displayed-code all-displayed-code code-font">
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::header</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">"Extension"</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">CSS_FOR_STANDARD_PAGES_IRES</span><span class="plain-syntax">),</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">JAVASCRIPT_FOR_ONE_EXTENSION_IRES</span><span class="plain-syntax">), </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InformPages::header</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">"Extension"</span><span class="plain-syntax">, </span><span class="identifier-syntax">JAVASCRIPT_FOR_ONE_EXTENSION_IRES</span><span class="plain-syntax">, </span><span class="identifier-syntax">NULL</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::incorporate_HTML</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">,</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InstalledFiles::filename</span><span class="plain-syntax">(</span><span class="identifier-syntax">EXTENSION_DOCUMENTATION_MODEL_IRES</span><span class="plain-syntax">));</span>
<span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="7-ip2.html#SP2_2_1" class="named-paragraph-link"><span class="named-paragraph">Write documentation for a specific extension into the page</span><span class="named-paragraph-number">2.2.1</span></a></span><span class="plain-syntax">;</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">HTML::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
<span class="plain-syntax"> </span><span class="identifier-syntax">InformPages::footer</span><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">);</span>
</pre>
<ul class="endnotetexts"><li>This code is used in <a href="7-ip2.html#SP2">&#167;2</a>.</li></ul>
<p class="commentary firstcommentary"><a id="SP2_2_1" class="paragraph-anchor"></a><b>&#167;2.2.1. </b><span class="named-paragraph-container code-font"><span class="named-paragraph-defn">Write documentation for a specific extension into the page</span><span class="named-paragraph-number">2.2.1</span></span><span class="comment-syntax"> =</span>

View file

@ -15,12 +15,10 @@ void ExtensionIndex::write(filename *F, int content, extension_census *C) {
text_stream *OUT = &HOMEPAGE_struct;
if (STREAM_OPEN_TO_FILE(OUT, F, UTF8_ENC) == FALSE) return;
HTML::header(OUT, I"Extensions",
InstalledFiles::filename(CSS_FOR_STANDARD_PAGES_IRES),
InstalledFiles::filename(JAVASCRIPT_FOR_EXTENSIONS_IRES), NULL);
InformPages::header(OUT, I"Extensions", JAVASCRIPT_FOR_EXTENSIONS_IRES, NULL);
@<Write the body of the HTML@>;
InformPages::footer(OUT);
STREAM_CLOSE(OUT);
HTML::footer(OUT);
}
@<Write the body of the HTML@> =
@ -30,12 +28,16 @@ void ExtensionIndex::write(filename *F, int content, extension_census *C) {
"src='inform:/doc_images/extensions@2x.png' border=0 width=150 height=150");
HTML::next_html_column(OUT, 0);
HTML_OPEN_WITH("div", "class=\"headingboxDark\"");
HTML_OPEN_WITH("div", "class=\"headingtextWhite\"");
HTML_OPEN_WITH("div", "class=\"headingpanellayout headingpanelalt\"");
HTML_OPEN_WITH("div", "class=\"headingtext\"");
HTML_OPEN_WITH("span", "class=\"headingpaneltextalt\"");
WRITE("Installed Extensions");
HTML_CLOSE("span");
HTML_CLOSE("div");
HTML_OPEN_WITH("div", "class=\"headingrubricWhite\"");
HTML_OPEN_WITH("div", "class=\"headingrubric\"");
HTML_OPEN_WITH("span", "class=\"headingpanelrubricalt\"");
WRITE("Bundles of extra rules or phrases to extend what Inform can do");
HTML_CLOSE("span");
HTML_CLOSE("div");
HTML_CLOSE("div");
@<Write the heading details text for the page@>;

View file

@ -82,13 +82,11 @@ our E, and return 0 in response to the ECD call to prevent further ECD calls.
return 0;
@<Write the actual extension documentation page@> =
HTML::header(OUT, I"Extension",
InstalledFiles::filename(CSS_FOR_STANDARD_PAGES_IRES),
InstalledFiles::filename(JAVASCRIPT_FOR_ONE_EXTENSION_IRES), NULL);
InformPages::header(OUT, I"Extension", JAVASCRIPT_FOR_ONE_EXTENSION_IRES, NULL);
HTML::incorporate_HTML(OUT,
InstalledFiles::filename(EXTENSION_DOCUMENTATION_MODEL_IRES));
@<Write documentation for a specific extension into the page@>;
HTML::footer(OUT);
InformPages::footer(OUT);
@<Write documentation for a specific extension into the page@> =
HTML_OPEN("p");

View file

@ -375,7 +375,7 @@ other book.
HTML_OPEN("tr");
HTML_OPEN_WITH("td", "class=\"egcellforoval\""); /* The Oval begins */
HTML::begin_div_with_class_S(OUT, I"egovalfornumber overstruckimage");
HTML::begin_div_with_class_S(OUT, I"egovalfornumber overstruckimage", __FILE__, __LINE__);
TEMPORARY_TEXT(url)
TEMPORARY_TEXT(onclick)
Examples::open_example_url(url, E, V, V, writing_index);
@ -437,7 +437,7 @@ other book.
char *cross_to = "RB"; volume *V_to = volumes[1];
if (V->allocation_id == 1) { cross_to = "WI"; V_to = volumes[0]; }
HTML::comment(OUT, I"START IGNORE");
HTML::begin_div_with_class_S(OUT, I"egovalforxref overstruckimage");
HTML::begin_div_with_class_S(OUT, I"egovalforxref overstruckimage", __FILE__, __LINE__);
TEMPORARY_TEXT(url)
Examples::open_example_url(url, E, V, V_to, writing_index);
HTML::begin_link(OUT, url);

View file

@ -468,11 +468,11 @@ void HTMLUtilities::defn_unpack(OUTPUT_STREAM, text_stream *given_defn, volume *
@<Rewrite definition as an HTML paragraph of class defnprototype@> =
TEMPORARY_TEXT(proto)
HTML::open(proto, "p", I"class='defnprototype'");
HTML::open(proto, "p", I"class='defnprototype'", __FILE__, __LINE__);
/* given alternative wordings, put only the first in boldface */
Regexp::replace(defn, L"(%i+?)/(%C+)", L"%0</b>/%1<b>", REP_REPEATING);
WRITE_TO(proto, "<b>%S</b>", defn);
HTML::close(proto, "p");
HTML::close(proto, "p", __FILE__, __LINE__);
Str::copy(defn, proto);
@<Set the kind of the result of the phrase in italic, not bold@> =

View file

@ -235,7 +235,7 @@ It should be the only thing on its line.
if (indoc_settings->format == HTML_FORMAT) {
Str::clear(rawl);
HTML::hr(rawl, NULL);
HTML::open(rawl, "pre", I"class='changelog'");
HTML::open(rawl, "pre", I"class='changelog'", __FILE__, __LINE__);
suppress_p_tag = TRUE;
}
filename *cl = Filenames::in(indoc_settings->change_logs_folder, mr2.exp[1]);
@ -243,7 +243,7 @@ It should be the only thing on its line.
TRUE, Rawtext::process_change_log_helper, NULL, rawl);
if (indoc_settings->format == HTML_FORMAT) {
WRITE_TO(rawl, "\n");
HTML::close(rawl, "pre");
HTML::close(rawl, "pre", __FILE__, __LINE__);
}
}

View file

@ -152,7 +152,7 @@ text_stream *Renderer::render_example_body(OUTPUT_STREAM, example *E, volume *V,
if (indoc_settings->format == HTML_FORMAT) {
TEMPORARY_TEXT(id)
WRITE_TO(id, "example%d", E->allocation_id);
HTML::begin_div_with_class_and_id_S(OUT, I"egpanel", id, hide);
HTML::begin_div_with_class_and_id_S(OUT, I"egpanel", id, hide, __FILE__, __LINE__);
}
OUT = Rawtext::process_example_rawtext_file(OUT, V, E);
if (indoc_settings->format == HTML_FORMAT) {
@ -375,7 +375,7 @@ convert those to HTML links.
if (Str::len(P->par_styles) > 0) {
TEMPORARY_TEXT(details)
WRITE_TO(details, "class=\"%S\"", P->par_styles);
HTML::open(OUT, "p", details);
HTML::open(OUT, "p", details, __FILE__, __LINE__);
DISCARD_TEXT(details)
WRITE("%S", P->par_texts);
HTML_CLOSE("p");

View file

@ -570,7 +570,7 @@ int Indexes::sort_comparison(const void *ent1, const void *ent2) {
TEMPORARY_TEXT(details)
WRITE_TO(details, "class=\"indexentry\" style=\"margin-left: %dem;\"", 4*indent_level);
HTML::open(OUT, "p", details);
HTML::open(OUT, "p", details, __FILE__, __LINE__);
DISCARD_TEXT(details)
@<Render the lemma text@>;
@<Render the category gloss@>;
@ -691,7 +691,7 @@ int Indexes::sort_comparison(const void *ent1, const void *ent2) {
HTML_OPEN_WITH("span", "class=\"indexsee\"");
WRITE("see");
if (lc > 0) WRITE(" also");
WRITE("</span> ");
HTML_CLOSE("span");
match_results mr2 = Regexp::create_mr();
while (Regexp::match(&mr2, seelist, L"(%c*?) *<-- *(%c*)")) {
if (sc++ > 0) { WRITE("; "); }

View file

@ -192,8 +192,11 @@ in width and a longer text is supplied.
=
void IndexUtilities::majuscule_heading(OUTPUT_STREAM, text_stream *display_text, int single_letter) {
if (indoc_settings->navigation->simplified_letter_rows) {
if (single_letter == 1) { HTML::begin_div_with_class_S(OUT, I"majuscule"); }
else { HTML::begin_div_with_class_S(OUT, I"stretchymajuscule"); }
if (single_letter == 1) {
HTML::begin_div_with_class_S(OUT, I"majuscule", __FILE__, __LINE__);
} else {
HTML::begin_div_with_class_S(OUT, I"stretchymajuscule", __FILE__, __LINE__);
}
HTML_OPEN_WITH("span", "class=\"majusculelettering\"");
WRITE("%S", display_text);
HTML_CLOSE("span");

View file

@ -31,7 +31,7 @@ void Architect::architect_section_title(navigation_design *self, text_stream *OU
HTML::comment(OUT, comment);
DISCARD_TEXT(comment)
}
HTML::begin_div_with_class_S(OUT, I"bookheader");
HTML::begin_div_with_class_S(OUT, I"bookheader", __FILE__, __LINE__);
text_stream *linkleft = NULL;
text_stream *linkright = NULL;
@<Work out URLs for the preceding and following sections@>;
@ -74,7 +74,7 @@ bodied. (In a section with no examples, this immediately follows the middle.)
=
void Architect::architect_navigation_bottom(navigation_design *self, text_stream *OUT, volume *V, section *S) {
HTML::begin_div_with_class_S(OUT, I"bookfooter");
HTML::begin_div_with_class_S(OUT, I"bookfooter", __FILE__, __LINE__);
HTML_OPEN_WITH("table", "class=\"fullwidth\"");
HTML_OPEN("tr");
HTML_OPEN_WITH("td", "class=\"footerprevious\"");
@ -194,9 +194,9 @@ void Architect::architect_navigation_contents_heading(navigation_design *self, t
HTML_CLOSE("div");
HTML_OPEN_WITH("div", "class=\"headingrubric\"");
WRITE("Two complete books about Inform:");
HTML_OPEN("br");
HTML_TAG("br");
WRITE("<i>Writing with Inform</i>, a comprehensive introduction");
HTML_OPEN("br");
HTML_TAG("br");
WRITE("<i>The Inform Recipe Book</i>, practical solutions for authors to use");
HTML_CLOSE("div");
HTML_CLOSE("div");

View file

@ -31,7 +31,7 @@ void Midnight::midnight_section_title(navigation_design *self, text_stream *OUT,
HTML::comment(OUT, comment);
DISCARD_TEXT(comment)
}
HTML::begin_div_with_class_S(OUT, I"bookheader");
HTML::begin_div_with_class_S(OUT, I"bookheader", __FILE__, __LINE__);
text_stream *linkleft = NULL;
text_stream *linkright = NULL;
@<Work out URLs for the preceding and following sections@>;
@ -74,7 +74,7 @@ bodied. (In a section with no examples, this immediately follows the middle.)
=
void Midnight::midnight_navigation_bottom(navigation_design *self, text_stream *OUT, volume *V, section *S) {
HTML::begin_div_with_class_S(OUT, I"bookfooter");
HTML::begin_div_with_class_S(OUT, I"bookfooter", __FILE__, __LINE__);
HTML_OPEN_WITH("table", "class=\"fullwidth\"");
HTML_OPEN("tr");
HTML_OPEN_WITH("td", "class=\"footerprevious\"");

View file

@ -183,7 +183,7 @@ At the middle part, when the text is over, but before any example cues.
=
void Roadsign::roadsign_navigation_middle(navigation_design *self, text_stream *OUT, volume *V, section *S) {
HTMLUtilities::ruled_line(OUT);
HTML::begin_div_with_class_S(OUT, I"roadsigns");
HTML::begin_div_with_class_S(OUT, I"roadsigns", __FILE__, __LINE__);
chapter *C = S->in_which_chapter;
Roadsign::roadsign_begin(OUT, 0);
@<Add home, back and forward directions to the roadsign@>;

View file

@ -32,7 +32,7 @@ void Twilight::twilight_chapter_title(navigation_design *self, text_stream *OUT,
@ =
void Twilight::twilight_section_title(navigation_design *self, text_stream *OUT, volume *V, chapter *C, section *S) {
HTML::begin_div_with_class_S(OUT, I"bookheader");
HTML::begin_div_with_class_S(OUT, I"bookheader", __FILE__, __LINE__);
HTML_OPEN_WITH("table", "width=\"100%%\"");
HTML_OPEN("tr");
HTML_OPEN_WITH("td", "width=80 valign=\"top\"");
@ -94,7 +94,7 @@ bodied. (In a section with no examples, this immediately follows the middle.)
=
void Twilight::twilight_navigation_bottom(navigation_design *self, text_stream *OUT, volume *V, section *S) {
HTML::begin_div_with_class_S(OUT, I"bookfooter");
HTML::begin_div_with_class_S(OUT, I"bookfooter", __FILE__, __LINE__);
HTML_OPEN("p");
if (S->previous_section) {
HTMLUtilities::general_link(OUT, I"footerlink", S->previous_section->section_URL, I"Previous");

View file

@ -149,7 +149,7 @@ VOID_METHOD_TYPE(RENDER_EXAMPLE_TOP_MTID, navigation_design *ND, text_stream *OU
void Nav::render_navigation_example_top(OUTPUT_STREAM, volume *V, section *S) {
if (indoc_settings->format == HTML_FORMAT) {
HTML::begin_div_with_class_S(OUT, I"bookexamples");
HTML::begin_div_with_class_S(OUT, I"bookexamples", __FILE__, __LINE__);
HTML_OPEN_WITH("p", "class=\"chapterheading\"");
}

File diff suppressed because it is too large Load diff

View file

@ -1,23 +1,23 @@
Total memory consumption was 123294K = 120 MB
Total memory consumption was 123300K = 120 MB
---- was used for 2043753 objects, in 362468 frames in 0 x 800K = 0K = 0 MB:
---- was used for 2044007 objects, in 362623 frames in 0 x 800K = 0K = 0 MB:
33.1% inter_tree_node_array 58 x 8192 = 475136 objects, 41813824 bytes
20.5% text_stream_array 4600 x 100 = 460000 objects, 25907200 bytes
19.2% linked_list 43446 objects, 24329760 bytes
11.1% inter_symbol_array 132 x 1024 = 135168 objects, 14061696 bytes
10.4% inter_error_stash_array 101 x 1024 = 103424 objects, 13241504 bytes
8.2% parse_node 129584 objects, 10366720 bytes
8.2% parse_node 129721 objects, 10377680 bytes
5.8% verb_conjugation 160 objects, 7425280 bytes
4.3% parse_node_annotation_array 346 x 500 = 173000 objects, 5547072 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.0% kind_array 66 x 1000 = 66000 objects, 2642112 bytes
1.6% inter_name_generator_array 51 x 1000 = 51000 objects, 2041632 bytes
1.5% inter_schema_token 13964 objects, 2010816 bytes
1.5% inter_schema_token 13969 objects, 2011536 bytes
1.4% package_request 21151 objects, 1861288 bytes
1.4% vocabulary_entry_array 161 x 100 = 16100 objects, 1808352 bytes
1.1% dict_entry_array 467 x 100 = 46700 objects, 1509344 bytes
1.1% dict_entry_array 468 x 100 = 46800 objects, 1512576 bytes
1.1% match_trie_array 11 x 1000 = 11000 objects, 1496352 bytes
1.1% inter_symbols_table 26588 objects, 1488928 bytes
1.0% i6_schema_array 23 x 100 = 2300 objects, 1380736 bytes
@ -30,7 +30,7 @@ Total memory consumption was 123294K = 120 MB
0.6% ptoken 8394 objects, 872976 bytes
0.6% grammatical_usage 3612 objects, 866880 bytes
0.6% individual_form 2562 objects, 860832 bytes
0.6% inter_schema_node 8917 objects, 856032 bytes
0.6% inter_schema_node 8920 objects, 856320 bytes
0.5% unary_predicate_array 16 x 1000 = 16000 objects, 640512 bytes
0.3% scan_directory 116 objects, 478848 bytes
0.3% local_variable_array 47 x 100 = 4700 objects, 452704 bytes
@ -55,7 +55,7 @@ Total memory consumption was 123294K = 120 MB
---- noun_usage 2403 objects, 96120 bytes
---- anl_entry_array 2 x 1000 = 2000 objects, 96064 bytes
---- preposition 273 objects, 87360 bytes
---- inter_schema 1511 objects, 84616 bytes
---- inter_schema 1512 objects, 84672 bytes
---- lexical_cluster 2518 objects, 80576 bytes
---- pcalc_term_array 2 x 1000 = 2000 objects, 80064 bytes
---- kind_variable_declaration 1655 objects, 79440 bytes
@ -77,6 +77,7 @@ Total memory consumption was 123294K = 120 MB
---- property_inference_data 1315 objects, 52600 bytes
---- response_message 408 objects, 52224 bytes
---- ap_clause_array 2 x 400 = 800 objects, 51264 bytes
---- HTML_tag_array 1 x 1000 objects, 48032 bytes
---- text_substitution 437 objects, 41952 bytes
---- anl_clause_array 1 x 1000 objects, 40032 bytes
---- activity_list_array 1 x 1000 objects, 40032 bytes
@ -85,9 +86,8 @@ Total memory consumption was 123294K = 120 MB
---- parsing_data 670 objects, 37520 bytes
---- heading 198 objects, 36432 bytes
---- production_list 617 objects, 34552 bytes
---- counting_data 670 objects, 32160 bytes
---- regions_data 670 objects, 32160 bytes
---- HTML_tag_array 1 x 1000 objects, 32032 bytes
---- counting_data 670 objects, 32160 bytes
---- property_permission 96 objects, 31488 bytes
---- stack_frame_box 305 objects, 29280 bytes
---- verb_sense 403 objects, 29016 bytes
@ -112,10 +112,10 @@ Total memory consumption was 123294K = 120 MB
---- generated_segment 14 objects, 14784 bytes
---- booking_list 407 objects, 13024 bytes
---- adjective_iname_holder 320 objects, 12800 bytes
---- pathname 312 objects, 12480 bytes
---- pathname 314 objects, 12560 bytes
---- uniqueness_count 454 objects, 10896 bytes
---- inter_construct 30 objects, 10320 bytes
---- filename 246 objects, 9840 bytes
---- filename 252 objects, 10080 bytes
---- stopwatch_timer 113 objects, 9040 bytes
---- equation_node 68 objects, 7616 bytes
---- understanding_item_array 3 x 100 = 300 objects, 7296 bytes
@ -237,7 +237,7 @@ Total memory consumption was 123294K = 120 MB
100.0% was used for memory not allocated for objects:
57.7% text stream storage 72862020 bytes in 477538 claims
57.7% text stream storage 72868108 bytes in 477577 claims
4.1% dictionary storage 5227008 bytes in 7517 claims
---- sorting 1448 bytes in 149 claims
5.7% source text 7200000 bytes in 3 claims
@ -246,7 +246,7 @@ Total memory consumption was 123294K = 120 MB
---- linguistic stock array 81920 bytes in 2 claims
---- small word set array 105600 bytes in 22 claims
3.5% inter symbols storage 4518768 bytes in 27943 claims
13.2% inter bytecode storage 16766048 bytes in 14 claims
13.2% inter bytecode storage 16766024 bytes in 14 claims
4.9% 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 1695204 bytes in 1 claim
@ -255,5 +255,5 @@ Total memory consumption was 123294K = 120 MB
---- code generation workspace for objects 1336 bytes in 4 claims
0.2% emitter array storage 280032 bytes in 1997 claims
-145.-5% was overhead - -183758872 bytes = -179452K = -175 MB
-145.-5% was overhead - -183790448 bytes = -179482K = -175 MB

View file

@ -1,25 +1,25 @@
<s-literal> hits 2100/23858 nti 22 constraint (none) extremes [1, infinity)
<s-literal> hits 2100/23892 nti 22 constraint (none) extremes [1, infinity)
English:
(@1)<cardinal-number>=1
(hits 171/171) (matched: '100') constraint CS = {r0} extremes [1, 1]
(@1)minus (@2)<cardinal-number>=1
(hits 0/1458) constraint DS = {22} extremes [2, 2]
(hits 0/1466) constraint DS = {22} extremes [2, 2]
(@1)<quoted-text>=1 (@2)( (@3)<response-letter>=2 (@4))
(hits 274/824) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {22} extremes [4, 4]
(hits 274/827) (matched: '"[current item from the multiple object list]: [run paragraph on]" ( a )') constraint DS = {22} extremes [4, 4]
(@1)<quoted-text>=1
(hits 1566/5549) (matched: 'Represents geographical locations, both indoor
(hits 1566/5559) (matched: 'Represents geographical locations, both indoor
and outdoor, which are not necessarily areas in a building. A player in one
room is mostly unable to sense, or interact with, anything in a different room.
Rooms are arranged in a map.') constraint (none) extremes [1, 1]
<s-literal-real-number>=1
(hits 11/9918) (matched: 'plus infinity') constraint (none) extremes [1, infinity)
(hits 11/9935) (matched: 'plus infinity') constraint (none) extremes [1, infinity)
(@1)<s-literal-truth-state>=1
(hits 78/830) (matched: 'false') constraint CS = {16} extremes [1, 1]
(hits 78/832) (matched: 'false') constraint CS = {16} extremes [1, 1]
<s-literal-list>=1
(hits 0/3245) constraint DS = {18} extremes [2, infinity)
(hits 0/3248) constraint DS = {18} extremes [2, infinity)
(@1)unicode <s-unicode-character>=1
(hits 0/3467) constraint DS = {22} extremes [2, infinity)
(hits 0/3474) constraint DS = {22} extremes [2, infinity)
<s-literal-time>=1
(hits 0/3756) constraint DW = {19, 20, 21} extremes [2, 5]
(hits 0/3769) constraint DW = {19, 20, 21} extremes [2, 5]
<s-literal-unit-notation>=1
(hits 0/9829) constraint (none) extremes [1, infinity)
(hits 0/9846) constraint (none) extremes [1, infinity)

View file

@ -1,32 +1,33 @@
100.0% in inform7 run
71.0% in compilation to Inter
50.6% in //Sequence::undertake_queued_tasks//
71.3% in compilation to Inter
50.9% in //Sequence::undertake_queued_tasks//
4.5% in //MajorNodes::pre_pass//
3.4% in //MajorNodes::pass_1//
1.9% in //ImperativeDefinitions::assess_all//
1.9% in //RTPhrasebook::compile_entries//
1.5% in //RTKindConstructors::compile//
3.5% in //MajorNodes::pass_1//
1.8% in //ImperativeDefinitions::assess_all//
1.8% in //RTPhrasebook::compile_entries//
1.4% in //RTKindConstructors::compile//
1.0% in //Sequence::lint_inter//
0.6% in //MajorNodes::pass_2//
0.6% in //World::stage_V//
0.4% in //ImperativeDefinitions::compile_first_block//
0.4% in //MajorNodes::pass_2//
0.4% in //Sequence::undertake_queued_tasks//
0.4% in //Sequence::undertake_queued_tasks//
0.4% in //World::stage_V//
0.2% in //CompletionModule::compile//
0.2% in //InferenceSubjects::emit_all//
0.2% in //RTKindConstructors::compile_permissions//
0.2% in //Task::make_built_in_kind_constructors//
3.0% not specifically accounted for
26.1% in running Inter pipeline
10.3% in step 14/15: generate inform6 -> auto.inf
5.7% in step 5/15: load-binary-kits
5.5% in step 6/15: make-synoptic-module
1.5% in step 9/15: make-identifiers-unique
0.2% in //World::stages_II_and_III//
2.5% not specifically accounted for
25.9% in running Inter pipeline
9.9% in step 14/15: generate inform6 -> auto.inf
5.6% in step 5/15: load-binary-kits
5.6% in step 6/15: make-synoptic-module
1.4% in step 9/15: make-identifiers-unique
0.4% in step 12/15: eliminate-redundant-operations
0.4% in step 4/15: compile-splats
0.4% in step 7/15: shorten-wiring
0.4% in step 8/15: detect-indirect-calls
0.2% in step 11/15: eliminate-redundant-labels
0.2% in step 8/15: detect-indirect-calls
1.3% not specifically accounted for
2.3% in supervisor
0.5% not specifically accounted for
1.4% not specifically accounted for
2.4% in supervisor
0.3% not specifically accounted for

View file

@ -3,31 +3,30 @@
-webkit-box-sizing: border-box;
box-sizing: border-box;
}
p {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 12px;
.headingpanellayout {
position: relative;
height: 56px;
padding: 0px;
white-space:nowrap;
}
td {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 12px;
.headingpanellayoutdeeper {
position: relative;
height: 117px;
padding: 0px;
white-space:nowrap;
}
body {
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
font-size: 12px;
.headingtext {
position: absolute;
top: -4px;
left: -1px;
width: 100%;
padding: 14px 10px 0px 10px;
}
span.smaller {
font-size: 80%;
}
span.typewritten {
font-family: 'Courier New', Courier, 'Lucida Sans Typewriter', 'Lucida Typewriter', monospace;
font-size: 13px;
}
.oval, .oval TD {
background-image:url('inform:/doc_images/ovoid.png');
color:white;
.headingrubric {
position: absolute;
top: 36px;
width: 100%;
padding: 0px 10px 0px 10px;
}
h3.tighter {
margin-top: 0px;
@ -200,94 +199,3 @@ p.hangingin9 {
margin-top: 0px;
margin-bottom: 1px;
}
div.hr {
border: 0;
width: 100%;
color: #707070;
background-color: #707070;
height: 5px;
}
.headingbox {
position: relative;
height: 56px;
padding: 0px;
white-space:nowrap;
background: #eeeeee; /* grey */
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingboxhigh {
position: relative;
height: 117px;
padding: 0px;
white-space:nowrap;
background: #eeeeee; /* grey */
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingboxSucceeded {
position: relative;
height: 56px;
padding: 0px;
white-space:nowrap;
background: #E6FFE6; /* green */
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingboxFailed {
position: relative;
height: 56px;
padding: 0px;
white-space:nowrap;
background: #f69Ca6; /* red */
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingboxDark {
position: relative;
height: 56px;
padding: 0px;
white-space:nowrap;
background: #808080;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingtext {
position: absolute;
top: -4px;
left: -1px;
width: 100%;
color: #222222;
padding: 14px 10px 0px 10px;
font-size: 20px;
font-weight: bold;
}
.headingtextWhite {
position: absolute;
top: -4px;
left: -1px;
width: 100%;
color: #ffffff;
padding: 14px 10px 0px 10px;
font-size: 20px;
font-weight: bold;
}
.headingrubric {
position: absolute;
top: 36px;
width: 100%;
color: #222222;
padding: 0px 10px 0px 10px;
font-size: 11px;
font-weight: bold;
}
.headingrubricWhite {
position: absolute;
top: 36px;
width: 100%;
color: #ffffff;
padding: 0px 10px 0px 10px;
font-size: 11px;
font-weight: bold;
}

View file

@ -0,0 +1,101 @@
/* 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: #eeeeee;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingpanelsucceeded {
background: #E6FFE6;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingpanelfailed {
background: #f69Ca6;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
.headingpanelalt {
background: #808080;
font-family: "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
-webkit-font-smoothing: antialiased;
}
/* 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: #222222;
font-size: 20px;
font-weight: bold;
}
span.headingpaneltextalt {
color: #ffffff;
font-size: 20px;
font-weight: bold;
}
span.headingpanelrubric {
color: #222222;
font-size: 11px;
font-weight: bold;
}
span.headingpanelrubricalt {
color: #ffffff;
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;
}

View file

@ -559,7 +559,7 @@ indentation implicitly requires it.
"to be %2, in case that helps. %P"
"This sometimes happens even when the code looks about right, to the eye, if rows "
"of spaces have been used to indent phrases instead of tabs.");
Problems::Using::diagnose_further();
UsingProblems::diagnose_further();
Problems::issue_problem_end();
}

View file

@ -403,7 +403,7 @@ at which point it becomes a |PROPER_NOUN_NT| node.)
>> A container with description "White" is a container with description "Black".
@<Case 4 - WITH on both sides@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_WithIsWith),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_WithIsWith),
"you can't say that one general description is another ",
"for instance by writing 'A container with carrying capacity 10 is a "
"container with description \"Handy.\"'.");
@ -422,7 +422,7 @@ at which point it becomes a |PROPER_NOUN_NT| node.)
like properties.
@<Case 6 - X OF Y on both sides@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_XofYisZofW),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_XofYisZofW),
"this seems to say two different properties are not simply equal "
"but somehow the same thing",
"like saying that 'the printed name of the millpond is the "
@ -433,7 +433,7 @@ like properties.
@h Case 7.
@<Case 7 - Miscellaneous vs X OF Y@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BadXofY),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_BadXofY),
"this is the wrong way around if you want to specify a property",
"like saying that '10 is the score of the platinum pyramid', "
"which is poor style. (Though sweet are the uses of adversity.)");
@ -540,14 +540,14 @@ specifying its edibility.
}
@<Don't allow a kind of kind@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_KindOfKindDisallowed),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_KindOfKindDisallowed),
"you aren't allowed to make new kinds of kinds",
"only kinds of things which already exist. So 'A fox is a kind of animal' "
"is fine, but 'A tricky kind is a kind of kind' isn't allowed.");
return;
@<Don't allow a kind of everything@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_KindOfEveryDisallowed),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_KindOfEveryDisallowed),
"you aren't allowed to make a kind of everything",
"or of everything matching a description. 'A badger is a kind of animal' "
"is fine, but 'A gene is a kind of every animal' isn't allowed. (Probably "
@ -555,7 +555,7 @@ specifying its edibility.
return;
@<Don't allow a kind declaration to have uncertainty@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_KindUncertainDisallowed),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_KindUncertainDisallowed),
"you aren't allowed to make a kind in a way expressing certainty or doubt",
"so 'A badger is a kind of animal' is fine, but 'A fungus is usually a "
"kind of every animal' isn't allowed, and nor is 'A fern is never a kind "
@ -602,14 +602,14 @@ further sub-cases later.
Assertions::make_coupling(px, py);
return;
}
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_PeculiarProperty),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_PeculiarProperty),
"that is a very peculiar property value",
"and ought to be something more definite and explicit.");
@h Case 12.
@<Case 12 - KIND vs PROPERTY LIST, ADJECTIVE, COMMON NOUN, PROPER NOUN@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_KindOfIs),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_KindOfIs),
"that seems to say that a new kind is the same as something else",
"like saying 'A kind of container is a canister': which ought to be put the "
"other way round, 'A canister is a kind of container'.");
@ -622,7 +622,7 @@ further sub-cases later.
if (AdjectiveAmbiguity::has_enumerative_meaning(AdjectivalPredicates::to_adjective(pred))) {
property *prn = ValueProperties::obtain(Node::get_text(px->down->next));
if (Node::get_type(px->down) == WITH_NT) {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_EOOwnerMutable),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_EOOwnerMutable),
"either/or properties have to be given to clearly identifiable "
"owners",
"rather than to a collection of owners which might vary during "
@ -634,7 +634,7 @@ further sub-cases later.
Node::get_subject(px->down), py);
}
} else {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_NonAdjectivalProperty),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_NonAdjectivalProperty),
"that property can't be used adjectivally as a value",
"since it is an adjective applying to a thing but is "
"not a name from a range of possibilities.");
@ -658,7 +658,7 @@ further sub-cases later.
@h Case 16. "Every K is Y" and other oddities.
@<Case 16 - EVERY vs Miscellaneous@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BadEvery),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_BadEvery),
"'every' (or 'always') can't be used in that way",
"and should be reserved for sentences like 'A coin is in every room'.");
@ -668,7 +668,7 @@ Even then, of course, "everywhere" implicitly means "in every room",
not "every room".
@<Case 17 - Miscellaneous vs EVERY@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BadEvery2),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_BadEvery2),
"'every' can't be used in that way",
"and should be reserved for sentences like 'A coin is in every room'.");
@ -703,7 +703,7 @@ pretty improbable:
@<Case 19 - ACTION, KIND, PROPERTY LIST, ADJECTIVE vs PROPERTY LIST, ACTION, COMMON NOUN, PROPER NOUN@> =
if (Node::get_subject(py))
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ActionEquated),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ActionEquated),
"an action can't be the same as a thing",
"so my guess is that this is an attempt to categorise an action which went "
"wrong because there was already something of that name in existence. For "
@ -712,7 +712,7 @@ pretty improbable:
"actions at once to a named kind of action, like 'Taking and dropping are "
"manipulation.' - only one can be named at a time.)");
else
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ActionEquated2),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ActionEquated2),
"that means something else already",
"so it will only confuse things if we use it for a kind of action.");
@ -724,7 +724,7 @@ a spatial location.
@<Case 20 - Miscellaneous on both sides@> =
if (Refiner::turn_player_to_yourself(px)) { Assertions::make_coupling(px, py); return; }
if (Refiner::turn_player_to_yourself(py)) { Assertions::make_coupling(px, py); return; }
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_IntangibleRelated),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_IntangibleRelated),
"this seems to give a worldly relationship to something intangible",
"like saying that 'in the box is a text'. Perhaps it came "
"to this because you gave something physical a name which was "
@ -738,7 +738,7 @@ a spatial location.
>> The position of the weathervane is east of the church.
@<Case 21 - X OF Y vs RELATIONSHIP@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_XofYRelated),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_XofYRelated),
"this seems to say that a property of something is not simply equal "
"to what happens at the moment to satisfy some relationship, but "
"conceptually the same as that relationship",
@ -770,7 +770,7 @@ possible to coerce the left side to a noun, we will.
@h Case 23. And so on.
@<Case 23 - COMMON NOUN vs X OF Y@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_DescriptionIsOther),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_DescriptionIsOther),
"this seems to say that a general description is something else",
"like saying that 'a door is 20'.");
@ -779,7 +779,7 @@ possible to coerce the left side to a noun, we will.
>> Taking something is open.
@<Case 24 - ACTION vs ADJECTIVE@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ActionAdjective),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ActionAdjective),
"that is already the name of a property",
"so it will only confuse things if we use it for a kind of action.");
@ -825,7 +825,7 @@ but not in this context.
if (<activity-name-formal>(Node::get_text(px)))
Activities::add_variable(av, py->down);
else
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BadActivityRef),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_BadActivityRef),
"an activity has to be formally referred to in a way making clear that "
"it is indeed a rulebook when we give it named values",
"to reduce the risk of ambiguity. So 'The printing the banner text "
@ -846,7 +846,7 @@ but not in this context.
if (<rulebook-name-formal>(Node::get_text(px)))
Rulebooks::add_variable(rb, py->down);
else
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BadRulebookRef),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_BadRulebookRef),
"a rulebook has to be formally referred to in a way making clear that "
"it is indeed a rulebook when we give it named values",
"to reduce the risk of ambiguity. So 'The every turn rulebook has a "
@ -858,14 +858,14 @@ but not in this context.
return;
@<Issue the too vague to have properties or variables problem message@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_TooVagueForVariables),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_TooVagueForVariables),
"this is too vague a description of the owner of the property",
"so that I don't know where to put this. Something like 'A person "
"has a number called age' is fine, but 'A kind has a number called "
"age' is not. Which kind?");
@<Issue the not allowed to have properties or variables problem message@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_HasNoVariables),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_HasNoVariables),
"only an object, kind, rulebook, action or activity can be allowed to have "
"properties or variables",
"so for instance 'A door has a colour' is fine but not 'A number has a length'.");
@ -936,7 +936,7 @@ properties) and for kinds (which do, but differently).
return;
} else if (Node::get_type(px->down) != COMMON_NOUN_NT) {
LOG("$T\n", current_sentence);
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_Unspecifiable),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_Unspecifiable),
"this tries to set specification text for a particular value",
"rather than a kind of value. 'Specification' is a special property used "
"only to annotate the Index, and it makes no sense to set this property for "
@ -948,7 +948,7 @@ properties) and for kinds (which do, but differently).
if ((<s-literal>(W)) && (Rvalues::is_CONSTANT_of_kind(<<rp>>, K_text))) {
Word::dequote(Wordings::first_wn(W));
} else {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_SpecNotText),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_SpecNotText),
"this tries to set a specification to something other than literal quoted text",
"which will not work. 'Specification' is a special property used only to "
"annotate the Index, and specifically the Kinds index, so it makes no sense to "
@ -957,7 +957,7 @@ properties) and for kinds (which do, but differently).
}
@<Issue a problem message for setting a property of an overspecified object@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_OverspecifiedSpec),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_OverspecifiedSpec),
"this tries to set a property for something more complicated than a single thing "
"named without qualifications",
"and that isn't allowed. For instance, 'The description of the Great Portal is "
@ -968,7 +968,7 @@ properties) and for kinds (which do, but differently).
"substitutions.)");
@<Issue a problem message for setting a property of something never having them@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BadInferenceSubject),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_BadInferenceSubject),
"this tries to set a property for a value which can't have properties",
"and that isn't allowed. For instance, 'The description of the Great Portal is "
"\"It's open.\"' would be fine, if Great Portal were a room, but 'The description "
@ -976,7 +976,7 @@ properties) and for kinds (which do, but differently).
"properties.");
@<Issue a problem message for setting a property of something not owning one@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_GeneralitySpec),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_GeneralitySpec),
"this tries to set a property for a complicated generality of items all at once",
"which can lead to ambiguities. For instance, 'The description of an open door "
"is \"It's open.\"' is not allowed: if we followed Inform's normal conventions "
@ -999,7 +999,7 @@ properties) and for kinds (which do, but differently).
action_pattern *apy = Node::get_action_meaning(py);
if ((apy) && (ActionPatterns::is_named(apy) == FALSE)) {
LOG("Actions: $A and $A\n", apx, apy);
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ActionsEquated),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ActionsEquated),
"two actions are rather oddly equated here",
"which would only make sense if the second were a named pattern of actions "
"like (say) 'unseemly behaviour'.");
@ -1027,7 +1027,7 @@ in this case.
}
#endif
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_RelationsEquated),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_RelationsEquated),
"this says that two different relations are the same",
"like saying that 'in the box is on the table'. (Sometimes this "
"happens if I misinterpret names of places like 'In Prison' or "
@ -1059,13 +1059,13 @@ opera about a dog, "Collared Is Bowser".)
@<Case 30 - ADJECTIVE vs COMMON NOUN, PROPER NOUN@> =
if (Node::get_subject(py))
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_AdjectiveIsObject),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_AdjectiveIsObject),
"that seems to say that an adjective is a noun",
"like saying 'Open are the doubled doors': which I'm picky about, preferring "
"it written the other way about ('The doubled doors are open'). Less poetic, "
"but clearer style.");
else
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_AdjectiveIsValue),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_AdjectiveIsValue),
"that suggests that an adjective has some sort of value",
"like saying 'Open is a number' or 'Scenery is 5': but of course an adjective "
"represents something which is either true or false.");
@ -1100,12 +1100,12 @@ opera about a dog, "Collared Is Bowser".)
parse_node *v = current_sentence->down;
if ((Node::is(v, VERB_NT)) &&
(Annotations::read_int(v, verbal_certainty_ANNOT) == INITIALLY_CE))
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ObjectIsAction2),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ObjectIsAction2),
"you need to add 'the action of' after 'initially'",
"in order to clarify that you mean this sentence to set a variable "
"to an action (if in fact that's what you mean to do!).");
else
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ObjectIsAction),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ObjectIsAction),
"that is putting the definition back to front",
"since I need these categorisations of actions to take the form 'Kissing a "
"woman is love', not 'Love is kissing a woman'. (This is really because it "
@ -1116,7 +1116,7 @@ opera about a dog, "Collared Is Bowser".)
@h Case 33. "Every K is every L."
@<Case 33 - EVERY on both sides@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_EveryEquated),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_EveryEquated),
"I can't do that", "Dave.");
@h Case 34. The "Genevieve" problem message is a finicky stylistic one, and
@ -1143,7 +1143,7 @@ this ought to be allowed...
}
if (Kinds::Behaviour::is_object(Specifications::to_kind(Node::get_evaluation(px))))
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_KindRelated),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_KindRelated),
"something described only by its kind should not be given a "
"specific place or role in the world",
"to avoid ambiguity. For instance, suppose 'car' is a kind. Then "
@ -1154,7 +1154,7 @@ this ought to be allowed...
"though more specific ones like 'a car called Genevieve is in the "
"garage' are fine, as is the reverse, 'In the garage is a car.'");
else
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_KOVRelated),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_KOVRelated),
"this seems to give a worldly relationship to something intangible",
"possibly due to an accidental clash of names between a kind of "
"value and something in the real world. "
@ -1331,7 +1331,7 @@ two whole domains. (We have the "kind of..." syntax instead.)
@<Issue a problem for a namespace clash between a variable name and a kind@> =
if (Specifications::is_new_variable_like(Node::get_evaluation(py))) {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_VarKOVClash),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_VarKOVClash),
"the name supplied for this new variable is a piece of text "
"which is not available because it has a rival meaning already",
"as a result of definitions made elsewhere. (Sometimes these "
@ -1523,7 +1523,7 @@ the "creation proposition" of Y, and we now assert this to be true about X.
@<Silently pass sentences like "The colours are red and blue."@>;
if (Kinds::Behaviour::is_object(Specifications::to_kind(Node::get_evaluation(py))))
Assertions::issue_value_equation_problem(py, px);
else Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_CommonIsProper),
else UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_CommonIsProper),
"this seems to say that a general description is something else",
"like saying that 'a door is 20'.");
@ -1577,7 +1577,7 @@ There is also one case in which an object can be set equal to another object:
if (Rvalues::is_object(Node::get_evaluation(py)))
@<Otherwise it's just wrong to equate objects@>
else if (Rvalues::is_CONSTANT_construction(Node::get_evaluation(py), CON_property))
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ObjectIsProperty),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ObjectIsProperty),
"that seems to say that some object is a property",
"like saying 'The brick building is the description': if you want to specify "
"the description of the current object, try putting the sentence the other way "
@ -1596,7 +1596,7 @@ There is also one case in which an object can be set equal to another object:
@<This is a map connection referred to metonymically@> =
if (Anaphora::get_current_subject() == NULL) {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_NoMapOrigin),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_NoMapOrigin),
"no location is under discussion to be the origin of this map connection",
"so this is like starting with 'North is the Aviary': I can't tell where from.");
return;
@ -1607,7 +1607,7 @@ There is also one case in which an object can be set equal to another object:
}
if (global_pass_state.pass == 2) {
if (target == NULL) {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_MapNonObject),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_MapNonObject),
"this seems to make a map connection to something which is "
"not an object",
"like saying '20 is north'. This is an odd thing "
@ -1623,7 +1623,7 @@ There is also one case in which an object can be set equal to another object:
Problems::quote_wording(3, Node::get_text(py));
if (Node::get_subject(px) == Node::get_subject(py))
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ProperIsItself),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ProperIsItself),
"this seems to say that something is itself",
"like saying 'the coin is the coin'. This is an odd thing "
"to say, and makes me think that I've misunderstood you.");
@ -1669,7 +1669,7 @@ There is also one case in which an object can be set equal to another object:
"properties: for instance '%6 is a lighted room' says that something "
"called %6 exists and that it is a 'room', which is a kind I know about, "
"combined with a property called 'lighted' which I also know about.");
Problems::Using::diagnose_further();
UsingProblems::diagnose_further();
Problems::issue_problem_end();
@ ...that we vary it randomly for fun. The low bits of the current time are not
@ -1740,7 +1740,7 @@ yet during traverse 1.
if (Rvalues::is_CONSTANT_construction(Node::get_evaluation(px), CON_property)) {
inference_subject *talking_about = Anaphora::get_current_subject();
if (talking_about == NULL)
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_NothingDiscussed),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_NothingDiscussed),
"nothing is under discussion which might have this property",
"so this is like starting with 'The description is \"Orange.\"': "
"I can't tell what of.");

View file

@ -39,7 +39,7 @@ automatically creates it.
@<This is a leaf containing just a property name@> =
if ((<k-kind>(Node::get_text(p))) &&
((<<rp>> == K_number) || (<<rp>> == K_text))) {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BareProperty),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_BareProperty),
"this would create a property called 'number' or 'text'",
"and although bare names of kinds are usually allowed as properties, "
"these aren't. Instead, try '... has a number called position.' or "
@ -59,12 +59,12 @@ automatically creates it.
if ((Kinds::eq(K, K_action_name)) ||
(Kinds::get_construct(K) == CON_activity) ||
(Kinds::get_construct(K) == CON_rulebook))
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ValueCantHaveVProperties2),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ValueCantHaveVProperties2),
"this is a kind of value which is not allowed to have properties of its own",
"because this would cause confusion with variables, which are more useful in "
"most cases. (See the Kinds index for which kinds can have properties.)");
else
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ValueCantHaveVProperties),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ValueCantHaveVProperties),
"this is a kind of value which is not allowed to have properties of its own",
"because this would be impossible to store in any sensible way. For instance, "
"'A scene has a number called difficulty.' is fine because there are not many "

View file

@ -489,7 +489,7 @@ it handles crashes correctly.
Problems::issue_problem_end();
@<Issue PM_NameWithText problem@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_NameWithText),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_NameWithText),
"this seems to give something a name which contains "
"double-quoted text",
"which is not allowed. If you do need quotes in a name, one option "
@ -501,7 +501,7 @@ it handles crashes correctly.
"fact it didn't, so that I read the next words as following on.");
@<Issue PM_NameReserved problem@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_NameReserved),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_NameReserved),
"this seems to give something a name which is reserved for Inform's "
"own internal use",
"so is not allowed. There are only a few of these - 'storage', "
@ -668,7 +668,7 @@ them by asserting propositions to be true; we act directly.
@ And to wind up, sundry problem messages.
@<Issue a problem for topics that vary@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_NoTopicsThatVary),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_NoTopicsThatVary),
"'topics that vary' are not allowed",
"that is, a variable is not allowed to have 'topic' as its kind of value. "
"(This would cause too much ambiguity with text variables, whose values "
@ -836,7 +836,7 @@ message says about performance, too.)
instance_count = Annotations::read_int(p, multiplicity_ANNOT);
if (instance_count < 1) instance_count = 1;
if (instance_count > MAX_DUPLICATES_AT_ONCE) {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_TooManyDuplicates),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_TooManyDuplicates),
"at most 100 duplicates can be made at any one time",
"so '157 chairs are in the UN General Assembly' will not be allowed. The "
"system for handling duplicates during play becomes too slow and awkward "

View file

@ -214,7 +214,7 @@ that the rest is property name; and otherwise
@<Divide the property list entry into property name and value text@> =
wording W = Articles::remove_the(Node::get_text(p));
if (Wordings::empty(W)) {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(BelievedImpossible),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(BelievedImpossible),
"this looked to me as if it might be trying to create something "
"which has certain properties",
"and that made no sense on investigation. This sometimes happens "
@ -231,7 +231,7 @@ that the rest is property name; and otherwise
@<Issue a problem message for no-such-property@> =
LOG("Failed property list: pname = <%W>; pval = <%W>\n", PW, VW);
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BadPropertyList),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_BadPropertyList),
"this looked to me as if it might be trying to create something "
"which has certain properties",
"and that made no sense on investigation. This sometimes happens "

View file

@ -1,4 +1,4 @@
[Problems::Using::] Using Problems.
[UsingProblems::] Using Problems.
Interface to the Problems module.
@ -9,10 +9,10 @@ Interface to the Problems module.
@ In "silence-is-golden" mode, we want our Problem messages to look more like
traditional Unix errors, even if they're long ones:
@d FORMAT_CONSOLE_PROBLEMS_CALLBACK Problems::Using::console_format
@d FORMAT_CONSOLE_PROBLEMS_CALLBACK UsingProblems::console_format
=
void Problems::Using::console_format(int *sig_mode, int *break_width, filename **fallback) {
void UsingProblems::console_format(int *sig_mode, int *break_width, filename **fallback) {
if (Main::silence_is_golden()) {
*sig_mode = TRUE;
*break_width = 10000000; /* i.e., do not word-wrap problem messages at all */
@ -24,19 +24,22 @@ void Problems::Using::console_format(int *sig_mode, int *break_width, filename *
@ Inform tops and tails its output of problem messages, and it also prints
non-problem messages when everything was fine. That all happens here:
@d START_PROBLEM_FILE_PROBLEMS_CALLBACK Problems::Using::start_problems_report
@d INFORMATIONAL_ADDENDA_PROBLEMS_CALLBACK Problems::Using::final_report
@d START_PROBLEM_FILE_PROBLEMS_CALLBACK UsingProblems::start_problems_report
@d END_PROBLEM_FILE_PROBLEMS_CALLBACK UsingProblems::end_problems_report
@d INFORMATIONAL_ADDENDA_PROBLEMS_CALLBACK UsingProblems::final_report
=
void Problems::Using::start_problems_report(filename *F, text_stream *P) {
void UsingProblems::start_problems_report(filename *F, text_stream *P) {
if (STREAM_OPEN_TO_FILE(P, F, UTF8_ENC) == FALSE)
Problems::fatal_on_file("Can't open problem log", F);
HTML::header(P, I"Translating the Source",
InstalledFiles::filename(CSS_FOR_STANDARD_PAGES_IRES),
InstalledFiles::filename(JAVASCRIPT_FOR_STANDARD_PAGES_IRES), NULL);
InformPages::header(P, I"Translating the Source", JAVASCRIPT_FOR_STANDARD_PAGES_IRES, NULL);
}
void Problems::Using::final_report(int disaster_struck, int problems_count) {
void UsingProblems::end_problems_report(OUTPUT_STREAM) {
InformPages::footer(OUT);
}
void UsingProblems::final_report(int disaster_struck, int problems_count) {
int total_words = 0;
if (problem_count > 0) {
@ -48,7 +51,8 @@ void Problems::Using::final_report(int disaster_struck, int problems_count) {
if (problems_file_active) ProblemBuffer::redirect_problem_stream(NULL);
} else {
int rooms = 0, things = 0;
if (problems_file_active) Problems::Using::html_outcome_image(problems_file, "ni_succeeded", "Succeeded");
if (problems_file_active)
UsingProblems::html_outcome_image(problems_file, "ni_succeeded", "Succeeded");
#ifdef IF_MODULE
Spatial::get_world_size(&rooms, &things);
#endif
@ -95,7 +99,7 @@ ingratitude of some -- oh, all right.
"Problems occurring in translation prevented the game "
"from being properly created. (Correct the source text to "
"remove these problems and click on Go once again.)");
Problems::Using::outcome_image_tail(problems_file);
UsingProblems::outcome_image_tail(problems_file);
text_stream *STATUS = ProgressBar::begin_outcome();
if (STATUS) {
@ -127,7 +131,7 @@ command line -- deserves the truth.
"into a world with %1 %2 and %3 %4, and the index has been "
"brought up to date.");
Problems::issue_problem_end();
Problems::Using::outcome_image_tail(problems_file);
UsingProblems::outcome_image_tail(problems_file);
if (telemetry_recording) {
Telemetry::ensure_telemetry_file();
@ -172,17 +176,17 @@ int outcome_image_style = SIDE_OUTCOME_IMAGE_STYLE;
@ This callback function is called just as the //problems// module is about
to issue its first problem of the run:
@d FIRST_PROBLEMS_CALLBACK Problems::Using::html_outcome_failed
@d FIRST_PROBLEMS_CALLBACK UsingProblems::html_outcome_failed
=
void Problems::Using::html_outcome_failed(OUTPUT_STREAM) {
void UsingProblems::html_outcome_failed(OUTPUT_STREAM) {
if (StandardProblems::internal_errors_have_occurred())
Problems::Using::html_outcome_image(problems_file, "ni_failed_badly", "Failed");
UsingProblems::html_outcome_image(problems_file, "ni_failed_badly", "Failed");
else
Problems::Using::html_outcome_image(problems_file, "ni_failed", "Failed");
UsingProblems::html_outcome_image(problems_file, "ni_failed", "Failed");
}
void Problems::Using::html_outcome_image(OUTPUT_STREAM, char *image, char *verdict) {
void UsingProblems::html_outcome_image(OUTPUT_STREAM, char *image, char *verdict) {
char *vn = "";
int be_festive = TRUE;
if (StandardProblems::internal_errors_have_occurred() == FALSE) be_festive = FALSE;
@ -218,7 +222,7 @@ void Problems::Using::html_outcome_image(OUTPUT_STREAM, char *image, char *verdi
HTML::comment(OUT, I"PROBLEMS BEGIN");
}
void Problems::Using::outcome_image_tail(OUTPUT_STREAM) {
void UsingProblems::outcome_image_tail(OUTPUT_STREAM) {
if (problems_file_active)
if (outcome_image_style == SIDE_OUTCOME_IMAGE_STYLE) {
HTML::comment(OUT, I"PROBLEMS END");
@ -240,7 +244,7 @@ for alternative verbs which might have been intended, and try to produce
a message which diagnoses the problem rather better.
=
void Problems::Using::assertion_problem(parse_node_tree *T, SIGIL_ARGUMENTS,
void UsingProblems::assertion_problem(parse_node_tree *T, SIGIL_ARGUMENTS,
char *message, char *explanation) {
wording RTW = EMPTY_WORDING; /* "rather than" text */
ACT_ON_SIGIL
@ -273,11 +277,11 @@ void Problems::Using::assertion_problem(parse_node_tree *T, SIGIL_ARGUMENTS,
" %P(It may help to know that I am reading the primary verb here "
"as '%4', not '%5'.)");
}
Problems::Using::diagnose_further();
UsingProblems::diagnose_further();
Problems::issue_problem_end();
}
void Problems::Using::diagnose_further(void) {
void UsingProblems::diagnose_further(void) {
if (current_sentence == NULL) return;
if (Wordings::empty(Node::get_text(current_sentence))) return;
int sqc = 0;

View file

@ -169,7 +169,6 @@ own credits.
@<Give instructions about auxiliary files@> =
auxiliary_file *af;
LOOP_OVER(af, auxiliary_file) {
LOG("afftrt %p, trp %p\n", af->folder_to_release_to, Task::release_path());
TEMPORARY_TEXT(rel)
Pathnames::to_text_relative(rel, af->folder_to_release_to, Task::release_path());
WRITE("auxiliary \"%f\" \"%S\" \"%S\"\n",

View file

@ -130,7 +130,7 @@ int Backdrops::intervene_in_assertion(parse_node *px, parse_node *py) {
(<notable-backdrops-noun-phrases>(Node::get_text(py)))) {
inference_subject *left_subject = Node::get_subject(px);
if (left_subject == NULL)
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_ValueEverywhere),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_ValueEverywhere),
"'everywhere' can only be used to place individual backdrops",
"so although 'The mist is a backdrop. The mist is everywhere.' "
"would be fine, 'Corruption is everywhere.' would not.");

View file

@ -185,7 +185,7 @@ int Regions::intervene_in_assertion(parse_node *px, parse_node *py) {
}
if ((Node::get_type(px) == RELATIONSHIP_NT) &&
(Node::get_subject(py) == KindSubjects::from_kind(K_region))) {
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_RegionRelated),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_RegionRelated),
"a region cannot be given a specific location",
"since it contains what may be many rooms, which may not be "
"contiguous and could be scattered about all over. (Sometimes "

View file

@ -557,7 +557,7 @@ int Map::intervene_in_assertion(parse_node *px, parse_node *py) {
return FALSE;
}
if (Annotations::read_int(px, nowhere_ANNOT)) {
Problems::Using::assertion_problem(Task::syntax_tree(),
UsingProblems::assertion_problem(Task::syntax_tree(),
_p_(PM_NowhereDescribed),
"'nowhere' cannot be made specific",
"and so cannot have specific properties or be of any given kind.");

View file

@ -196,7 +196,7 @@ as an instance of "... is an action ...", creating a new action.
*** variable
@<Issue PM_BadActionDeclaration problem@> =
Problems::Using::assertion_problem(Task::syntax_tree(), _p_(PM_BadActionDeclaration),
UsingProblems::assertion_problem(Task::syntax_tree(), _p_(PM_BadActionDeclaration),
"it is not sufficient to say that something is an 'action'",
"without giving the necessary details: for example, 'Unclamping "
"is an action applying to one thing.'");

View file

@ -157,7 +157,7 @@ int VariableSubjects::typecheck_initial_value(nonlocal_variable *nlv, parse_node
"I often assume that it's meant to be a new object. So it may "
"be that you intended '%3' to be something quite different, "
"but I just didn't get it.");
Problems::Using::diagnose_further();
UsingProblems::diagnose_further();
Problems::issue_problem_end();
}
return FALSE;

View file

@ -187,16 +187,13 @@ text_stream *InterpretIndex::open_file(text_stream *IF,
Errors::fatal_with_file("can't open index file", F);
#endif
}
HTML::header(IF, title,
InstalledFiles::filename(CSS_FOR_STANDARD_PAGES_IRES),
InstalledFiles::filename(JAVASCRIPT_FOR_STANDARD_PAGES_IRES),
(void *) page);
InformPages::header(IF, title, JAVASCRIPT_FOR_STANDARD_PAGES_IRES, (void *) page);
IndexUtilities::clear_page_data(session);
return IF;
}
@ =
void InterpretIndex::close_index_file(text_stream *ifl) {
HTML::footer(ifl);
InformPages::footer(ifl);
STREAM_CLOSE(ifl);
}

View file

@ -32,7 +32,7 @@ with class "rubric"; and an element number like 3, in a DIV with class
Following that is a broad cell, spanning the rest of the table's width,
which contains text like "Kinds Index". This contains a DIV of class
"headingbox", inside which is a main heading in a DIV of class "headingtext"
"headingpanel", inside which is a main heading in a DIV of class "headingtext"
and text underneath in another of class "headingrubric".
@ So let's generate all of that:
@ -75,13 +75,15 @@ void Elements::periodic_table(OUTPUT_STREAM, index_page *current_page,
HTML_TAG_WITH("img", "src='inform:/doc_images/index@2x.png' border=1 width=115 height=115");
HTML_CLOSE("td");
HTML_OPEN_WITH("td", "colspan=\"%d\" style=\"width:100%%;\"", max_elements - 1);
HTML_OPEN_WITH("div", "class=\"headingboxhigh\"");
HTML_OPEN_WITH("div", "class=\"headingtext\"");
HTML_OPEN_WITH("div", "class=\"headingpanellayoutdeeper headingpanel\"");
HTML_OPEN_WITH("span", "class=\"headingpaneltext\"");
WRITE("Welcome to the Index");
HTML_CLOSE("span");
HTML_CLOSE("div");
HTML_OPEN_WITH("div", "class=\"headingrubric\"");
HTML_OPEN_WITH("span", "class=\"headingpanelrubric\"");
WRITE("A guide which grows with your project");
HTML_CLOSE("div");
HTML_CLOSE("span");
HTML_CLOSE("div");
HTML_CLOSE("td");
HTML_CLOSE("tr");
@ -138,12 +140,16 @@ void Elements::periodic_table(OUTPUT_STREAM, index_page *current_page,
DISCARD_TEXT(tds)
WRITE("\n");
HTML_OPEN_WITH("div", "class=\"headingbox\"");
HTML_OPEN_WITH("div", "class=\"headingpanellayout headingpanel\"");
HTML_OPEN_WITH("div", "class=\"headingtext\"");
HTML_OPEN_WITH("span", "class=\"headingpaneltext\"");
WRITE("%S", ip->page_title);
HTML_CLOSE("span");
HTML_CLOSE("div");
HTML_OPEN_WITH("div", "class=\"headingrubric\"");
HTML_OPEN_WITH("span", "class=\"headingpanelrubric\"");
WRITE("%S", ip->page_explanation);
HTML_CLOSE("span");
HTML_CLOSE("div");
HTML_CLOSE("div");

View file

@ -0,0 +1,26 @@
[InformPages::] Inform Pages.
Functions for making web pages in the style of the Inform problems report.
@ "Inform pages" are HTML files generated by the compiler itself, including
the problems report, the extensions directory, the index pages, and so on.
Note that they always embed CSS which can depend on the platform, and which
is expected to set default fonts and colour schemes. Then there is CSS which
sets layout conventions but should not need to vary by platform (though it
can do if necessary), and finally some Javascript, though the JS file may
depend on the use the page is being put to.
=
void InformPages::header(OUTPUT_STREAM, text_stream *title, int js_ires, void *state) {
HTML::header(OUT, title,
InstalledFiles::filename(CSS_SET_BY_PLATFORM_IRES),
InstalledFiles::filename(CSS_FOR_STANDARD_PAGES_IRES),
InstalledFiles::filename(js_ires),
NULL,
state);
}
void InformPages::footer(OUTPUT_STREAM) {
HTML::footer(OUT);
}

View file

@ -18,6 +18,7 @@ but they're just plain old files, and are not managed by Inbuild as "copies".
@e JAVASCRIPT_FOR_STANDARD_PAGES_IRES
@e JAVASCRIPT_FOR_EXTENSIONS_IRES
@e JAVASCRIPT_FOR_ONE_EXTENSION_IRES
@e CSS_SET_BY_PLATFORM_IRES
@e CSS_FOR_STANDARD_PAGES_IRES
@e CSS_FOR_INDEX_PAGES_IRES
@e EXTENSION_DOCUMENTATION_MODEL_IRES
@ -40,26 +41,43 @@ filename *InstalledFiles::filename(int ires) {
return Filenames::in(misc, I"Small Cover.jpg");
case CBLORB_REPORT_MODEL_IRES:
return Filenames::in(models, I"CblorbModel.html");
return InstalledFiles::varied_by_platform(models, I"CblorbModel.html");
case DOCUMENTATION_XREFS_IRES:
return Filenames::in(models, I"xrefs.txt");
return InstalledFiles::varied_by_platform(models, I"xrefs.txt");
case JAVASCRIPT_FOR_STANDARD_PAGES_IRES:
return Filenames::in(models, I"main.js");
return InstalledFiles::varied_by_platform(models, I"main.js");
case JAVASCRIPT_FOR_EXTENSIONS_IRES:
return Filenames::in(models, I"extensions.js");
return InstalledFiles::varied_by_platform(models, I"extensions.js");
case JAVASCRIPT_FOR_ONE_EXTENSION_IRES:
return Filenames::in(models, I"extensionfile.js");
return InstalledFiles::varied_by_platform(models, I"extensionfile.js");
case CSS_SET_BY_PLATFORM_IRES:
return InstalledFiles::varied_by_platform(models, I"platform.css");
case CSS_FOR_STANDARD_PAGES_IRES:
return Filenames::in(models, I"main.css");
return InstalledFiles::varied_by_platform(models, I"main.css");
case CSS_FOR_INDEX_PAGES_IRES:
return Filenames::in(models, I"index.css");
return InstalledFiles::varied_by_platform(models, I"index.css");
case EXTENSION_DOCUMENTATION_MODEL_IRES:
return Filenames::in(models, I"extensionfile.html");
return InstalledFiles::varied_by_platform(models, I"extensionfile.html");
}
internal_error("unknown installation resource file");
return NULL;
}
@ This enables each platform to provide its own CSS and Javascript definitions,
if they would prefer that:
=
filename *InstalledFiles::varied_by_platform(pathname *models, text_stream *leafname) {
filename *F = NULL;
TEMPORARY_TEXT(variation)
WRITE_TO(variation, "%s-%S", PLATFORM_STRING, leafname);
/* NB: PLATFORM_STRING is a C string, so that %s is correct */
F = Filenames::in(models, variation);
if (TextFiles::exists(F) == FALSE) F = Filenames::in(models, leafname);
DISCARD_TEXT(variation)
return F;
}
@ This directory also holds the |Basic.indext| and |Standard.indext| index
structure files, but in principle we allow a wider range of these to exist, so:

View file

@ -13,6 +13,7 @@ Chapter 1: Starting Up
Chapter 2: Intranet
"Non-standard HTML utility functions for generating the Inform app intranets."
Inform Pages
Source Links
Paste Buttons
Documentation Renderer

View file

@ -5,11 +5,11 @@ Size of lexicon: 3101 excerpt meanings
29 words have a middle list: longest belongs to to (with 4 meanings)
108 words have a subset list: longest belongs to street (with 4 meanings)
Number of attempts to retrieve: 106410
of which unsuccessful: 88776
of which successful: 17634
Number of attempts to retrieve: 106491
of which unsuccessful: 88837
of which successful: 17654
Total attempts to match against excerpt meanings: 260909
of which, total with incorrect hash codes: 238861
of which, total with correct hash codes: 22048
of which, total which matched: 19313
Total attempts to match against excerpt meanings: 260962
of which, total with incorrect hash codes: 238885
of which, total with correct hash codes: 22077
of which, total which matched: 19336

View file

@ -349,5 +349,12 @@ void ProblemBuffer::write_reports(int disaster_struck) {
INFORMATIONAL_ADDENDA_PROBLEMS_CALLBACK(disaster_struck, problem_count);
problem_count = pc;
#endif
if (problems_file_active) HTML::end_body(problems_file);
if (problems_file_active) {
#ifdef END_PROBLEM_FILE_PROBLEMS_CALLBACK
END_PROBLEM_FILE_PROBLEMS_CALLBACK(problems_file);
#endif
#ifndef END_PROBLEM_FILE_PROBLEMS_CALLBACK
HTML::footer(problems_file);
#endif
}
}

View file

@ -414,12 +414,18 @@ void StandardProblems::issue_problems_banner(OUTPUT_STREAM, char *verdict) {
HTML_OPEN_WITH("tr", "id=\"surround0\"");
HTML_OPEN_WITH("td", "style=\"width:100%%\"");
HTML::comment(OUT, I"HEADING BEGINS");
HTML_OPEN_WITH("div", "class=\"headingbox%s\"", verdict);
text_stream *styling = I"failed";
if (CStrings::eq(verdict, "Succeeded")) styling = I"succeeded";
HTML_OPEN_WITH("div", "class=\"headingpanellayout headingpanel%S\"", styling);
HTML_OPEN_WITH("div", "class=\"headingtext\"");
HTML_OPEN_WITH("span", "class=\"headingpaneltext\"");
WRITE("Report on Translation: %s", verdict);
HTML_CLOSE("span");
HTML_CLOSE("div");
HTML_OPEN_WITH("div", "class=\"headingrubric\"");
HTML_OPEN_WITH("span", "class=\"headingpanelrubric\"");
WRITE("Produced by %B (build %B)", FALSE, TRUE);
HTML_CLOSE("span");
HTML_CLOSE("div");
HTML_CLOSE("div");
HTML::comment(OUT, I"HEADING ENDS");

View file

@ -72,6 +72,9 @@ filename |F| and the stream |P| to open to it. If the callback function wants
this to come to anything, it must perform the file-open, and write any header
material it would like. See //StandardProblems::start_problems_report//.
@ |END_PROBLEM_FILE_PROBLEMS_CALLBACK| is called when //problems// wants
to close this file again. See //ProblemBuffer::write_reports//.
@ |WORDING_FOR_HEADING_NODE_PROBLEMS_CALLBACK| is called to ask what wording
should be used to describe a heading in problem messages. See
//Problems::show_problem_location//.