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.
