Commit graph

12 commits

Author SHA1 Message Date
Alex Shinn
c5179f2271 Hopefully the last fd gc issue: also preserve for newly opening FILE* ports
if the corresponding fd still exists in the cache.
2014-06-11 23:19:00 +09:00
Alex Shinn
26716b1a2b If we lookup a fileno that was cached but closed we need to reopen it. 2014-06-03 08:50:46 +09:00
Alex Shinn
152e66fbd6 Using a hash for the fileno table. 2014-06-01 12:20:18 +09:00
Alex Shinn
676b39d82a Moving ephemerals into the core. Using them as a weak table to store filenos,
and enforcing the invariant that there is only one fileno object with a given
number at a time.
2014-05-31 14:20:00 +09:00
Alex Shinn
22e2a08563 Fixing custom ports built without utf8 support. 2014-05-08 06:47:33 -04:00
Alex Shinn
ea6e44f7d0 Distinguishing general read errors from incomplete input read errors.
Using these to allow multi-line input in edit-line.
2014-05-05 21:05:02 +09:00
Alex Shinn
ce24f67224 Making #! a line comment only if followed by whitespace or /,
otherwise we report a bad symbol for anything other than (no-)fold-case.
2014-05-05 14:24:52 +09:00
Alex Shinn
76a4cfa952 Fixing 4 byte utf8 read-char. Fixing resized strings in custom ports. 2014-04-26 13:39:26 +09:00
Alex Shinn
985deba95d Fixing string-ref on 4-byte utf8 chars. 2014-04-26 12:40:31 +09:00
Alex Shinn
d945e744e1 Adding binary custom ports. 2014-03-16 20:12:12 +09:00
Alex Shinn
7727c4c45d Taking a frozen copy of the initial env when we setup the meta env.
This is so that you can import into the interaction env without affecting
the (chibi) module.
2014-03-15 18:49:47 +09:00
Alex Shinn
8b5eb68238 File descriptors maintain a reference count of ports open on them
They can be close()d explicitly with close-file-descriptor, and
will close() on gc, but only explicitly closing the last port on
them will close the fileno.  Notably needed for network sockets
where we open separate input and output ports on the same socket.
2014-02-20 22:32:50 +09:00