[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]


> Many common uses of EVAL-WHEN would have different behavior.  e.g.:
> (eval-when (compile load eval)
>  (proclaim '(special foo))   ; make FOO special to compiler and in compiled code  
>  (defun some-function (...) ...)  ; make a function definition available, etc.
>  (define-setf-method ...)         ; you get the idea by now...
>  ...
> )

Ummm, I'm not sure how taking away the top-level-ness of the body of
the EVAL-WHEN would change the behavior of this example.  Since the
COMPILE situation causes the body to be evaluated as an explicit PROGN
*before* any other normal compiler processing of the body, the
PROCLAIM will still get evaluated at compile time, SOME-FUNCTION will
be defined in at compile time, and the DEFINE-SETF-METHOD will be
defined at compile time.  Can you please clarify why you think this
example would break?