From mhd at yv.org Mon Jul 15 23:27:42 2019 From: mhd at yv.org (Mark H. David) Date: Mon, 15 Jul 2019 16:27:42 -0700 Subject: slime meta-dot in ASDF sources Message-ID: 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 From rpgoldman at sift.info Tue Jul 16 00:13:17 2019 From: rpgoldman at sift.info (Robert Goldman) Date: Mon, 15 Jul 2019 19:13:17 -0500 Subject: slime meta-dot in ASDF sources In-Reply-To: References: Message-ID: 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? -------------- next part -------------- An HTML attachment was scrubbed... URL: From mhd at yv.org Fri Jul 19 04:52:53 2019 From: mhd at yv.org (Mark H. David) Date: Thu, 18 Jul 2019 21:52:53 -0700 Subject: slime meta-dot in ASDF sources In-Reply-To: References: Message-ID: <29c87a16-d195-4286-bb5b-b2b335ae97bd@www.fastmail.com> Seems a crosspost to SLIME-devel could be in order, right? ----- Original message ----- From: Robert Goldman To: "Mark H. David" Cc: ASDF-devel Subject: Re: slime meta-dot in ASDF sources Date: Monday, July 15, 2019 5:13 PM 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? -------------- next part -------------- An HTML attachment was scrubbed... URL: