[z-machine] Inconsistency regarding handling of output stream 4
Michael S. Greger
mgreger at cinci.rr.com
Wed Dec 13 15:55:33 GMT 2006
While implementing output stream 4 (command logging) for my interpreter
I noticed something.
Section 7.1.2.3 says:
"... a command which has been timed-out, or has been terminated by a
code in the terminating character codes table, is not written. ..."
But the remarks section at the bottom of section 7 has this to say:
"...An interpreter should be able to write time delays (for timed
input), accented characters or mouse clicks into stream 4 (i.e., to a
script file). One possible style to record this information might be:
take lamp an ordinary command
turn it on.[154] command, full stop, then keypad 9
(which might abbreviate for NE)
look unde[0] timed out input
look under the rock the same input continuing
[254][10][6] mouse-click at (10,6)"
Mouse clicks are handled by codes in the terminating character codes
table. Also the '[154]' keypad 9 entry example would be a terminating
character code. The example also shows a timed out input. So the remarks
seem to contradict 7.1.2.3. Looking at Frotz, it seems to write
everything as seen in the remarks section. Is there any reason we DON'T
want to write input terminated by a terminating character code?
The timed out example is more complicated than it first appears. Frotz
writes the current input line with a [0] appended every time the timeout
routine is called, I don't know what it does if the routine returns true
indicating to erase the input line and terminate the read. Is the
definition of timeout in 7.1.2.3 "whenever the routine is called" or
"when the routine returns true"?
Thanks
MikeG
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.feelies.org/pipermail/z-machine/attachments/20061213/209df8f2/attachment.htm
More information about the Z-machine
mailing list