diff --git a/ChangeLog b/ChangeLog index 9e64f0d515..5ca63d2796 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sat Aug 30 14:25:43 2003 Yukihiro Matsumoto + + * eval.c (rb_iter_break): should not call TAG_JUMP directly. + Sat Aug 30 03:58:21 2003 Yukihiro Matsumoto * eval.c (struct BLOCK): remove BLOCKTAG, use scope instead. diff --git a/eval.c b/eval.c index 15911679c4..3ec67787b1 100644 --- a/eval.c +++ b/eval.c @@ -2418,7 +2418,8 @@ class_prefix(self, cpath) prot_tag->retval = Qnil;\ }\ } while (0) -static void localjump_destination _((int, struct SCOPE*, VALUE)); + +NORETURN(static void localjump_destination _((int, struct SCOPE*, VALUE))); static VALUE rb_eval(self, n) @@ -3831,7 +3832,7 @@ rb_f_abort(argc, argv) void rb_iter_break() { - JUMP_TAG(TAG_BREAK); + localjump_destination(TAG_BREAK, ruby_scope, Qnil); } NORETURN(static void rb_longjmp _((int, VALUE)));