From f94b4d8de83c02854d274a9b5be923f4f60c5b02 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Thu, 23 Apr 2009 15:03:28 +0000 Subject: [PATCH] 1.0.27.29: funcallable instance source locations * Thanks to Paul Khuong. --- NEWS | 2 ++ contrib/sb-introspect/sb-introspect.lisp | 4 ++-- contrib/sb-introspect/test-driver.lisp | 4 ++++ version.lisp-expr | 2 +- 4 files changed, 9 insertions(+), 3 deletions(-) diff --git a/NEWS b/NEWS index 2e581a6..35b4f14 100644 --- 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) diff --git a/contrib/sb-introspect/sb-introspect.lisp b/contrib/sb-introspect/sb-introspect.lisp index 5ba8bdc..5aea963 100644 --- a/contrib/sb-introspect/sb-introspect.lisp +++ b/contrib/sb-introspect/sb-introspect.lisp @@ -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)) diff --git a/contrib/sb-introspect/test-driver.lisp b/contrib/sb-introspect/test-driver.lisp index 4c0ac1f..2e82fe0 100644 --- a/contrib/sb-introspect/test-driver.lisp +++ b/contrib/sb-introspect/test-driver.lisp @@ -71,6 +71,10 @@ (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) diff --git a/version.lisp-expr b/version.lisp-expr index 258e0a2..5600d81 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -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" -- 1.7.10.4