On 15 Jul 2019, at 18:27, Mark H. David wrote:
How do ASDF developers using emacs with SLIME deal with doing meta-dot
(meta-.) on function names in ASDF sources. Out of the box, mostly
when I meta-. just goes to one big top-level form that starts like
this
(with-upgradability ()
(define-condition invalid-source-registry (invalid-configuration
warning)
Thanks for clues,
-Mark
One answer to that is that I do the following before I start debugging,
to avoid debugging the big concatenated ASDF file:
```
(defun debug-asdf ()
(asdf:load-system :uiop :force t)
(dolist (c (asdf::required-components :asdf/defsystem :keep-component
'asdf:cl-source-file))
(load (asdf:component-pathname c))))
```
However, that only gets us to the nearest `with-upgradability` macro
invocation in the real source file, rather than in `build/asdf.lisp`.
I'm not sure how to answer your further question, because I think the
answer might depend on the implementation you are using.
I think slime outsources to the implementation how to find a function
definition, but I'm not an expert on SLIME internals.
Allegro's emacs lisp interface had a thing where it would ask the lisp
environment which *file* held various definitions, and would then search
for it based on some secret sauce involving `excl::define-parser` or
something like that.
I'd have to know more about SLIME to give a better answer. Maybe
someone else can chime in?