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.
((: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)))
(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)
;;; 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"