ruby-changes:15181
From: knu <ko1@a...>
Date: Fri, 26 Mar 2010 13:10:55 +0900 (JST)
Subject: [ruby-changes:15181] Ruby:r27061 (ruby_1_8): * eval.c (rb_eval): Use for() and make it a bit easier to read and
knu 2010-03-26 13:10:38 +0900 (Fri, 26 Mar 2010) New Revision: 27061 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=27061 Log: * eval.c (rb_eval): Use for() and make it a bit easier to read and debug here. Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/eval.c Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 27060) +++ ruby_1_8/ChangeLog (revision 27061) @@ -1,3 +1,8 @@ +Fri Mar 26 13:09:12 2010 Akinori MUSHA <knu@i...> + + * eval.c (rb_eval): Use for() and make it a bit easier to read and + debug here. + Fri Mar 26 12:44:08 2010 Akinori MUSHA <knu@i...> * enum.c (Enumerable#each_entry): New method. Index: ruby_1_8/eval.c =================================================================== --- ruby_1_8/eval.c (revision 27060) +++ ruby_1_8/eval.c (revision 27061) @@ -3133,12 +3133,11 @@ goto again; case NODE_WHEN: - while (node) { + for (; node; node = node->nd_next) { NODE *tag; if (nd_type(node) != NODE_WHEN) goto again; - tag = node->nd_head; - while (tag) { + for (tag = node->nd_head; tag; tag = tag->nd_next) { EXEC_EVENT_HOOK(RUBY_EVENT_LINE, tag, self, ruby_frame->last_func, ruby_frame->last_class); @@ -3153,33 +3152,25 @@ goto again; } } - tag = tag->nd_next; continue; } if (RTEST(rb_eval(self, tag->nd_head))) { node = node->nd_body; goto again; } - tag = tag->nd_next; } - node = node->nd_next; } RETURN(Qnil); case NODE_CASE: { - VALUE val; + VALUE val = rb_eval(self, node->nd_head); - val = rb_eval(self, node->nd_head); - node = node->nd_body; - while (node) { + for (node = node->nd_body; node; node = node->nd_next) { NODE *tag; - if (nd_type(node) != NODE_WHEN) { - goto again; - } - tag = node->nd_head; - while (tag) { + if (nd_type(node) != NODE_WHEN) goto again; + for (tag = node->nd_head; tag; tag = tag->nd_next) { EXEC_EVENT_HOOK(RUBY_EVENT_LINE, tag, self, ruby_frame->last_func, ruby_frame->last_class); @@ -3194,16 +3185,13 @@ goto again; } } - tag = tag->nd_next; continue; } if (RTEST(rb_funcall2(rb_eval(self, tag->nd_head), eqq, 1, &val))) { node = node->nd_body; goto again; } - tag = tag->nd_next; } - node = node->nd_next; } } RETURN(Qnil); -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/