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

Add "custom ports"

Custom ports are a kind of port that exposes the C port type interface
directly to Scheme.  In this way the full capability of C is available
to Scheme, and also the read and write functions can be tail-called from
Scheme (via port-read / port-write).

* libguile/custom-ports.c:
* libguile/custom-ports.h:
* module/ice-9/custom-ports.scm: New files.
* libguile/init.c:
* libguile/Makefile.am:
* am/bootstrap.am: Add to the build.
* doc/ref/api-io.texi: Update the manual.
This commit is contained in:
Andy Wingo 2023-05-27 21:51:57 +02:00
parent 67dbc60e8f
commit 1852fbfef9
7 changed files with 664 additions and 180 deletions

View file

@ -1,4 +1,4 @@
## Copyright (C) 2009-2022 Free Software Foundation, Inc.
## Copyright (C) 2009-2023 Free Software Foundation, Inc.
##
## This file is part of GNU Guile.
##
@ -132,6 +132,7 @@ SOURCES = \
ice-9/control.scm \
ice-9/copy-tree.scm \
ice-9/curried-definitions.scm \
ice-9/custom-ports.scm \
ice-9/deprecated.scm \
ice-9/documentation.scm \
ice-9/eval-string.scm \