Hi, As I checked with the top-level repl, si::*break-level* is already 1. If I eval (let ((si::*break-level* 1)) (si::tpl)) in the slime buffer, it won't abort connection anymore. But I lose the capability of using SLIME's debugging buffer. The errors will be directly dumped to the top-level.
Another question, possibly unrelated: I'm trying to hook up C++ callbacks with lambda func. But when I issue cl_funcall in the C++ side, any error in the execution of the lambda func will abort the execution of the program. Is there any workaround? Or should I use an alternate routine instead of cl_funcall to make it "safe"? Thanks, Bruce 2015-09-01 21:34 GMT+08:00 Daniel Kochmański <dan...@turtleware.eu>: > Hello, > > if you call lisp forms from C code (after cl_boot), then you have no set > handler, so if your code signals a condition, then it goes uncought. If > that's a case, you could do something, what toplevel does (setting > handlers etc), or set si::*break-level* to 1 and call tpl: > > (let ((si::*break-level* 1)) (si::tpl)) > > this should spawn toplevel console and won't exit. If you want to set > proper handler consult src/lsp/tpl.lsp file in ECL sourcecode. > > Regards, > Daniel > > bruce li writes: > >> Hi, there, >> I'm pretty new to ECL. I'm currently considering embedding ECL in a >> game engine. When I interactively interrupt the program and drop into >> the repl, I load up swank with quicklisp and create swank server with >> (swank:create-server :port 4005). I can connect to it from SLIME. But >> any error in the statement, either by deliberately typing sth wrong, >> will cause swank server to close instead of dropping into the >> debugging environment. I have no idea why this happens. It turns out >> that if I start swank on a different thread with >> mp:process-run-function, it goes well. But since the game engine is >> based on OpenGL, multithreading rendering isn't an option. I wonder if >> there is any way to get around the swank server and enable its >> debugger when it encounters error. >> >> Thanks, >> Bruce > > -- > Daniel Kochmański | Poznań, Poland > ;; aka jackdaniel > > "Be the change that you wish to see in the world." - Mahatma Gandhi