Closed eriktorbjorn closed 5 months ago
I verfied this on ITS and examine
is the same but read
works as expected (without bug). This is a specific bug for Confusion.
I think tab
is well defined because the text looks the same on both platforms.
I verfied this on ITS and examine is the same but read works as expected (without bug). This is a specific bug for Confusion.
Fortunately, I think the fix I suggested fixes both of them.
I think tab is well defined because the text looks the same on both platforms.
But at least in Linux it's possible to configure the tab stops, in which case things might end up not looking right. I don't know if that's also the case in ITS?
ITS normally considers tab stops to be every eighth column, regardless of the terminal type. On output, a TAB character is converted to the appropriate cursor movement.
This is what I tried in Linux. Normally, it looks like this:
>READ TUBE
---> Frobozz Magic Gunk Company <---
All-Purpose Gunk
But after doing
stty tab0
tabs -4
It looks like this:
>READ TUBE
---> Frobozz Magic Gunk Company <---
All-Purpose Gunk
So maybe Confusion should convert tabs to spaces, just to be safe, assuming it can be done without too much pain.
I'll branch off the tab to a seperate issue.
The difference between MDL on ITS and Confusion and the error message "Buffer for PRINTSTRING must be STRING"
on Confusion is because there's a replacement routine for TELL
that don't check that the input is a string. This could be fixed with <AND <TYPE? .S1 STRING> <PRINTSTRING .S1 .OUTCHAN .L>>
. Now the behaviour is the same and the bug can be fixed by the proposed solution.
When you examine or read the free brochure while the stamp is still there, the text will end correctly:
(By the way, this text and some others use tabs. Is it well-defined how many spaces a TAB is when running in Confusion?)
But once you remove the stamp, if you examine the brochure:
And if you read it:
The problem appears to be this bit in
BROCHURE
:Which means that it can return
<>
instead ofT
, I believe. So perhaps simply add aT
at the end?