call-with-port should not close port when dynamic extent exited

Bug #244899 reported by Derick Eddington
2
Affects Status Importance Assigned to Milestone
Ikarus Scheme
Fix Committed
High
Abdulaziz Ghuloum

Bug Description

call-with-port is currently using dynamic-wind to close the port, but:

R6RS 8.2.6 says of call-with-port:
"If proc does not return, port is not closed automatically, except perhaps when it is possible to prove that port will never again be used for an input or output operation."

Since they use call-with-port, it looks like this would also make with-output-to-file, with-input-from-file, call-with-output-file, call-with-input-file not meet their similar requirement.

I'm doing some cool stuff with custom ports and generators/coroutines, but this is preventing it from working when using these with-port procedures.

Related branches

Changed in ikarus:
importance: Undecided → High
Changed in ikarus:
assignee: nobody → aghuloum
status: New → Confirmed
Revision history for this message
Abdulaziz Ghuloum (aghuloum) wrote :

Fixed in 1531. Thanks.

Changed in ikarus:
status: Confirmed → Fix Committed
Changed in ikarus:
milestone: none → 0.0.4
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.