[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Let's do our software debugging with an oscilliscope!



In System 204.36, ZMail 42.6, LMFS 24.1, Tape 8.0, Canon 12.3,
Symbolics 10.1, microcode 865, on Spaniel:

In ZWEI, do BREAK
(defun foo () standard-input)
(foo) ==> #<DTP-CLOSURE 123723>
(compile 'foo)
(foo) ==> SI:TERMINAL-IO-SYN-STREAM

This ridiculous behaviour combined with the non-closure nature of
SI:TERMINAL-IO-SYN led me to have to figure out why my machine would
halt on something each component of which worked when tried by hand.  No
fun, I say.  Specifically, you can't pass STANDARD-INPUT into a
PROCESS-WAIT, because it will try to allocate a background interactor
and halt.  You can't see that you're really passing in
SI:TERMINAL-IO-SYN-STREAM when doing this in a break loop in ZMACS,
because if you ask for the value of STANDARD-INPUT it lies to you.  The
only way to find out what's happening is to let it halt and debug from
the debugging cable.