From: Nikodemus Siivola Date: Sun, 29 May 2011 21:13:40 +0000 (+0000) Subject: 1.0.48.30: adjust DOCUMENTATION and SB-INTROSPECT X-Git-Url: http://repo.macrolet.net/gitweb/?a=commitdiff_plain;h=a97406ba6e8d843a5681fadbb90b28d41aee44d5;p=sbcl.git 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. --- 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"