On Sun, Oct 9, 2022 at 9:07 AM Marc Nieper-Wißkirchen <[email protected]>
wrote:


> >> That's a good point. (I missed initially that there can be more than
> >> one cleanup form.) Does CL execute the cleanup forms in order of their
> >> appearance?
> >
> >
> > Yes.  It's the same as (unwind-protect protected-form (begin
> cleanup-form ...))
>

The standard does not actually say, but I am assured that it is implied by
CL's default left-to-right evaluation (notably, procedure call arguments in
CL are evaluated left to right).

Thanks; with my definition, I would have to code it like
> (unwind-protect protected-form (begin (values) cleanup-form ...)) as
> otherwise definitions would be allowed by the definition making it too
> easy to write non-portable code.
>

Eh?  `Begin` doesn't allow declarations; only `lambda` and the `let` family
do.

Reply via email to