ruby-changes:4343
From: ko1@a...
Date: Mon, 24 Mar 2008 20:10:12 +0900 (JST)
Subject: [ruby-changes:4343] knu - Ruby:r15833 (ruby_1_8): * eval.c (rb_eval): Call trace hook for if expression after the
knu 2008-03-24 20:09:51 +0900 (Mon, 24 Mar 2008) New Revision: 15833 Modified files: branches/ruby_1_8/ChangeLog branches/ruby_1_8/eval.c Log: * eval.c (rb_eval): Call trace hook for if expression after the condition has been evaluated, not before; submitted by Rocky Bernstein in #18722. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/ChangeLog?r1=15833&r2=15832&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/branches/ruby_1_8/eval.c?r1=15833&r2=15832&diff_format=u Index: ruby_1_8/ChangeLog =================================================================== --- ruby_1_8/ChangeLog (revision 15832) +++ ruby_1_8/ChangeLog (revision 15833) @@ -1,3 +1,9 @@ +Mon Mar 24 20:07:42 2008 Akinori MUSHA <knu@i...> + + * eval.c (rb_eval): Call trace hook for if expression after the + condition has been evaluated, not before; submitted by Rocky + Bernstein in #18722. + Mon Mar 24 19:44:53 2008 Akinori MUSHA <knu@i...> * parse.y (yycompile): Always prepare a new array for each file's Index: ruby_1_8/eval.c =================================================================== --- ruby_1_8/eval.c (revision 15832) +++ ruby_1_8/eval.c (revision 15833) @@ -3038,13 +3038,16 @@ RETURN(Qfalse); case NODE_IF: - EXEC_EVENT_HOOK(RUBY_EVENT_LINE, node, self, - ruby_frame->last_func, - ruby_frame->last_class); if (RTEST(rb_eval(self, node->nd_cond))) { + EXEC_EVENT_HOOK(RUBY_EVENT_LINE, node, self, + ruby_frame->last_func, + ruby_frame->last_class); node = node->nd_body; } else { + EXEC_EVENT_HOOK(RUBY_EVENT_LINE, node, self, + ruby_frame->last_func, + ruby_frame->last_class); node = node->nd_else; } goto again; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/