[slime-cvs] CVS slime
CVS User heller
heller at common-lisp.net
Wed Sep 23 11:19:56 UTC 2009
Update of /project/slime/cvsroot/slime
In directory cl-net:/tmp/cvs-serv17086
Modified Files:
ChangeLog swank-ccl.lisp
Log Message:
* swank-ccl.lisp (find-definitions): For fbound symbols also
consider source-notes in the function object. Useful if
the function slot was set with (setf (symbol-function ..))
and not by defun.
--- /project/slime/cvsroot/slime/ChangeLog 2009/09/21 19:36:53 1.1862
+++ /project/slime/cvsroot/slime/ChangeLog 2009/09/23 11:19:55 1.1863
@@ -1,3 +1,10 @@
+2009-09-22 Helmut Eller <heller at common-lisp.net>
+
+ * swank-ccl.lisp (find-definitions): For fbound symbols also
+ consider source-notes in the function object. Useful if
+ the function slot was set with (setf (symbol-function ..))
+ and not by defun.
+
2009-09-21 Stas Boukarev <stassats at gmail.com>
* doc/slime.texi (slime-sprof): document slime-sprof contrib.
--- /project/slime/cvsroot/slime/swank-ccl.lisp 2009/08/31 17:08:17 1.5
+++ /project/slime/cvsroot/slime/swank-ccl.lisp 2009/09/23 11:19:55 1.6
@@ -581,13 +581,17 @@
(t `(:error ,(funcall if-nil-thunk))))
(error (c) `(:error ,(princ-to-string c))))))
-(defimplementation find-definitions (obj)
- (loop for ((type . name) . sources) in (ccl:find-definition-sources obj)
- collect (list (definition-name type name)
- (source-note-to-source-location
- (find-if-not #'null sources)
- (lambda () "No source-note available")
- name))))
+(defimplementation find-definitions (name)
+ (let ((defs (or (ccl:find-definition-sources name)
+ (and (symbolp name)
+ (fboundp name)
+ (ccl:find-definition-sources (symbol-function name))))))
+ (loop for ((type . name) . sources) in defs
+ collect (list (definition-name type name)
+ (source-note-to-source-location
+ (find-if-not #'null sources)
+ (lambda () "No source-note available")
+ name)))))
(defimplementation find-source-location (obj)
(let* ((defs (ccl:find-definition-sources obj))
More information about the slime-cvs
mailing list