Mark Evenson evenson@panix.com writes:
On 9/18/09 1:36 PM, Mark Evenson wrote:
Filed as [bug ticket #63][63]. Thanks for the report.
Tentatively fixed in [r12151][1], as it seems as if the code to convert the thrown Go throwable to the corresponding LispError had been inadvertently left out. But something that easy has me suspicious (was this left out for some other reason), so I would appreciate if one of the other developers could review this bug before we close it in Trac.
This is not enough. You also have to add a catch to LispThread.
(threads:make-thread #'(lambda () (let ((f nil)) (tagbody (setf f (lambda () (go foo))) foo) (funcall f))) :name "foof")
And the created thread will die miserably in solitude.
-T.