[slime-devel] slime-contrib idea: *slime-locations* buffer

Nikodemus Siivola nikodemus at random-state.net
Thu Nov 19 15:49:29 UTC 2009

First, have a *slime-locations* buffer or similar, which contains
references to positions in files/other buffers:

 (defun process-toplevel-form ...)  [src/compiler/main.lisp]
 (macrolet ...)                     [src/compiler/ir1tran.lisp]
 (defun %compile ...)               [src/compiler/main.lisp]

one position per line. One should be able to:

* kill/yank these lines to delete and reorder them.
* hit Enter/Space as in an XREF buffer to jump to the location.
* save/load these buffers into files.
* add current location in a file into the buffer.

For extra points things like C-c C-c in the buffer would be
interpreted as the relavant command in the location referred to be the
current line.

One could use the buffer to maintain a shortlist of relevant locations
in the source, etc.

For example: I often work on SBCL by editing the live source and
recompiling stuff on the fly. Every once and a while I mess up my
session, however, and need to restart -- which means hunting through
buffers for the definitions to recompile. This is often
order-sensitive: add an optional argument to one function, then
recompile the callers to pass that thing in, etc. When working on
certain bits I may be restarting every few minutes! If I could record
those locations in a buffer like this, the workflow would be much

Now that I've written this down I'm guessing that aside from
slime-compile-all-locations something like this probably exists as a
generic Emacs feature. What is it called?


 -- Nikodemus

More information about the slime-devel mailing list