[parenscript-devel] Problem with BLOCK and RETURN-FROM

Vladimir Sedach vsedach at gmail.com
Thu Dec 9 06:52:49 UTC 2010


I'm assuming λ is a macro that expands into a lambda that does (RETURN
<something>).

Indeed I've changed RETURN to try to work like it does in CL. If
there's no nil block it will still work, but issue a warning to
encourage people to change their code.

An easy way to get around this warning in your case is to make λ wrap
its body in a (block nil ...).

Vladimir

2010/12/6 Daniel Gackle <danielgackle at gmail.com>:
> (1) The following expression generates the correct code:
> (defun blah ()
>    (λ ()
>     (foo 123)))
> But it also emits "Warning: Returning from unknown block NILBLOCK",
> which is undeserved.
> (2) It's not clear how to do explicit return from a lambda now. That is,
> (defun blah ()
>   (λ ()
>     (when (foo)
>       (return 123))
>     ;; do some other stuff
>     ))
> generates the same warning as above. Is this just a bug, or is it suggesting
> that one must explicitly declare a scope using (BLOCK NIL...) in order
> to do an explicit return warning-free? I'm hoping not the latter.
>
>
>
> _______________________________________________
> parenscript-devel mailing list
> parenscript-devel at common-lisp.net
> http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel
>
>




More information about the parenscript-devel mailing list