Next: , Previous: , Up: SLIME mode   [Contents][Index]

3.7 Cross-reference commands

SLIME’s cross-reference commands are based on the support provided by the Lisp system, which varies widely between Lisps. For systems with no built-in XREF support SLIME queries a portable XREF package, which is taken from the CMU AI Repository and bundled with SLIME.

Each command operates on the symbol at point, or prompts if there is none. With a prefix argument they always prompt. You can either enter the key bindings as shown here or with the control modified on the last key, See Key bindings.

C-c C-w c
M-x slime-who-calls

Show function callers.

C-c C-w w
M-x slime-calls-who

Show all known callees.

C-c C-w r
M-x slime-who-references

Show references to global variable.

C-c C-w b
M-x slime-who-binds

Show bindings of a global variable.

C-c C-w s
M-x slime-who-sets

Show assignments to a global variable.

C-c C-w m
M-x slime-who-macroexpands

Show expansions of a macro.

M-x slime-who-specializes

Show all known methods specialized on a class.

There are also “List callers/callees” commands. These operate by rummaging through function objects on the heap at a low-level to discover the call graph. They are only available with some Lisp systems, and are most useful as a fallback when precise XREF information is unavailable.

C-c <
M-x slime-list-callers

List callers of a function.

C-c >
M-x slime-list-callees

List callees of a function.

Next: , Previous: , Up: SLIME mode   [Contents][Index]