mirror of
https://github.com/ganelson/inform.git
synced 2024-06-17 07:40:47 +03:00
New file-system separator character convention
This commit is contained in:
parent
dcc6469aa3
commit
7c2a7170c4
|
@ -1,6 +1,6 @@
|
|||
# Inform 7
|
||||
|
||||
v10.1.0-alpha.1+6Q67 'Krypton' (5 July 2020)
|
||||
v10.1.0-alpha.1+6Q68 'Krypton' (6 July 2020)
|
||||
|
||||
## About Inform 7
|
||||
|
||||
|
|
|
@ -1,3 +1,3 @@
|
|||
Prerelease: alpha.1
|
||||
Build Date: 5 July 2020
|
||||
Build Number: 6Q67
|
||||
Build Date: 6 July 2020
|
||||
Build Number: 6Q68
|
||||
|
|
|
@ -145,7 +145,7 @@ is the only place in Inform where <span class="extract"><span class="extract-syn
|
|||
|
||||
<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">Str::begins_with_wide_string</span><span class="plain-syntax">(</span><span class="identifier-syntax">fn</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"Source"</span><span class="plain-syntax">)) &&</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">fn</span><span class="plain-syntax">, </span><span class="constant-syntax">6</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">))</span>
|
||||
<span class="plain-syntax"> (</span><span class="identifier-syntax">Platform::is_folder_separator</span><span class="plain-syntax">(</span><span class="identifier-syntax">Str::get_at</span><span class="plain-syntax">(</span><span class="identifier-syntax">fn</span><span class="plain-syntax">, </span><span class="constant-syntax">6</span><span class="plain-syntax">))))</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">Str::delete_n_characters</span><span class="plain-syntax">(</span><span class="identifier-syntax">fn</span><span class="plain-syntax">, </span><span class="constant-syntax">7</span><span class="plain-syntax">);</span>
|
||||
</pre>
|
||||
<ul class="endnotetexts"><li>This code is used in <a href="2-sl.html#SP2">§2</a>.</li></ul>
|
||||
|
|
|
@ -104,8 +104,8 @@ in the subfolder.
|
|||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Links::get_extension_from_textual_filename</span><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="reserved-syntax">filename</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">i</span><span class="plain-syntax"> = </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</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">while</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">i</span><span class="plain-syntax">>=0) && ((</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) == </span><span class="character-syntax">'.'</span><span class="plain-syntax">) || (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) == </span><span class="character-syntax">' '</span><span class="plain-syntax">))) </span><span class="identifier-syntax">i</span><span class="plain-syntax">--;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">i</span><span class="plain-syntax">>=0) && (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) != </span><span class="character-syntax">'.'</span><span class="plain-syntax">) && (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) != </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">)) </span><span class="identifier-syntax">i</span><span class="plain-syntax">--;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">i</span><span class="plain-syntax"><0) || (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) == </span><span class="constant-syntax">FOLDER_SEPARATOR</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">while</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">i</span><span class="plain-syntax">>=0) && (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) != </span><span class="character-syntax">'.'</span><span class="plain-syntax">) && (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">)) == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">)) </span><span class="identifier-syntax">i</span><span class="plain-syntax">--;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">i</span><span class="plain-syntax"><0) || (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">)))) </span><span class="reserved-syntax">return</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
@ -114,7 +114,7 @@ in the subfolder.
|
|||
<pre class="displayed-code all-displayed-code code-font">
|
||||
<span class="reserved-syntax">void</span><span class="plain-syntax"> </span><span class="function-syntax">Links::get_leafname_from_textual_filename</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">Links::get_leafname_from_textual_filename</span></span>:<br/><a href="3-laaf.html#SP2">§2</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="reserved-syntax">filename</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">i</span><span class="plain-syntax"> = </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP8" class="function-link"><span class="function-syntax">Str::len</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</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">while</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">i</span><span class="plain-syntax">>=0) && (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">) != </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">)) </span><span class="identifier-syntax">i</span><span class="plain-syntax">--;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">i</span><span class="plain-syntax">>=0) && (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">)) == </span><span class="constant-syntax">FALSE</span><span class="plain-syntax">)) </span><span class="identifier-syntax">i</span><span class="plain-syntax">--;</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">OUT</span><span class="plain-syntax">, </span><span class="reserved-syntax">filename</span><span class="plain-syntax">, </span><span class="identifier-syntax">i</span><span class="plain-syntax">+1);</span>
|
||||
<span class="plain-syntax">}</span>
|
||||
</pre>
|
||||
|
|
|
@ -320,14 +320,14 @@ Inbuild this number is never likely to be more than about 100 at a time.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">pos</span><span class="plain-syntax"> = </span><a href="../../../inweb/docs/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">arg</span><span class="plain-syntax">) - </span><span class="constant-syntax">1</span><span class="plain-syntax">, </span><span class="identifier-syntax">dotpos</span><span class="plain-syntax"> = -1;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">pos</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">wchar_t</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="identifier-syntax">pos</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">) </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">c</span><span class="plain-syntax">)) </span><span class="reserved-syntax">break</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="character-syntax">'.'</span><span class="plain-syntax">) </span><span class="identifier-syntax">dotpos</span><span class="plain-syntax"> = </span><span class="identifier-syntax">pos</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">pos</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">dotpos</span><span class="plain-syntax"> >= </span><span class="constant-syntax">0</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP26" class="function-link"><span class="function-syntax">Str::substr</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">ext</span><span class="plain-syntax">, </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">, </span><span class="identifier-syntax">dotpos</span><span class="plain-syntax">+1), </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP10" class="function-link"><span class="function-syntax">Str::end</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</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">directory_status</span><span class="plain-syntax"> = </span><span class="constant-syntax">NOT_APPLICABLE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_last_char</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">) == </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_last_char</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">))) {</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP25" class="function-link"><span class="function-syntax">Str::delete_last_character</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">arg</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">directory_status</span><span class="plain-syntax"> = </span><span class="constant-syntax">TRUE</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
|
|
|
@ -623,7 +623,7 @@ home folder, <span class="extract"><span class="extract-syntax">~~</span></span>
|
|||
<span class="reserved-syntax">pathname</span><span class="plain-syntax"> *</span><span class="function-syntax">Instructions::set_path</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">Instructions::set_path</span></span>:<br/><a href="1-ins.html#SP5_1">§5.1</a>, <a href="1-ins.html#SP5_1_5_2">§5.1.5.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="reserved-syntax">settings_block</span><span class="plain-syntax"> *</span><span class="identifier-syntax">settings</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">) == </span><span class="character-syntax">'~'</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">) == </span><span class="character-syntax">'~'</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">2</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">t</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="../../../inweb/docs/foundation-module/3-pth.html#SP5" class="function-link"><span class="function-syntax">Pathnames::from_text_relative</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">settings</span><span class="plain-syntax">-></span><span class="element-syntax">book_folder</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
|
||||
|
@ -631,7 +631,7 @@ home folder, <span class="extract"><span class="extract-syntax">~~</span></span>
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">return</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">else</span><span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="reserved-syntax">return</span><span class="plain-syntax"> </span><span class="identifier-syntax">settings</span><span class="plain-syntax">-></span><span class="element-syntax">book_folder</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">) == </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</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">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">P</span><span class="plain-syntax"> = </span><a href="../../../inweb/docs/foundation-module/3-pth.html#SP5" class="function-link"><span class="function-syntax">Pathnames::from_text_relative</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">home_path</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
|
||||
|
@ -648,7 +648,7 @@ home folder, <span class="extract"><span class="extract-syntax">~~</span></span>
|
|||
<span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="function-syntax">Instructions::set_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">Instructions::set_file</span></span>:<br/><a href="1-ins.html#SP5_1">§5.1</a>, <a href="1-ins.html#SP5_1_5_2">§5.1.5.2</a></span></button><span class="plain-syntax">(</span><span class="reserved-syntax">text_stream</span><span class="plain-syntax"> *</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="reserved-syntax">settings_block</span><span class="plain-syntax"> *</span><span class="identifier-syntax">settings</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">) == </span><span class="character-syntax">'~'</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">) == </span><span class="character-syntax">'~'</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">2</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">2</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">t</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">3</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><a href="../../../inweb/docs/foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text_relative</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">settings</span><span class="plain-syntax">-></span><span class="element-syntax">book_folder</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
|
||||
|
@ -656,7 +656,7 @@ home folder, <span class="extract"><span class="extract-syntax">~~</span></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>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">) == </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</span><span class="plain-syntax">, </span><span class="constant-syntax">1</span><span class="plain-syntax">) == </span><span class="character-syntax">'/'</span><span class="plain-syntax">) || (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_at</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">val</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">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP17" class="function-link"><span class="function-syntax">Str::copy_tail</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">t</span><span class="plain-syntax">, </span><span class="identifier-syntax">val</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">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">F</span><span class="plain-syntax"> = </span><a href="../../../inweb/docs/foundation-module/3-fln.html#SP3" class="function-link"><span class="function-syntax">Filenames::from_text_relative</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">home_path</span><span class="plain-syntax">, </span><span class="identifier-syntax">t</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -127,7 +127,7 @@ Inform documentation.
|
|||
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">leafname</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/3-drc.html#SP2" class="function-link"><span class="function-syntax">Directories::next</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">dir</span><span class="plain-syntax">, </span><span class="identifier-syntax">leafname</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_last_char</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">leafname</span><span class="plain-syntax">) == </span><span class="constant-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">) </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/1-wp.html#SP4" class="function-link"><span class="function-syntax">Platform::is_folder_separator</span></a><span class="plain-syntax">(</span><a href="../../../inweb/docs/foundation-module/4-sm.html#SP13" class="function-link"><span class="function-syntax">Str::get_last_char</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">leafname</span><span class="plain-syntax">))) </span><span class="reserved-syntax">continue</span><span class="plain-syntax">;</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">filename</span><span class="plain-syntax"> *</span><span class="identifier-syntax">exloc</span><span class="plain-syntax"> = </span><a href="../../../inweb/docs/foundation-module/3-fln.html#SP2" class="function-link"><span class="function-syntax">Filenames::in</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">indoc_settings</span><span class="plain-syntax">-></span><span class="element-syntax">examples_directory</span><span class="plain-syntax">, </span><span class="identifier-syntax">leafname</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><a href="../../../inweb/docs/foundation-module/4-pm.html#SP10" class="function-link"><span class="function-syntax">Regexp::match</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">NULL</span><span class="plain-syntax">, </span><span class="identifier-syntax">leafname</span><span class="plain-syntax">, </span><span class="identifier-syntax">L</span><span class="string-syntax">"%(Recipes%)%c*"</span><span class="plain-syntax">)) </span><span class="named-paragraph-container code-font"><a href="2-exm.html#SP5_2" class="named-paragraph-link"><span class="named-paragraph">Scan the Recipe Book catalogue</span><span class="named-paragraph-number">5.2</span></a></span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">else</span><span class="plain-syntax"> </span><span class="named-paragraph-container code-font"><a href="2-exm.html#SP5_1" class="named-paragraph-link"><span class="named-paragraph">Scan a regular example</span><span class="named-paragraph-number">5.1</span></a></span><span class="plain-syntax">;</span>
|
||||
|
|
|
@ -202,7 +202,7 @@ so we'll quietly allow for it.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">D</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Directories::next</span><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_last_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FOLDER_SEPARATOR</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">Platform::is_folder_separator</span><span class="plain-syntax">(</span><span class="identifier-syntax">Str::get_last_char</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">Str::delete_last_character</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::ne</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">, </span><span class="identifier-syntax">I</span><span class="string-syntax">"Reserved"</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">Q</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Pathnames::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -178,7 +178,7 @@ requirements.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">D</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Directories::next</span><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_last_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FOLDER_SEPARATOR</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">Platform::is_folder_separator</span><span class="plain-syntax">(</span><span class="identifier-syntax">Str::get_last_char</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">Str::delete_last_character</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">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Pathnames::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><a href="4-km.html#SP4" class="function-link"><span class="function-syntax">KitManager::claim_folder_as_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -150,7 +150,7 @@ a valid metadata file. The name should be in English text, without accents.
|
|||
<span class="plain-syntax"> </span><span class="identifier-syntax">LOOP_THROUGH_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">, </span><span class="identifier-syntax">name</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">int</span><span class="plain-syntax"> </span><span class="identifier-syntax">c</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Str::get</span><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">c</span><span class="plain-syntax"> < </span><span class="constant-syntax">32</span><span class="plain-syntax">) || (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> > </span><span class="constant-syntax">126</span><span class="plain-syntax">)) </span><span class="identifier-syntax">acceptable</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">; </span><span class="comment-syntax"> contains non-ASCII</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">c</span><span class="plain-syntax"> == </span><span class="identifier-syntax">FOLDER_SEPARATOR</span><span class="plain-syntax">) { </span><span class="identifier-syntax">Str::put</span><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</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">Platform::is_folder_separator</span><span class="plain-syntax">(</span><span class="identifier-syntax">c</span><span class="plain-syntax">)) { </span><span class="identifier-syntax">Str::put</span><span class="plain-syntax">(</span><span class="identifier-syntax">pos</span><span class="plain-syntax">, </span><span class="constant-syntax">0</span><span class="plain-syntax">); </span><span class="reserved-syntax">break</span><span class="plain-syntax">; }</span>
|
||||
<span class="plain-syntax"> }</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::len</span><span class="plain-syntax">(</span><span class="identifier-syntax">name</span><span class="plain-syntax">) == </span><span class="constant-syntax">0</span><span class="plain-syntax">) </span><span class="identifier-syntax">acceptable</span><span class="plain-syntax"> = </span><span class="identifier-syntax">FALSE</span><span class="plain-syntax">; </span><span class="comment-syntax"> i.e., an empty text</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">acceptable</span><span class="plain-syntax">) {</span>
|
||||
|
@ -177,7 +177,7 @@ requirements.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">D</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Directories::next</span><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_last_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FOLDER_SEPARATOR</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">Platform::is_folder_separator</span><span class="plain-syntax">(</span><span class="identifier-syntax">Str::get_last_char</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">Str::delete_last_character</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">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Pathnames::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><a href="4-lm.html#SP4" class="function-link"><span class="function-syntax">LanguageManager::claim_folder_as_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -158,7 +158,7 @@ requirements.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">D</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Directories::next</span><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_last_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">) != </span><span class="identifier-syntax">FOLDER_SEPARATOR</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">Platform::is_folder_separator</span><span class="plain-syntax">(</span><span class="identifier-syntax">Str::get_last_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</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">filename</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">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><a href="4-pm.html#SP4" class="function-link"><span class="function-syntax">PipelineManager::claim_file_as_copy</span></a><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="reserved-syntax">if</span><span class="plain-syntax"> ((</span><span class="identifier-syntax">C</span><span class="plain-syntax">) && (</span><a href="2-rqr.html#SP7" class="function-link"><span class="function-syntax">Requirements::meets</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">C</span><span class="plain-syntax">-></span><span class="element-syntax">edition</span><span class="plain-syntax">, </span><span class="identifier-syntax">req</span><span class="plain-syntax">))) {</span>
|
||||
|
|
|
@ -157,7 +157,7 @@ requirements.
|
|||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">D</span><span class="plain-syntax">) {</span>
|
||||
<span class="plain-syntax"> </span><span class="identifier-syntax">TEMPORARY_TEXT</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">while</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Directories::next</span><span class="plain-syntax">(</span><span class="identifier-syntax">D</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">)) {</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">if</span><span class="plain-syntax"> (</span><span class="identifier-syntax">Str::get_last_char</span><span class="plain-syntax">(</span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">) == </span><span class="identifier-syntax">FOLDER_SEPARATOR</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">Platform::is_folder_separator</span><span class="plain-syntax">(</span><span class="identifier-syntax">Str::get_last_char</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">Str::delete_last_character</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">pathname</span><span class="plain-syntax"> *</span><span class="identifier-syntax">Q</span><span class="plain-syntax"> = </span><span class="identifier-syntax">Pathnames::down</span><span class="plain-syntax">(</span><span class="identifier-syntax">P</span><span class="plain-syntax">, </span><span class="identifier-syntax">LEAFNAME</span><span class="plain-syntax">);</span>
|
||||
<span class="plain-syntax"> </span><span class="reserved-syntax">inbuild_copy</span><span class="plain-syntax"> *</span><span class="identifier-syntax">C</span><span class="plain-syntax"> = </span><a href="4-tm.html#SP4" class="function-link"><span class="function-syntax">TemplateManager::claim_folder_as_copy</span></a><span class="plain-syntax">(</span><span class="identifier-syntax">Q</span><span class="plain-syntax">);</span>
|
||||
|
|
|
@ -54,15 +54,15 @@ void Links::create_auxiliary_file(text_stream *fn, text_stream *description, tex
|
|||
void Links::get_extension_from_textual_filename(OUTPUT_STREAM, text_stream *filename) {
|
||||
int i = Str::len(filename) - 1;
|
||||
while ((i>=0) && ((Str::get_at(filename, i) == '.') || (Str::get_at(filename, i) == ' '))) i--;
|
||||
while ((i>=0) && (Str::get_at(filename, i) != '.') && (Str::get_at(filename, i) != FOLDER_SEPARATOR)) i--;
|
||||
if ((i<0) || (Str::get_at(filename, i) == FOLDER_SEPARATOR)) return;
|
||||
while ((i>=0) && (Str::get_at(filename, i) != '.') && (Platform::is_folder_separator(Str::get_at(filename, i)) == FALSE)) i--;
|
||||
if ((i<0) || (Platform::is_folder_separator(Str::get_at(filename, i)))) return;
|
||||
Str::copy_tail(OUT, filename, i);
|
||||
}
|
||||
|
||||
@ =
|
||||
void Links::get_leafname_from_textual_filename(OUTPUT_STREAM, text_stream *filename) {
|
||||
int i = Str::len(filename) - 1;
|
||||
while ((i>=0) && (Str::get_at(filename, i) != FOLDER_SEPARATOR)) i--;
|
||||
while ((i>=0) && (Platform::is_folder_separator(Str::get_at(filename, i)) == FALSE)) i--;
|
||||
Str::copy_tail(OUT, filename, i+1);
|
||||
}
|
||||
|
||||
|
|
|
@ -229,14 +229,14 @@ void Main::add_file_or_path_as_target(text_stream *arg, int throwing_error) {
|
|||
int pos = Str::len(arg) - 1, dotpos = -1;
|
||||
while (pos >= 0) {
|
||||
wchar_t c = Str::get_at(arg, pos);
|
||||
if (c == FOLDER_SEPARATOR) break;
|
||||
if (Platform::is_folder_separator(c)) break;
|
||||
if (c == '.') dotpos = pos;
|
||||
pos--;
|
||||
}
|
||||
if (dotpos >= 0)
|
||||
Str::substr(ext, Str::at(arg, dotpos+1), Str::end(arg));
|
||||
int directory_status = NOT_APPLICABLE;
|
||||
if (Str::get_last_char(arg) == FOLDER_SEPARATOR) {
|
||||
if (Platform::is_folder_separator(Str::get_last_char(arg))) {
|
||||
Str::delete_last_character(arg);
|
||||
directory_status = TRUE;
|
||||
}
|
||||
|
|
|
@ -129,7 +129,7 @@ void ExtensionManager::search_nest_for_r(pathname *P, inbuild_nest *N,
|
|||
if (D) {
|
||||
TEMPORARY_TEXT(LEAFNAME)
|
||||
while (Directories::next(D, LEAFNAME)) {
|
||||
if (Str::get_last_char(LEAFNAME) == FOLDER_SEPARATOR) {
|
||||
if (Platform::is_folder_separator(Str::get_last_char(LEAFNAME))) {
|
||||
Str::delete_last_character(LEAFNAME);
|
||||
if (Str::ne(LEAFNAME, I"Reserved")) {
|
||||
pathname *Q = Pathnames::down(P, LEAFNAME);
|
||||
|
|
|
@ -110,7 +110,7 @@ void KitManager::search_nest_for(inbuild_genre *gen, inbuild_nest *N,
|
|||
if (D) {
|
||||
TEMPORARY_TEXT(LEAFNAME)
|
||||
while (Directories::next(D, LEAFNAME)) {
|
||||
if (Str::get_last_char(LEAFNAME) == FOLDER_SEPARATOR) {
|
||||
if (Platform::is_folder_separator(Str::get_last_char(LEAFNAME))) {
|
||||
Str::delete_last_character(LEAFNAME);
|
||||
pathname *Q = Pathnames::down(P, LEAFNAME);
|
||||
inbuild_copy *C = KitManager::claim_folder_as_copy(Q);
|
||||
|
|
|
@ -82,7 +82,7 @@ void LanguageManager::claim_as_copy(inbuild_genre *gen, inbuild_copy **C,
|
|||
LOOP_THROUGH_TEXT(pos, name) {
|
||||
int c = Str::get(pos);
|
||||
if ((c < 32) || (c > 126)) acceptable = FALSE; /* contains non-ASCII */
|
||||
if (c == FOLDER_SEPARATOR) { Str::put(pos, 0); break; }
|
||||
if (Platform::is_folder_separator(c)) { Str::put(pos, 0); break; }
|
||||
}
|
||||
if (Str::len(name) == 0) acceptable = FALSE; /* i.e., an empty text */
|
||||
if (acceptable) {
|
||||
|
@ -109,7 +109,7 @@ void LanguageManager::search_nest_for(inbuild_genre *gen, inbuild_nest *N,
|
|||
if (D) {
|
||||
TEMPORARY_TEXT(LEAFNAME)
|
||||
while (Directories::next(D, LEAFNAME)) {
|
||||
if (Str::get_last_char(LEAFNAME) == FOLDER_SEPARATOR) {
|
||||
if (Platform::is_folder_separator(Str::get_last_char(LEAFNAME))) {
|
||||
Str::delete_last_character(LEAFNAME);
|
||||
pathname *Q = Pathnames::down(P, LEAFNAME);
|
||||
inbuild_copy *C = LanguageManager::claim_folder_as_copy(Q);
|
||||
|
|
|
@ -90,7 +90,7 @@ void PipelineManager::search_nest_for(inbuild_genre *gen, inbuild_nest *N,
|
|||
if (D) {
|
||||
TEMPORARY_TEXT(LEAFNAME)
|
||||
while (Directories::next(D, LEAFNAME)) {
|
||||
if (Str::get_last_char(LEAFNAME) != FOLDER_SEPARATOR) {
|
||||
if (Platform::is_folder_separator(Str::get_last_char(LEAFNAME)) == FALSE) {
|
||||
filename *F = Filenames::in(P, LEAFNAME);
|
||||
inbuild_copy *C = PipelineManager::claim_file_as_copy(F, NULL);
|
||||
if ((C) && (Requirements::meets(C->edition, req))) {
|
||||
|
|
|
@ -89,7 +89,7 @@ void TemplateManager::search_nest_for(inbuild_genre *gen, inbuild_nest *N,
|
|||
if (D) {
|
||||
TEMPORARY_TEXT(LEAFNAME)
|
||||
while (Directories::next(D, LEAFNAME)) {
|
||||
if (Str::get_last_char(LEAFNAME) == FOLDER_SEPARATOR) {
|
||||
if (Platform::is_folder_separator(Str::get_last_char(LEAFNAME))) {
|
||||
Str::delete_last_character(LEAFNAME);
|
||||
pathname *Q = Pathnames::down(P, LEAFNAME);
|
||||
inbuild_copy *C = TemplateManager::claim_folder_as_copy(Q);
|
||||
|
|
|
@ -529,7 +529,7 @@ home folder, |~~| means the book folder.
|
|||
pathname *Instructions::set_path(text_stream *val, settings_block *settings) {
|
||||
if (Str::get_at(val, 0) == '~') {
|
||||
if (Str::get_at(val, 1) == '~') {
|
||||
if ((Str::get_at(val, 2) == '/') || (Str::get_at(val, 2) == FOLDER_SEPARATOR)) {
|
||||
if ((Str::get_at(val, 2) == '/') || (Platform::is_folder_separator(Str::get_at(val, 2)))) {
|
||||
TEMPORARY_TEXT(t)
|
||||
Str::copy_tail(t, val, 3);
|
||||
pathname *P = Pathnames::from_text_relative(settings->book_folder, t);
|
||||
|
@ -537,7 +537,7 @@ pathname *Instructions::set_path(text_stream *val, settings_block *settings) {
|
|||
return P;
|
||||
} else if (Str::get_at(val, 2) == 0) return settings->book_folder;
|
||||
}
|
||||
if ((Str::get_at(val, 1) == '/') || (Str::get_at(val, 1) == FOLDER_SEPARATOR)) {
|
||||
if ((Str::get_at(val, 1) == '/') || (Platform::is_folder_separator(Str::get_at(val, 1)))) {
|
||||
TEMPORARY_TEXT(t)
|
||||
Str::copy_tail(t, val, 2);
|
||||
pathname *P = Pathnames::from_text_relative(home_path, t);
|
||||
|
@ -552,7 +552,7 @@ pathname *Instructions::set_path(text_stream *val, settings_block *settings) {
|
|||
filename *Instructions::set_file(text_stream *val, settings_block *settings) {
|
||||
if (Str::get_at(val, 0) == '~') {
|
||||
if (Str::get_at(val, 1) == '~') {
|
||||
if ((Str::get_at(val, 2) == '/') || (Str::get_at(val, 2) == FOLDER_SEPARATOR)) {
|
||||
if ((Str::get_at(val, 2) == '/') || (Platform::is_folder_separator(Str::get_at(val, 2)))) {
|
||||
TEMPORARY_TEXT(t)
|
||||
Str::copy_tail(t, val, 3);
|
||||
filename *F = Filenames::from_text_relative(settings->book_folder, t);
|
||||
|
@ -560,7 +560,7 @@ filename *Instructions::set_file(text_stream *val, settings_block *settings) {
|
|||
return F;
|
||||
}
|
||||
}
|
||||
if ((Str::get_at(val, 1) == '/') || (Str::get_at(val, 1) == FOLDER_SEPARATOR)) {
|
||||
if ((Str::get_at(val, 1) == '/') || (Platform::is_folder_separator(Str::get_at(val, 1)))) {
|
||||
TEMPORARY_TEXT(t)
|
||||
Str::copy_tail(t, val, 2);
|
||||
filename *F = Filenames::from_text_relative(home_path, t);
|
||||
|
|
|
@ -71,7 +71,7 @@ void Examples::scan_examples(void) {
|
|||
|
||||
TEMPORARY_TEXT(leafname)
|
||||
while (Directories::next(dir, leafname)) {
|
||||
if (Str::get_last_char(leafname) == FOLDER_SEPARATOR) continue;
|
||||
if (Platform::is_folder_separator(Str::get_last_char(leafname))) continue;
|
||||
filename *exloc = Filenames::in(indoc_settings->examples_directory, leafname);
|
||||
if (Regexp::match(NULL, leafname, L"%(Recipes%)%c*")) @<Scan the Recipe Book catalogue@>
|
||||
else @<Scan a regular example@>;
|
||||
|
|
|
@ -1,13 +1,13 @@
|
|||
100.0% in inform7 run
|
||||
66.9% in compilation to Inter
|
||||
27.6% in //Phrases::Manager::compile_first_block//
|
||||
8.2% in //Phrases::Manager::compile_as_needed//
|
||||
6.6% in //Strings::compile_responses//
|
||||
5.9% in //World::Compile::compile//
|
||||
3.4% in //Assertions::Traverse::traverse1//
|
||||
3.0% in //Sentences::VPs::traverse//
|
||||
1.9% in //Phrases::Manager::RulePrintingRule_routine//
|
||||
1.7% in //Phrases::Manager::rulebooks_array//
|
||||
67.5% in compilation to Inter
|
||||
27.9% in //Phrases::Manager::compile_first_block//
|
||||
8.3% in //Phrases::Manager::compile_as_needed//
|
||||
6.7% in //Strings::compile_responses//
|
||||
5.8% in //World::Compile::compile//
|
||||
3.2% in //Assertions::Traverse::traverse1//
|
||||
3.1% in //Sentences::VPs::traverse//
|
||||
2.0% in //Phrases::Manager::RulePrintingRule_routine//
|
||||
1.8% in //Phrases::Manager::rulebooks_array//
|
||||
1.0% in //NewVerbs::ConjugateVerb//
|
||||
0.7% in //Phrases::Manager::parse_rule_parameters//
|
||||
0.7% in //Phrases::Manager::traverse//
|
||||
|
@ -19,19 +19,18 @@
|
|||
0.1% in //Sentences::RuleSubtrees::register_recently_lexed_phrases//
|
||||
0.1% in //Task::load_types//
|
||||
0.1% in //World::complete//
|
||||
3.8% not specifically accounted for
|
||||
30.7% in running Inter pipeline
|
||||
10.0% in step preparation
|
||||
9.5% in inter step 2/12: link
|
||||
7.5% in inter step 12/12: generate inform6 -> auto.inf
|
||||
3.9% not specifically accounted for
|
||||
30.2% in running Inter pipeline
|
||||
9.8% in inter step 2/12: link
|
||||
9.8% in step preparation
|
||||
7.1% in inter step 12/12: generate inform6 -> auto.inf
|
||||
0.3% in inter step 9/12: make-identifiers-unique
|
||||
0.1% in inter step 10/12: reconcile-verbs
|
||||
0.1% in inter step 11/12: eliminate-redundant-labels
|
||||
0.1% in inter step 4/12: parse-linked-matter
|
||||
0.1% in inter step 5/12: resolve-conditional-compilation
|
||||
0.1% in inter step 6/12: assimilate
|
||||
0.1% in inter step 7/12: resolve-external-symbols
|
||||
0.1% in inter step 8/12: inspect-plugs
|
||||
2.0% not specifically accounted for
|
||||
1.9% in supervisor
|
||||
0.4% not specifically accounted for
|
||||
2.0% in supervisor
|
||||
0.2% not specifically accounted for
|
||||
|
|
|
@ -73,5 +73,5 @@ void SourceLinks::link(OUTPUT_STREAM, source_location sl, int nonbreaking_space)
|
|||
|
||||
@<Remove indication that the path is inside the Source directory@> =
|
||||
if ((Str::begins_with_wide_string(fn, L"Source")) &&
|
||||
(Str::get_at(fn, 6) == FOLDER_SEPARATOR))
|
||||
(Platform::is_folder_separator(Str::get_at(fn, 6))))
|
||||
Str::delete_n_characters(fn, 7);
|
||||
|
|
Loading…
Reference in a new issue