[slime-devel] Add hook to swank::dispatch-event

Paulo Madeira acelent at gmail.com
Wed May 25 12:05:25 UTC 2011


2011/5/22 Helmut Eller:
> What kind of commands do you need?  Contribs can add new functions with
> defslimefun and Emacs can call those without much pain.  Slime also has
> "channels" (see contrib/slime-mrepl.el for an example) which, at least
> in theory, allow you to run custom protocols that don't match the RPC
> paradigm.

I'd like to add normal RPC commands that the Lisp implementation could
tell the client to handle.

Right now, the only allowed commands are the ones in
swank::dispatch-event: There's a huge destructure-case clause in it
stating those commands that require no special handling, and it can't
be extended.

I didn't understand channels. In the mrepl case, they seem to be
temporary or bound to a session. It almost seems to be what I need,
but I need some help.

For instance, I want to tell the editor to open a specified file and
jump to the first match of a specified string, and right now I'm using
the patch I sent just so I can
swank::send-to-emacs/swank::send-oob-to-emacs to "support" commands
other than the ones that swank::dispatch-event expects. How can I
implement this request (or one like it, e.g. Lisp->Slime) using
channels?

BTW, slime-mrepl doesn't seem to be working, at least with ACL.

Thanks,

Paulo Madeira




More information about the slime-devel mailing list