1.0.48.30: adjust DOCUMENTATION and SB-INTROSPECT
authorNikodemus Siivola <nikodemus@random-state.net>
Sun, 29 May 2011 21:13:40 +0000 (21:13 +0000)
committerNikodemus Siivola <nikodemus@random-state.net>
Sun, 29 May 2011 21:13:40 +0000 (21:13 +0000)
 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
src/pcl/documentation.lisp
version.lisp-expr

index bf14546..568e844 100644 (file)
@@ -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)))
index a625221..e992894 100644 (file)
     (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)
index 0799b72..deb1ff9 100644 (file)
@@ -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"