Hey there,<br><br>First off, thanks for the awesome scheme implementation,<br>I'm really digging it so far.<br><br>Here's my question:<br><br>On my Windows XP system, running gambit - 4.0 b20, I'm<br>having trouble with the following code:
<br>**********************************************************<br>(let* ((p (open-process "C:/Program Files/GnuWin32/bin/cat.exe")))<br>       (display "1" p)<br>       (close-output-port p)<br>       (let ((bc (read-all p)))
<br>     (pp bc)))<br><br>**********************************************************<br>I expect the output to always be:<br>(1)<br>but about 1/3 of the time I get:<br>()<br><br>I can't figure why this code would be inconsistent. The 'cat' implementation is (I think) a direct port of GNU cat. In any case I've had the same problem with other binaries that read from STDIN and write to STDOUT.
<br><br>I've tried inserting calls to (newline), (force-output), using (write) or (write-char) instead of (display), all to no avail.<br><br>Any ideas?<br><br>Thanks,<br>Aemon<br>