1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-04-29 19:30:36 +02:00

Rewrite ‘get-bytevector-all’ in Scheme.

* libguile/r6rs-ports.c (get_bytevector_all_var): New variable.
(init_bytevector_io_vars): New function.
(scm_get_bytevector_all): Rewrite as a proxy to ‘get-bytevector-all’
from (ice-9 binary-port).
* module/ice-9/binary-ports.scm (get-bytevector-all): New procedure.
* NEWS: Update.

Reported-by: Christopher Baines <mail@cbaines.net>
This commit is contained in:
Ludovic Courtès 2024-06-16 15:01:49 +02:00
parent 27feb2bfd3
commit 461ff313fa
No known key found for this signature in database
GPG key ID: 090B11993D9AEBB5
3 changed files with 51 additions and 52 deletions

7
NEWS
View file

@ -48,6 +48,13 @@ files. See "Random Access" in the manual for details.
A list of superclasses can now be provided via #:super.
** 'get-bytevector-all' is now written in Scheme and is thus suspendable
The 'get-bytevector-all' procedure from (rnrs io ports) and (ice-9
binary-port) used to be implemented in C, making it non-suspendable--a
bummer for programs using suspendable ports and Fibers. It has been
rewritten in Scheme, addressing this limitation.
* Bug fixes
** Fix incorrect comparison between exact and inexact numbers