Loading cross.fs +1 −0 Original line number Diff line number Diff line Loading @@ -1115,6 +1115,7 @@ Ghost does-exec drop Ghost extra-exec drop Ghost no-to drop Ghost post, drop Ghost refill drop Ghost :docol Ghost :doesjump Ghost :dodoes 2drop drop Ghost :dovar Ghost dovar-vt Ghost dodoes-vt 2drop drop Loading history.fs +6 −1 Original line number Diff line number Diff line Loading @@ -248,6 +248,10 @@ require utf-8.fs cols dup screenw !@ - >r 2 pick dup screenw @ / r> * 0 max + dup spaces linew ! .all .rest false ; : xhide ( max span addr pos1 -- max span addr pos1 f ) linew @ xback-restore 2 pick dup spaces xback-restore linew off false ; \ In the following, addr max is the buffer, addr span is the current \ string in the buffer, and pos1 is the cursor position in the buffer. Loading Loading @@ -295,7 +299,7 @@ Variable vt100-modifier 2 pick over <> IF xforw drop (xdel) .all 2 spaces 2 linew +! .rest ELSE bell THEN 0 ; : xeof 2 pick over or 0= IF bye ELSE <xdel> THEN ; : xeof 2 pick over or 0= IF -56 throw ELSE <xdel> THEN ; : xfirst-pos ( max span addr pos1 -- max span addr 0 0 ) drop 0 .all .rest 0 ; Loading Loading @@ -355,6 +359,7 @@ Variable vt100-modifier ['] xretype ctrl L bindkey ['] next-line ctrl N bindkey ['] prev-line ctrl P bindkey ['] xhide ctrl Z bindkey \ press ctrl-L to reshow ['] (xenter) #lf bindkey ['] (xenter) #cr bindkey ['] xtab-expand #tab bindkey Loading kernel/input.fs +4 −0 Original line number Diff line number Diff line Loading @@ -254,6 +254,10 @@ defer line-end-hook ( -- ) \ gforth BEGIN refill WHILE interpret line-end-hook REPEAT state @ warning" EOF reached while compiling" ; : get-input ( -- flag ) \ gforth \G read a line of input ['] refill catch -56 = IF bye THEN ; : execute-parsing-named-file ( i*x wfileid filename-addr filename-u xt -- j*x ) >r push-file \ dup 2* cells included-files 2@ drop + 2@ type loadfilename 2! loadfile ! Loading kernel/int.fs +1 −1 Original line number Diff line number Diff line Loading @@ -737,7 +737,7 @@ has? os [IF] \ if stderr does not work either, already DoError causes a hang -2 (bye) endif [ [THEN] ] refill WHILE get-input WHILE interpret prompt REPEAT bye ; Loading Loading
cross.fs +1 −0 Original line number Diff line number Diff line Loading @@ -1115,6 +1115,7 @@ Ghost does-exec drop Ghost extra-exec drop Ghost no-to drop Ghost post, drop Ghost refill drop Ghost :docol Ghost :doesjump Ghost :dodoes 2drop drop Ghost :dovar Ghost dovar-vt Ghost dodoes-vt 2drop drop Loading
history.fs +6 −1 Original line number Diff line number Diff line Loading @@ -248,6 +248,10 @@ require utf-8.fs cols dup screenw !@ - >r 2 pick dup screenw @ / r> * 0 max + dup spaces linew ! .all .rest false ; : xhide ( max span addr pos1 -- max span addr pos1 f ) linew @ xback-restore 2 pick dup spaces xback-restore linew off false ; \ In the following, addr max is the buffer, addr span is the current \ string in the buffer, and pos1 is the cursor position in the buffer. Loading Loading @@ -295,7 +299,7 @@ Variable vt100-modifier 2 pick over <> IF xforw drop (xdel) .all 2 spaces 2 linew +! .rest ELSE bell THEN 0 ; : xeof 2 pick over or 0= IF bye ELSE <xdel> THEN ; : xeof 2 pick over or 0= IF -56 throw ELSE <xdel> THEN ; : xfirst-pos ( max span addr pos1 -- max span addr 0 0 ) drop 0 .all .rest 0 ; Loading Loading @@ -355,6 +359,7 @@ Variable vt100-modifier ['] xretype ctrl L bindkey ['] next-line ctrl N bindkey ['] prev-line ctrl P bindkey ['] xhide ctrl Z bindkey \ press ctrl-L to reshow ['] (xenter) #lf bindkey ['] (xenter) #cr bindkey ['] xtab-expand #tab bindkey Loading
kernel/input.fs +4 −0 Original line number Diff line number Diff line Loading @@ -254,6 +254,10 @@ defer line-end-hook ( -- ) \ gforth BEGIN refill WHILE interpret line-end-hook REPEAT state @ warning" EOF reached while compiling" ; : get-input ( -- flag ) \ gforth \G read a line of input ['] refill catch -56 = IF bye THEN ; : execute-parsing-named-file ( i*x wfileid filename-addr filename-u xt -- j*x ) >r push-file \ dup 2* cells included-files 2@ drop + 2@ type loadfilename 2! loadfile ! Loading
kernel/int.fs +1 −1 Original line number Diff line number Diff line Loading @@ -737,7 +737,7 @@ has? os [IF] \ if stderr does not work either, already DoError causes a hang -2 (bye) endif [ [THEN] ] refill WHILE get-input WHILE interpret prompt REPEAT bye ; Loading