emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[nongnu] externals/sly 6662cf2 29/47: sbcl: Ignore DEFGENERICs without l


From: ELPA Syncer
Subject: [nongnu] externals/sly 6662cf2 29/47: sbcl: Ignore DEFGENERICs without location
Date: Thu, 17 Dec 2020 18:57:19 -0500 (EST)

branch: externals/sly
commit 6662cf28f1efbd6dc3cf5417dfe958c9836f6eee
Author: Luís Oliveira <loliveira@common-lisp.net>
Commit: João Távora <joaotavora@gmail.com>

    sbcl: Ignore DEFGENERICs without location
    
    * slynk/backend/sbcl.lisp (find-definitions): Rework.
    
    Cherry-picked-from: SLIME commit 4dabbe24ad064edf4ae2802dd93d22e130b7056d
    Co-authored-by: João Távora <joaotavora@gmail.com>
---
 slynk/backend/sbcl.lisp | 10 ++++++----
 1 file changed, 6 insertions(+), 4 deletions(-)

diff --git a/slynk/backend/sbcl.lisp b/slynk/backend/sbcl.lisp
index 728ab88..9516569 100644
--- a/slynk/backend/sbcl.lisp
+++ b/slynk/backend/sbcl.lisp
@@ -828,10 +828,12 @@ QUALITIES is an alist with (quality . value)"
 
 (defimplementation find-definitions (name)
   (loop for type in *definition-types* by #'cddr
-        for defsrcs = (remove :invalid
-                              (sb-introspect:find-definition-sources-by-name 
name type)
-                              :key #'categorize-definition-source)
-        append (loop for defsrc in defsrcs collect
+        for defsrcs = (sb-introspect:find-definition-sources-by-name name type)
+        for filtered-defsrcs = (if (eq type :generic-function)
+                                   (remove :invalid defsrcs
+                                           :key #'categorize-definition-source)
+                                   defsrcs)
+        append (loop for defsrc in filtered-defsrcs collect
                      (list (make-dspec type name defsrc)
                            (converting-errors-to-error-location
                              (definition-source-for-emacs defsrc



reply via email to

[Prev in Thread] Current Thread [Next in Thread]