Call close-textual-in/output-port, not close-in/output-port.
authorTaylor R Campbell <campbell@mumble.net>
Tue, 19 Dec 2017 14:15:22 +0000 (14:15 +0000)
committerTaylor R Campbell <campbell@mumble.net>
Tue, 19 Dec 2017 14:15:24 +0000 (14:15 +0000)
Former is noop for non-input or non-output port; latter is error.

Fixes close-port on something that is only a textual input port or
only a textual output port.

src/runtime/port.scm

index df3eed44cc5c6f66eecc5eebe26cec5994f458c7..4e1e527c79ef1692db54a148a09a8c6bb088132f 100644 (file)
@@ -439,8 +439,8 @@ USA.
     (if close
        (close port)
        (begin
-         (close-output-port port)
-         (close-input-port port)))))
+         (close-textual-output-port port)
+         (close-textual-input-port port)))))
 
 (define (close-textual-input-port port)
   (let ((close-input (textual-port-operation port 'CLOSE-INPUT)))