This is the mail archive of the
kawa@sourceware.org
mailing list for the Kawa project.
Re: Environment Introspection
On Mon, Sep 18 2017, Peter wrote:
> I want actual debugging,
When I tried to implement debugging for SLIME, I found Kawa quite
frustrating and eventually gave up for the following reasons:
Debugging, the way SLIME does it, is difficult/impossible because Kawa
uses JVM exceptions for most error handling. While Kawa has now
`with-exception-handler', few people use it and certainly no Java
libraries use it.
The Kawa code base also has the idiom try {...} catch (Throwable x) in a
number of places, with defeats tricks based on
com.sun.jdi.request.ExceptionRequest.notifyUncaught.
Another problem with Kawa are the unstable/non-existing/constantly
changing APIs to Kawa internals.
I would suggest that you work as closely as you can with Per, so that he
is aware of the issues and doesn't (unintentionally) break your work.
For that reason, it makes a lot of sense to use LSP. LSP may not have a
"standard" API for debugging, but I think it's fairly easy to add
extensions to LSP for whatever you like. I would also expect that
writing an Emacs front-end for LSP is easy/fun in comparison to digging
around in Kawa internals. So let Per do the hard work on the Kawa side
to make a good LSP server and spend your time in on the Emacs side :-).
Helmut