<a href="#p_gtR">>R</a>  \r
<a href="#p_Rget">R@</a>  \r
<a href="#p_Rgt">R></a>  \r
-<a href="#p_rbpn">R[n]</a>  </p></div>\r
+<a href="#p_rbpn">R[n]</a>  \r
+<a href="#p_dsp">D[n]</a>  </p></div>\r
<div class="paragraph"><p><a href="#data_stack">DATA-STACK</a>  \r
<a href="#return_stack">RETURN-STACK</a>  \r
 \r
<a href="#p_program_version">PROGRAM_VERSION</a>  </p></div>\r
<div class="paragraph"><p><a href="#p_quit">QUIT</a>  </p></div>\r
<div class="paragraph"><p><a href="#p_read_stream_char">READ-STREAM-CHAR</a>  \r
+<a href="#p_read_stream_char">READ-STREAM-LINE</a>  \r
<a href="#p_read_word">READ-WORD</a>  \r
<a href="#p_realloc">REALLOC</a>  \r
<a href="#p_return">RETURN</a>  \r
<div style="text-align:center">\r
_______________________________________________________\r
</div>\r
+<div class="paragraph"><p><a id="p_dsp"></a></p></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_word_d_n">Word: D[n]</h3>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>Data stack: ( n -- a )</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>"D[n]" is a function word that pushes the address for the n:th cell of\r
+the data stack onto the data stack.</p></div>\r
+<div style="text-align:center">\r
+_______________________________________________________\r
+</div>\r
<div class="paragraph"><p><a id="p_cfa2tfa"></a></p></div>\r
</div>\r
<div class="sect2">\r
</div></div>\r
<div class="paragraph"><p>"ARGS" is a value word that holds a pointer to the command line data\r
block which consists of a count cell followed by that many asciiz\r
-pointers and then a 0 cell.</p></div>\r
+pointers and then a 0 cell. That is next followed by the environment\r
+as a number of asciiz pointers and a 0 cell.</p></div>\r
<div class="exampleblock">\r
<div class="content">\r
<div class="listingblock">\r
<div class="content">\r
<pre><code>ARGS -> 8 bytes: count of non-zero asciiz pointers following\r
8 bytes: command name string\r
- 8 bytes: first argument string\r
- 8* ...\r
- 8 zero</code></pre>\r
+ 8* bytes: argument strings\r
+ 8 bytes: zero cell\r
+ 8* bytes: envirnment strings\r
+ 8 bytes: zero cell</code></pre>\r
</div></div>\r
</div></div>\r
<div style="text-align:center">\r
<div class="content">\r
<pre><code>Data stack: ( n -- a )</code></pre>\r
</div></div>\r
-<div class="paragraph"><p>"R[n]" is a function word that pushes the address for the n:th cell on\r
-the top return stack value onto the data stack.</p></div>\r
+<div class="paragraph"><p>"R[n]" is a function word that pushes the address for the n:th cell of\r
+the return stack onto the data stack.</p></div>\r
<div class="exampleblock">\r
<div class="content">\r
<div class="sidebarblock">\r
<div style="text-align:center">\r
_______________________________________________________\r
</div>\r
+<div class="paragraph"><p><a id="p_read_stream_line"></a></p></div>\r
+</div>\r
+<div class="sect2">\r
+<h3 id="_word_read_stream_line">Word: READ-STREAM-LINE</h3>\r
+<div class="literalblock">\r
+<div class="content">\r
+<pre><code>Data stack: ( stream -- n )</code></pre>\r
+</div></div>\r
+<div class="paragraph"><p>"READ-STREAM-LINE" is a function word that gets the next line from the\r
+given stream buffer into PAD and returns number of characters. If the\r
+stream is backed by a file descriptor, the stream buffer is refilled\r
+from there as needed, by a SYS_READ call when more characters are\r
+needed.</p></div>\r
+<div style="text-align:center">\r
+_______________________________________________________\r
+</div>\r
<div class="paragraph"><p><a id="p_read_word"></a></p></div>\r
</div>\r
<div class="sect2">\r
<div id="footer">\r
<div id="footer-text">\r
Last updated\r
- 2021-06-12 22:46:13 AEST\r
+ 2021-06-13 13:02:55 AEST\r
</div>\r
</div>\r
</body>\r