tested with 2.2.2 (let* ( (ports (pipe)) (in (car ports)) (out (cdr ports))) (close in) (display 0 out) (display 1) (fsync out) (display 2))
without "(display 0 out)", error information is displayed and guile exits before "(display 2)". with "(display 0 out)", no error information is displayed and guile exits before "(display 2)". without "(close in)", error information is displayed in both cases. i would expect the error information to be displayed in any case.