From a97406ba6e8d843a5681fadbb90b28d41aee44d5 Mon Sep 17 00:00:00 2001 From: Nikodemus Siivola Date: Sun, 29 May 2011 21:13:40 +0000 Subject: [PATCH] 1.0.48.30: adjust DOCUMENTATION and SB-INTROSPECT Now that non-standard special operators can also have macro definitions for consumption by code walkers, make sure we get the special operator source location and documentation instead of the ones for the dummy macro. --- contrib/sb-introspect/introspect.lisp | 3 ++- src/pcl/documentation.lisp | 5 ++++- version.lisp-expr | 2 +- 3 files changed, 7 insertions(+), 3 deletions(-) diff --git a/contrib/sb-introspect/introspect.lisp b/contrib/sb-introspect/introspect.lisp index bf14546..568e844 100644 --- a/contrib/sb-introspect/introspect.lisp +++ b/contrib/sb-introspect/introspect.lisp @@ -192,7 +192,8 @@ If an unsupported TYPE is requested, the function will return NIL. ((:function :generic-function) (when (and (fboundp name) (or (not (symbolp name)) - (not (macro-function name)))) + (not (macro-function name)) + (special-operator-p name))) (let ((fun (real-fdefinition name))) (when (eq (not (typep fun 'generic-function)) (not (eq type :generic-function))) diff --git a/src/pcl/documentation.lisp b/src/pcl/documentation.lisp index a625221..e992894 100644 --- a/src/pcl/documentation.lisp +++ b/src/pcl/documentation.lisp @@ -40,7 +40,10 @@ (or (random-documentation x 'function) ;; Nothing under the name, check the function object. (when (fboundp x) - (fun-doc (or (macro-function x) (fdefinition x))))))) + (fun-doc (if (special-operator-p x) + (fdefinition x) + (or (macro-function x) + (fdefinition x)))))))) (defmethod documentation ((x symbol) (doc-type (eql 'compiler-macro))) (awhen (compiler-macro-function x) diff --git a/version.lisp-expr b/version.lisp-expr index 0799b72..deb1ff9 100644 --- a/version.lisp-expr +++ b/version.lisp-expr @@ -20,4 +20,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.48.29" +"1.0.48.30" -- 1.7.10.4