| |
|
| : prev-line ( max span addr pos1 -- max span addr pos2 false ) |
: prev-line ( max span addr pos1 -- max span addr pos2 false ) |
| clear-line over 2 + negate s>d backward^ 2@ d+ 0. dmax |
clear-line over 2 + negate s>d backward^ 2@ d+ 0. dmax |
| history reposition-file throw 0. |
2dup history reposition-file throw |
| BEGIN 2over swap history read-line throw nip WHILE |
BEGIN 2over swap history read-line throw WHILE |
| history file-position throw |
>r history file-position throw |
| 2dup backward^ 2@ d< WHILE 2swap 2drop |
2dup backward^ 2@ d< WHILE 2swap 2drop rdrop |
| REPEAT 2drop THEN |
REPEAT ELSE >r history file-position throw THEN |
| history reposition-file throw get-line 0 ; |
forward^ 2! backward^ 2! r> tuck 2dup type 0 ; |
| |
|
| : ctrl ( "<char>" -- ctrl-code ) |
: ctrl ( "<char>" -- ctrl-code ) |
| char [char] @ - postpone Literal ; immediate |
char [char] @ - postpone Literal ; immediate |