Allow list to stop spitting a line early

If a line has a char below 0x20, we consider the line ended, we
stop the EMIT loop for this line and spit our NL.

This makes LIST stop wasting rows in environments with a tight
screen.
This commit is contained in:
Virgil Dupras 2020-11-08 16:47:33 -05:00
parent f09950a12a
commit 3171b03335
2 changed files with 3 additions and 5 deletions

View File

@ -1,11 +1,9 @@
: .2 DUP 10 < IF SPC THEN . ;
: LIST : LIST
BLK@ BLK@
16 0 DO 16 0 DO
I 1+ .2 SPC I 1+ DUP 10 < IF SPC THEN . SPC
64 I * BLK( + DUP 64 + SWAP DO 64 I * BLK( + DUP 64 + SWAP DO
I C@ 0x20 MAX EMIT I C@ DUP 0x1f > IF EMIT ELSE LEAVE THEN
LOOP LOOP
NL NL
LOOP LOOP ;
;

Binary file not shown.