You guys are awesome!  Less than 24 hour turnaround.

On Aug 10, 1:09 pm, Chouser <chou...@gmail.com> wrote:
> On Tue, Aug 10, 2010 at 2:51 PM, Chouser <chou...@gmail.com> wrote:
>
> > That patch seems to essentially reverse this one:
>
> >http://github.com/clojure/clojure/commit/5e9f2b293b307aa7953cd390360d...
>
> > ...which suggests to me there must be a better solution, though I
> > don't see yet what it would be.
>
> Ok, it looks to me like the above commit was an insufficient
> solution for the problem it was trying to solve.  Since the
> content of the finally block is emitted after the main try
> block as well as after each catch block, a single finally handler
> for all them together (which is what the above commit does)
> cannot avoid potentially re-running some parts of the finally
> clause.
>
> To see what javac emits in similar circumstances, I wrote
> a foo.java and disassmbled it here:http://gist.github.com/517865
>
> It looks like javac protects the try block and each catch block
> individually with separate entries in the exception table, all of
> them pointing to the final finally block.
>
> The patch at the top of that gist attempts to do the same thing,
> and also fully reverses the earlier "endTryCatch" commit.  This
> passes all tests, including new ones Joe Gallo wrote based on
> reports in this thread:http://gist.github.com/517871
>
> --Chouserhttp://joyofclojure.com/

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to