X-Git-Url: http://repo.macrolet.net/gitweb/?a=blobdiff_plain;f=src%2Fpcl%2Fdefclass.lisp;h=f4d934a0d147cc209efede2ca48981883be74fa6;hb=aa2dc9529460ea0d9c99998dc87283fc1a43e808;hp=320c5aa584ad498d9c5ca7345fdb5bb5bd590811;hpb=fbd731d14e61b8f57e4bfb6f2865cb9c6aa2d86e;p=sbcl.git diff --git a/src/pcl/defclass.lisp b/src/pcl/defclass.lisp index 320c5aa..f4d934a 100644 --- a/src/pcl/defclass.lisp +++ b/src/pcl/defclass.lisp @@ -108,6 +108,17 @@ (when defstruct-p '(:from-defclass-p t)) other-initargs))))))) + ;; FIXME: The way that we do things like (EVAL DEFCLASS-FORM) + ;; here is un-ANSI-Common-Lisp-y and leads to problems + ;; (like DEFUN for the type predicate being called more than + ;; once when we do DEFCLASS at the interpreter prompt), + ;; causing bogus style warnings. It would be better to + ;; rewrite this so that the macroexpansion looks like e.g. + ;; (PROGN + ;; (EVAL-WHEN (:COMPILE-TOPLEVEL :LOAD-TOPLEVEL :EXECUTE) + ;; (FROB1 ..)) + ;; (EVAL-WHEN (:LOAD-TOPLEVEL :EXECUTE) + ;; (FROB2 ..))) (if defstruct-p (progn (eval defclass-form) ; Define the class now, so that..