bruce li leilmyxwz@gmail.com 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.
Is the call to swank:create-server coming from -eval or -load? ECL has an unwind-protect with exit around processing of -eval and -load. A work around is to use (load ...) from the repl.