diff options
Diffstat (limited to 'module/rnrs')
-rw-r--r-- | module/rnrs/io/ports.scm | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/module/rnrs/io/ports.scm b/module/rnrs/io/ports.scm index a5815c85f..d3a81b7c7 100644 --- a/module/rnrs/io/ports.scm +++ b/module/rnrs/io/ports.scm @@ -98,7 +98,8 @@ make-i/o-decoding-error &i/o-encoding-error i/o-encoding-error? make-i/o-encoding-error i/o-encoding-error-char) - (import (only (rnrs base) assertion-violation) + (import (ice-9 binary-ports) + (only (rnrs base) assertion-violation) (rnrs enums) (rnrs records syntactic) (rnrs exceptions) @@ -108,9 +109,6 @@ (ice-9 rdelim) (except (guile) raise)) -(load-extension (string-append "libguile-" (effective-version)) - "scm_init_r6rs_ports") - ;;; @@ -205,7 +203,8 @@ "Return a new textual port based on @var{port}, using @var{transcoder} to encode and decode data written to or read from its underlying binary port @var{port}." - (let ((result (%make-transcoded-port port))) + ;; Hackily get at %make-transcoded-port. + (let ((result ((@@ (ice-9 binary-ports) %make-transcoded-port) port))) (set-port-encoding! result (transcoder-codec transcoder)) (case (transcoder-error-handling-mode transcoder) ((raise) |