ecl/src
Daniel Kochmański b7eaf35502 streams: move byte_stack to strm_os and improve UNREAD-BYTE
The .byte_stack is used only by files to:
a) unread a single octet when we use fallback LISTEN implementation
b) unread bytes that make a character when UNREAD-CHAR is used

The latter is important to transcode characters from one external format to
another (i.e see the test external-format.0003-transcode-read-char).

This commit improves the function unread-byte to do the same brinding bivalent
streams almost to parity with regard to that implementation (see next commit).

That makes the implementation of eformat cleaner, .byte_stack more
self-contained, and saves us consing new byte stack for sequence streams (where
it was simply ignored, not to mention not entirely correct - because we've used
a .byte_stack length to decrement the pointer position while the byte could have
more bits than one octet).

Other optimizations that could be done here:
- make the byte stack an adjustable vector to avoid consing on each unread
2025-08-11 10:01:40 +02:00
..
bdwgc bdwgc: update bundled gc to version 8.2.8 2024-12-05 22:21:45 +01:00
c streams: move byte_stack to strm_os and improve UNREAD-BYTE 2025-08-11 10:01:40 +02:00
clos manual: add documentation for new binary stream interfaces 2025-08-11 10:01:38 +02:00
cmp streams: implement new interfaces for unreading and peeking bytes 2025-08-11 10:01:37 +02:00
doc streams: get rid of last_code slot in the structure 2025-08-11 10:01:40 +02:00
ecl handle *features* entirely in the configure script 2025-07-19 16:33:22 +02:00
gmp build: regenerate configure script with autoconf 2.72 2024-12-05 22:27:10 +01:00
h streams: get rid of last_code slot in the structure 2025-08-11 10:01:40 +02:00
libffi ffi: Update libffi to version 3.3 2019-12-09 19:49:30 +01:00
lsp ffi: convert-to-foreign-string: ensure a cstring 2025-08-11 09:16:00 +02:00
tests tests: add sequence stream tests for new functionality 2025-08-11 10:01:40 +02:00
util openbsd: implement FILE_CNT() on opaque FILE 2025-07-23 08:51:20 +00:00
aclocal.m4 openbsd: implement FILE_CNT() on opaque FILE 2025-07-23 08:51:20 +00:00
bare.lsp.in cmp: implement cross compilation from host compiler with different word size 2025-07-19 16:31:55 +02:00
compile.lsp.in handle *features* entirely in the configure script 2025-07-19 16:33:22 +02:00
config.guess build: add a preliminary support for the emscripten target 2023-06-13 22:07:08 +02:00
config.sub build: add a preliminary support for the emscripten target 2023-06-13 22:07:08 +02:00
configure openbsd: implement FILE_CNT() on opaque FILE 2025-07-23 08:51:20 +00:00
configure.ac handle *features* entirely in the configure script 2025-07-19 16:33:22 +02:00
install.sh Initial revision 2001-06-26 17:14:44 +00:00
Makefile.in tests: make ansi-test a separate target not triggered by make check 2024-03-10 14:48:12 +01:00