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

initforms and implicit blocks



Apologies if this has been discussed before.

Are initforms in &optional, &key, and &aux parameters evaluated inside or
outside the implicit block provided by defun and friends?  In particular,
should the following return t or nil?

    (block f                                           
      (labels ((f (&optional (x (return-from f nil)))))
        (f)                                            
        t) )                                           

As near as I can tell CLtL is silent on this.  Perhaps it simply "is an error"
to depend on either behavior?  At first glance, it seems most tasteful to have
them evaluated within the implicit block.

                                            - Don Morrison