diff options
| author | kitty <nepeta@canaglie.net> | 2026-03-02 15:16:22 +1100 |
|---|---|---|
| committer | kitty <nepeta@canaglie.net> | 2026-03-02 15:16:22 +1100 |
| commit | 232bbb58c381f635749ba957653e9e7d39aa78a4 (patch) | |
| tree | 10116614b0619e639dba6e35b8a220aabeba08d5 | |
| parent | 543bd697f69636cd67d15ac019c6dfe26df1002c (diff) | |
now i need to actually use it in (refill)
| -rw-r--r-- | jefs.fs | 11 |
1 files changed, 7 insertions, 4 deletions
@@ -211,8 +211,8 @@ variable hld \ }}} : ? @ . ; -: .s sp cell+ ( skip sp itself ) begin dup s0 @ > while dup @ .qword cell+ repeat drop cr ; -: .rs rp cell+ ( skip rsp itself ) begin dup rs0 @ > while dup @ .qword cell+ repeat drop cr ; +: .s sp cell+ ( skip sp itself ) begin dup s0 @ > while dup @ . cell+ repeat drop cr ; +: .rs rp cell+ ( skip rsp itself ) begin dup rs0 @ > while dup @ . cell+ repeat drop cr ; : bytes-allocated heremax @ herestart @ - ; : bytes-used here @ herestart @ - ; @@ -279,13 +279,16 @@ variable source-id init-source source-id ! 8192 constant file-buffer-length -variable file-buffer-used make file-buffer file-buffer-length allot \ todo move remaining stuff back before read-file, \ update tib stuff for new data +\ what if word spans accross refills? maybe parse +\ should be rewritten here to take this into account +: move-back ( -- remaining ) tib @ >in @ + tib @ #tib @ >in @ - dup >r cmove + r> #tib ! 0 >in ! #tib @ ; \ maybe make this less shitty at sum pt : (refill) ( fd -- flag ) >r file-buffer file-buffer-length r> read-file - 0= if ?dup 0> if ( TODO > ) drop ( < TODO ) + 0= if ?dup 0> if ( TODO > ) drop ( < TODO ) true else false then else false then ; : refill ( -- flag ) source-id @ dup 0>= if (refill) else drop false then ; : refill ." UNIMPLEMENTED" cr ; |
