Issue #1852 has been updated by Marc-Andre Lafortune.

File catch.diff added
File hash_merged2.diff added

It turns out that Nobu had already a patch that changed rb_catch_obj to be exactly like my rb_catch_func  but he never got the time to commit it. He also pointed out a small C90 compatibility issue.

After this change, exec_recursive can call rb_catch_obj and no new rb_catch_func is needed.

Unless there are additional comments or objections, I will commit the changes in a few days. Attached are the patches, one adapted from Nobu's patch for the changes to *catch*, the other for stuff relating to exec_recursive & hash (with modification to tests)
----------------------------------------
http://redmine.ruby-lang.org/issues/show/1852

----------------------------------------
http://redmine.ruby-lang.org