[slime-devel] Multi-threaded CCL with SLIME issues

Helmut Eller heller at common-lisp.net
Thu Jan 8 08:45:46 UTC 2009


* sblist at me.com [2009-01-08 07:25+0100] writes:

>
> Can anyone offer any advice on how to proceed?

If those things work in SBCL but not in CCL then it probably means that
CCL implements some thread related features differently.

Global IO redirection only works if *standard-output* etc. are truly
global variables.  If those variables are thread-local we can't set them
with a simple setf and would have to use something else, e.g. with a
backend specific function setf-global.  I don't know how these things
work in CCL; you could ask the CCL developers how to do it properly.

For the debugger, we set *debugger-hook* (again if that isn't a global
variable it has no effect on other threads).  We also have
a backend spefic function install-debugger-globally which could use
implementation specific tricks, but for CCL it doesn't.

It looks like BREAK invokes the Slime debugger only inside
call-with-debugger-hook. See also *break-in-sldb* in swank-openmcl.lisp.
Maybe it works better if you set that to T.

In general, you can invoke the Slime debugger by calling
swank:invoke-slime-debugger.  This might be more robust than relying on
*debugger-hook* etc.

Helmut.





More information about the slime-devel mailing list