diff options
| author | kitty <nepeta@canaglie.net> | 2026-03-04 17:58:40 +1100 |
|---|---|---|
| committer | kitty <nepeta@canaglie.net> | 2026-03-04 17:58:40 +1100 |
| commit | fb49822582a2a0761d2a9a47d5f6fe5948b7077e (patch) | |
| tree | 8a4469044fe7ea3f0bfb2f6c108b9a19378301e6 /jefs.fs | |
| parent | b281bf7d9ee53e4585210bb8461d78bb2f386a21 (diff) | |
um
Diffstat (limited to 'jefs.fs')
| -rw-r--r-- | jefs.fs | 15 |
1 files changed, 12 insertions, 3 deletions
@@ -289,14 +289,19 @@ max-include-depth 1+ constant #buffers make buffers /buffer #buffers * allot make buffers-used #buffers cells allot make buffers->in #buffers cells allot +make buffers-fd #buffers cells allot : cbuffer include-depth /buffer * buffers + ; : cbuffer-used include-depth cells buffers-used + ; : cbuffer->in include-depth cells buffers->in + ; -: buffer-refill ( u|0 ) cbuffer /buffer stdin read-file 0<> if 0 then +: cbuffer-fd include-depth cells buffers-fd + ; +stdin buffers-fd ! +: buffer-refill ( u|0 ) cbuffer /buffer cbuffer-fd @ read-file 0<> if 0 then 0 cbuffer->in ! dup cbuffer-used ! ; \ returns zero on error or nothing read. -: buffer-remaining? cbuffer->in @ cbuffer-used @ >= ; -: buffer-key buffer-remaining? not if buffer-refill 0= if -1 [ ret, ] then then +\ this is Borken +: buffer-empty? cbuffer->in @ cbuffer-used @ .s >= .s ; +\ bug: always seems to refill +: buffer-key buffer-empty? if buffer-refill 0= if -1 [ ret, ] then then cbuffer cbuffer->in @ + c@ cbuffer->in @ 1+ cbuffer->in ! ; @@ -331,4 +336,8 @@ make line-buffer line-buffer-length allot .free \ input-buffer buffer-length stdin read-file drop input-buffer swap evaluate +buffer-key +buffer-key +char = emit cr +.s bye |
