X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;ds=sidebyside;f=src%2Fpcl%2Fcompiler-support.lisp;h=846f82a46ac9a12f19225a1d170b32c02730c6f5;hb=d0f65b07a30adc989e36a82ddc0ed54d135d638e;hp=5cc7d3fdb0f7531df37b4e52b741e57dde4daab4;hpb=310aee0b439b715a5ec242862ab0a4d254e123b5;p=sbcl.git diff --git a/src/pcl/compiler-support.lisp b/src/pcl/compiler-support.lisp index 5cc7d3f..846f82a 100644 --- a/src/pcl/compiler-support.lisp +++ b/src/pcl/compiler-support.lisp @@ -64,9 +64,9 @@ (defvar sb-pcl::*internal-pcl-generalized-fun-name-symbols* nil) -(defmacro define-internal-pcl-function-name-syntax (name &body body) +(defmacro define-internal-pcl-function-name-syntax (name (var) &body body) `(progn - (define-function-name-syntax ,name ,@body) + (define-function-name-syntax ,name (,var) ,@body) (pushnew ',name sb-pcl::*internal-pcl-generalized-fun-name-symbols*))) (define-internal-pcl-function-name-syntax sb-pcl::slot-accessor (list) @@ -84,17 +84,11 @@ (valid-function-name-p (cadr list))) (define-internal-pcl-function-name-syntax sb-pcl::ctor (list) - (valid-function-name-p (cadr list))) - -(defun sb-pcl::random-documentation (name type) - (cdr (assoc type (info :random-documentation :stuff name)))) - -(defun sb-pcl::set-random-documentation (name type new-value) - (let ((pair (assoc type (info :random-documentation :stuff name)))) - (if pair - (setf (cdr pair) new-value) - (push (cons type new-value) - (info :random-documentation :stuff name)))) - new-value) + (let ((class-or-name (cadr list))) + (cond + ((symbolp class-or-name) + (values (valid-function-name-p class-or-name) nil)) + ((or (sb-pcl::std-instance-p class-or-name) + (sb-pcl::fsc-instance-p class-or-name)) + (values t nil))))) -(defsetf sb-pcl::random-documentation sb-pcl::set-random-documentation)