You're absolutely right! We used to have a poor-man's implicit return before you added that<div>feature to PS, and the definition of ë includes a vestige of it. Yikes, I'm surprised I </div><meta http-equiv="content-type" content="text/html; charset=utf-8"><meta http-equiv="content-type" content="text/html; charset=utf-8"><div>

didn't know that. Thanks for the help and sorry for the confusion.</div><div><br></div><div>I think the only bug preventing us from moving forward is the syntax error where THROW</div><div>gets treated as an expression in a PROGN. Can you confirm (or deny :)) that one?</div>

<div><br></div><div>Daniel</div><div><br></div><div><br><div class="gmail_quote">2010/12/9 Vladimir Sedach <span dir="ltr"><<a href="mailto:vsedach@gmail.com">vsedach@gmail.com</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">

<div class="im">> Can you either confirm that there is a bug as I described it, or that I<br>
> got it wrong?<br>
<br>
</div>I'm positive you're doing a RETURN of something in the first example.<br>
Implicit returns don't generate that warning.<br>
<font color="#888888"><br>
Vladimir<br>
</font><div><div></div><div class="h5"><br>
> < Indeed I've changed RETURN to try to work like it does in CL. If<br>
> there's no nil block it will still work, but issue a warning to<br>
> encourage people to change their code. ><br>
> I'm a little unsure yet how this works in practice. I'll try compiling our<br>
> code<br>
> and looking at the generated output once the main bugs I reported have<br>
> been fixed, and will report back with the details.<br>
><br>
><br>
> 2010/12/8 Vladimir Sedach <<a href="mailto:vsedach@gmail.com">vsedach@gmail.com</a>><br>
>><br>
>> I'm assuming ë is a macro that expands into a lambda that does (RETURN<br>
>> <something>).<br>
>><br>
>> Indeed I've changed RETURN to try to work like it does in CL. If<br>
>> there's no nil block it will still work, but issue a warning to<br>
>> encourage people to change their code.<br>
>><br>
>> An easy way to get around this warning in your case is to make ë wrap<br>
>> its body in a (block nil ...).<br>
>><br>
>> Vladimir<br>
>><br>
>> 2010/12/6 Daniel Gackle <<a href="mailto:danielgackle@gmail.com">danielgackle@gmail.com</a>>:<br>
>> > (1) The following expression generates the correct code:<br>
>> > (defun blah ()<br>
>> >    (ë ()<br>
>> >     (foo 123)))<br>
>> > But it also emits "Warning: Returning from unknown block NILBLOCK",<br>
>> > which is undeserved.<br>
>> > (2) It's not clear how to do explicit return from a lambda now. That is,<br>
>> > (defun blah ()<br>
>> >   (ë ()<br>
>> >     (when (foo)<br>
>> >       (return 123))<br>
>> >     ;; do some other stuff<br>
>> >     ))<br>
>> > generates the same warning as above. Is this just a bug, or is it<br>
>> > suggesting<br>
>> > that one must explicitly declare a scope using (BLOCK NIL...) in order<br>
>> > to do an explicit return warning-free? I'm hoping not the latter.<br>
>> ><br>
>> ><br>
>> ><br>
>> > _______________________________________________<br>
>> > parenscript-devel mailing list<br>
>> > <a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
>> > <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
>> ><br>
>> ><br>
>><br>
>> _______________________________________________<br>
>> parenscript-devel mailing list<br>
>> <a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
>> <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
><br>
><br>
> _______________________________________________<br>
> parenscript-devel mailing list<br>
> <a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
> <a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
><br>
><br>
<br>
_______________________________________________<br>
parenscript-devel mailing list<br>
<a href="mailto:parenscript-devel@common-lisp.net">parenscript-devel@common-lisp.net</a><br>
<a href="http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel" target="_blank">http://common-lisp.net/cgi-bin/mailman/listinfo/parenscript-devel</a><br>
</div></div></blockquote></div><br></div>