From 29864ea0a6d6bc3c4d28765a200337256a5d3241 Mon Sep 17 00:00:00 2001 From: kitty Date: Tue, 31 Mar 2026 19:24:49 +1100 Subject: some input internals maybe this stuff should be hidden. not sure yet --- sanctuary.fs | 26 ++++++++++++++++++++++++++ 1 file changed, 26 insertions(+) (limited to 'sanctuary.fs') diff --git a/sanctuary.fs b/sanctuary.fs index 0199296..08a1c15 100644 --- a/sanctuary.fs +++ b/sanctuary.fs @@ -180,6 +180,32 @@ variable hld : close-file sys-close ; : read-file >r swap r> sys-read >errno ; : write-file >r swap r> sys-write >errno ; + +-2 constant init-source +-1 constant string-source +init-source value source-id + +8192 constant /buffer +create base-buffer /buffer allot \ stdin input buffer +variable latest-input-buffer + +\ format: LINK LINEBUF-PTR >IN USED FD [BUFFER (8152B)] +: buf>line cell+ ; +: buf>in 2 cells + ; +: buf>used 3 cells + ; +: buf>fd 4 cells + ; +: buf>buf 5 cells + ; + +4096 constant /linebuf +create base-linebuffer /linebuf allot +\ format >IN USED +: linebuf>used cell+ ; +: linebuf>buf 2 cells + ; + +base-linebuffer base-buffer buf>in ! +base-buffer latest-input-buffer ! + +: accept ; \ }}} bye -- cgit v1.2.3