finding an implementation of SWANK interface

"73budden ." <[email protected]> Tue, 19 Dec 2017 14:26:28 +0300
Newsgroups gmane.lisp.slime.devel
Message-ID <CADMF=ipaj0WNwEvWjs5t-FEB7P5ba-P1KyMvmuf2k5McobasPQ@mail.gmail.com>
Hi!

Maybe I'm missing something, but I don't know how do I find
defimplementation of some definterface. E.g. I want to go to
swank/backend:activate-stepping, but EMACS only sends me to
definterface, and I have to grep for defimplementation. I don't know
how should I handle this, but I added a simple defparameter into
defimplementation form.

Now, when I'm asking for definition of
swank/backend:activate-stepping, I see two suggested source locations:

(defvar swank/backend:activate-stepping)
(defun swank/backend:activate-stepping)

defun is for definterface, defvar is for defimplementation. This works
at least in SBCL, I guess it is handy. Patch is attached. This may
seem a bit ugly, but SBCL does not suggest a way to extend its
definition database with new classes, so I see no good way to go.

WBR, Budden
patch-for-backend-lisp-to-be-able-to-jump-to-slime-interface-implementation.patch (application/octet-stream, 555 B)
--- y:/yar/lp/slime/swank/backend.lisp	Sat Dec 16 12:31:43 2017
+++ y:/yar/lp/slime-my/swank/backend.lisp	Sun Aug 13 23:46:42 2017
@@ -85,7 +85,6 @@
      (setf (get ',name 'implementation)
            ;; For implicit BLOCK. FLET because of interplay w/ decls.
            (flet ((,name ,args ,@body)) #',name))
-     (defparameter ,name "ANCHOR FOR THE IMPLEMENTATION OF THE SWANK INTERFACE")
      (if (member ',name *interface-functions*)
          (setq *unimplemented-interfaces*
                (remove ',name *unimplemented-interfaces*))