
Hi Helmut, On Thu, Dec 2, 2010 at 12:30 AM, Helmut Eller <heller@common-lisp.net> wrote:
SLIME also uses with-timeout internally. Essentially we have a situation like
(sb-ext:with-timeout 1 (loop (sb-ext:with-timeout 0.2 (handler-case (sleep 10000) (sb-ext:timeout () (print 'timeout) (force-output))))))
The handler doesn't know that the condition was raised by some outer with-timeout.
I see. But why (handler-case (sb-ext:with-timeout 1 (read *standard-input*)) (sb-ext:timeout (c) c)) or (handler-case (sb-sys:with-deadline (:seconds 1) (read *standard-input*)) (sb-sys:deadline-timeout (c) c)) also doesn't work. Interestingly, a #<SB-SYS:DEADLINE-TIMEOUT> is returned in the second case after I slime-interrupted it. I think I'm still confused. -- Jianshi