1.0.27.29: funcallable instance source locations
authorNikodemus Siivola <nikodemus@random-state.net>
Thu, 23 Apr 2009 15:03:28 +0000 (15:03 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Thu, 23 Apr 2009 15:03:28 +0000 (15:03 +0000)
 * Thanks to Paul Khuong.

NEWS
contrib/sb-introspect/sb-introspect.lisp
contrib/sb-introspect/test-driver.lisp
version.lisp-expr

diff --git a/NEWS b/NEWS
index 2e581a6..35b4f14 100644 (file)
--- a/NEWS
+++ b/NEWS
@@ -26,6 +26,8 @@ changes in sbcl-1.0.28 relative to 1.0.27:
   * bug fix: RESTART-FRAME and RETURN-FROM-FRAME stack corruption
   * bug fix: the discriminating function for PRINT-OBJECT no longer preserves
     potentially-invalid effective methods in its cache.
+  * bug fix: SB-INTROSPECT:FIND-DEFINITION-SOURCE now works with funcallable
+    instances as well (thanks to Paul Khuong)
 
 changes in sbcl-1.0.27 relative to 1.0.26:
   * new port: support added for x86-64 OpenBSD. (thanks to Josh Elsasser)
index 5ba8bdc..5aea963 100644 (file)
@@ -71,7 +71,7 @@ include the pathname of the file and the position of the definition."
 
 (declaim (ftype (function (function) debug-info) function-debug-info))
 (defun function-debug-info (function)
-  (let* ((function-object (sb-kernel::%closure-fun function))
+  (let* ((function-object (sb-kernel::%fun-fun function))
          (function-header (sb-kernel:fun-code-header function-object)))
     (sb-kernel:%code-debug-info function-header)))
 
@@ -556,7 +556,7 @@ constant pool."
     ((or null sb-impl::funcallable-instance)
      nil)
     (function
-     (sb-kernel::%closure-fun functoid))))
+     (sb-kernel::%fun-fun functoid))))
 
 (defun collect-xref (kind-index wanted-name)
   (let ((ret nil))
index 4c0ac1f..2e82fe0 100644 (file)
 (assert (matchp-name :method-combination 'cl-user::r 26))
 (assert (matchp-name :setf-expander 'cl-user::s 27))
 
+(let ((fin (make-instance 'sb-mop:funcallable-standard-object)))
+  (sb-mop:set-funcallable-instance-function fin #'cl-user::one)
+  (assert (matchp fin 2)))
+
 (sb-profile:profile cl-user::one)
 (assert (matchp-name :function 'cl-user::one 2))
 (sb-profile:unprofile cl-user::one)
index 258e0a2..5600d81 100644 (file)
@@ -17,4 +17,4 @@
 ;;; checkins which aren't released. (And occasionally for internal
 ;;; versions, especially for internal versions off the main CVS
 ;;; branch, it gets hairier, e.g. "0.pre7.14.flaky4.13".)
-"1.0.27.28"
+"1.0.27.29"