Implement R6RS custom binary input/output ports

* NEWS: Add new feature.
* doc/ref/r6rs.texi (rnrs io ports):
* doc/ref/api-io.texi (Custom Ports): Document new procedure.
* libguile/r6rs-ports.h:
* libguile/r6rs-ports.c (make_custom_binary_input_output_port)
  (scm_make_custom_binary_input_output_port)
  (custom_binary_input_output_port_random_access_p)
  (initialize_custom_binary_input_output_ports)
  (scm_init_r6rs_ports): Implement custom binary input/output ports.
* module/rnrs/io/ports.scm (rnrs):
* module/ice-9/binary-ports.scm (ice-9): Export
  make-custom-binary-input/output-port.
This commit is contained in:
Andy Wingo 2016-08-04 22:29:51 +02:00
commit 1a1c3bbe59
7 changed files with 105 additions and 1 deletions

View file

@ -42,7 +42,8 @@
put-bytevector
unget-bytevector
open-bytevector-output-port
make-custom-binary-output-port))
make-custom-binary-output-port
make-custom-binary-input/output-port))
;; Note that this extension also defines %make-transcoded-port, which is
;; not exported but is used by (rnrs io ports).