I just wanted to say "me too" on this issue.
Mac OS X 10.5.4; Intel sbcl 1.0.19 (compiled to enable threads) slime from 8/28/08
I tried the work around (remove the SB-EXT:WITH-TIMEOUT form in RECEIVE-IF in swank-sbcl.lisp) mentioned earlier. I'm not sure if I did it correctly ...
(defimplementation receive-if (test &optional timeout) (let* ((mbox (mailbox (current-thread))) (mutex (mailbox.mutex mbox))) (assert (or (not timeout) (eq timeout t))) (loop (check-slime-interrupts) (sb-thread:with-mutex (mutex) (let* ((q (mailbox.queue mbox)) (tail (member-if test q))) (when tail (setf (mailbox.queue mbox) (nconc (ldiff q tail) (cdr tail))) (return (car tail)))) (when (eq timeout t) (return (values nil t))) (handler-case ;(sb-ext:with-timeout 0.2 (sb-thread:condition-wait (mailbox.waitqueue mbox) mutex);) (sb-ext:timeout ())) ) )))
It seems to be working???
Thanks, Jason