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*))