Navigating to the definitions of `defun` and `defmacro` with slime/swank

Bug #1948557 reported by John DeBord
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
New
Undecided
Unassigned

Bug Description

1.
I want to navigate to the definition of `defmacro`, `defun`, etc. so that I can understand how they work. But, as it stands, I'm unable to do so.

1.
Emacs version: 26.3
Slime version: 2.26.1

I start up Emacs.

I open up a simple .lisp file
```lisp
(defun testfn (x y)
  (+ x y))

(defmacro testmc (form)
  form
  `(list 1 2 3))
```

I place my cursor over the symbol `defun` and issue the keyboard-command <M-.> (`slime-edit-definition`).

This should bring me to the definition of `defun`.

But it doesn't (shown in screenshot `sc.png` (left screenshot)).

I place my cursor over the symbol `defmacro` and issue the keyboard-command <M-.> (`slime-edit-definition`).

This should bring me to the definition of `defmacro`.

But it doesn't (shown in screenshot `sc.png` (right screenshot)).

Why does the implementation do this? And can we fix this?

2.
```sh
<user>@<host>:~$ sbcl --version
SBCL 2.0.1.debian
```

3.
```sh
<user>@<host>:~$ uname -a
Linux <host> 5.4.0-88-generic #99-Ubuntu SMP Thu Sep 23 17:29:00 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux
```

4.
```sh
CL-USER> *FEATURES*
(:SWANK :QUICKLISP :SB-BSD-SOCKETS-ADDRINFO :ASDF3.3 :ASDF3.2 :ASDF3.1 :ASDF3
 :ASDF2 :ASDF :OS-UNIX :NON-BASE-CHARS-EXIST-P :ASDF-UNICODE :X86-64 :64-BIT
 :ANSI-CL :COMMON-LISP :ELF :GENCGC :IEEE-FLOATING-POINT :LINUX :LITTLE-ENDIAN
 :PACKAGE-LOCAL-NICKNAMES :SB-CORE-COMPRESSION :SB-LDB :SB-PACKAGE-LOCKS
 :SB-THREAD :SB-UNICODE :SBCL :UNIX)
```

This bug is further expounded upon at https://stackoverflow.com/questions/69686284/navigating-to-the-definitions-of-defun-and-defmacro-with-slime-swank

Revision history for this message
John DeBord (johnmdebord) wrote :
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Bug attachments

Remote bug watches

Bug watches keep track of this bug in other bug trackers.