<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/xhtml; charset=utf-8">
</head>
<body>
<div style="font-family:sans-serif"><div style="white-space:normal">
<p dir="auto">On 15 Jul 2019, at 18:27, Mark H. David wrote:</p>

<blockquote style="border-left:2px solid #777; color:#777; margin:0 0 5px; padding-left:5px">
<p dir="auto">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</p>

<p dir="auto">(with-upgradability ()<br>
    (define-condition invalid-source-registry (invalid-configuration warning)</p>

<p dir="auto">Thanks for clues,<br>
-Mark</p>
</blockquote>

<p dir="auto">One answer to that is that I do the following before I start debugging, to avoid debugging the big concatenated ASDF file:</p>

<pre style="background-color:#F7F7F7; border-radius:5px 5px 5px 5px; margin-left:15px; margin-right:15px; max-width:90vw; overflow-x:auto; padding:5px" bgcolor="#F7F7F7"><code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0" bgcolor="#F7F7F7">(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))))
</code></pre>

<p dir="auto">However, that only gets us to the nearest <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">with-upgradability</code> macro invocation in the real source file, rather than in <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">build/asdf.lisp</code>.</p>

<p dir="auto">I'm not sure how to answer your further question, because I think the answer might depend on the implementation you are using.</p>

<p dir="auto">I think slime outsources to the implementation how to find a function definition, but I'm not an expert on SLIME internals.</p>

<p dir="auto">Allegro's emacs lisp interface had a thing where it would ask the lisp environment which <em>file</em> held various definitions, and would then search for it based on  some secret sauce involving <code style="background-color:#F7F7F7; border-radius:3px; margin:0; padding:0 0.4em" bgcolor="#F7F7F7">excl::define-parser</code> or something like that.</p>

<p dir="auto">I'd have to know more about SLIME to give a better answer.  Maybe someone else can chime in?</p>
</div>
</div>
</body>
</html>