Revision: 112 http://trac.macosforge.org/projects/ruby/changeset/112 Author: lsansonetti@apple.com Date: 2008-03-20 12:42:07 -0700 (Thu, 20 Mar 2008) Log Message: ----------- fix for #39 Modified Paths: -------------- MacRuby/trunk/eval.c Modified: MacRuby/trunk/eval.c =================================================================== --- MacRuby/trunk/eval.c 2008-03-20 17:25:10 UTC (rev 111) +++ MacRuby/trunk/eval.c 2008-03-20 19:42:07 UTC (rev 112) @@ -1376,19 +1376,22 @@ ID id = mid; struct cache_entry *ent; rb_thread_t *th = GET_THREAD(); +#if WITH_OBJC + unsigned redo = 0; +#endif rb_call0_redo: #if WITH_OBJC # define REDO_PERHAPS() \ - do { \ + if (!redo) { \ ID newid = rb_objc_missing_sel(mid, argc); \ if (newid != mid) { \ id = mid = newid; \ + redo = 1; \ goto rb_call0_redo; \ } \ - } \ - while (0) + } #else # define REDO_PERHAPS() #endif