diff options
| author | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-09-23 15:48:42 +0000 |
|---|---|---|
| committer | nobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2002-09-23 15:48:42 +0000 |
| commit | 7b2ef5cabe08f2a3c8ea03ce36729f0bf3d0902f (patch) | |
| tree | 837f788017aa4e27683e3ffdb33244bdb8b904e6 /eval.c | |
| parent | 09e9dc59f96c55803f93b228c68af2c81fb38966 (diff) | |
| download | ruby-7b2ef5cabe08f2a3c8ea03ce36729f0bf3d0902f.tar.gz ruby-7b2ef5cabe08f2a3c8ea03ce36729f0bf3d0902f.tar.xz ruby-7b2ef5cabe08f2a3c8ea03ce36729f0bf3d0902f.zip | |
* eval.c (rb_call0): must not clear ruby_current_node, or
backtrace cannot be genetated.
* intern.h (ruby_yyparse): rather than yyparse().
* parse.y (yylex): nextc() returns -1 at end of input, not 0.
* parse.y (newline_node): reduce deplicated newline node.
* parse.y (literal_concat): get rid of warning.
* parse.y (new_evstr): fixed junk code.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2884 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'eval.c')
| -rw-r--r-- | eval.c | 5 |
1 files changed, 1 insertions, 4 deletions
@@ -4501,21 +4501,18 @@ rb_call0(klass, recv, id, oid, argc, argv, body, nosuper) } if (trace_func) { int state; - NODE *volatile node = ruby_current_node; call_trace_func("c-call", ruby_current_node, recv, id, klass); - ruby_current_node = 0; PUSH_TAG(PROT_FUNC); if ((state = EXEC_TAG()) == 0) { result = call_cfunc(body->nd_cfnc, recv, len, argc, argv); } POP_TAG(); - ruby_current_node = node; + ruby_current_node = ruby_frame->node; call_trace_func("c-return", ruby_current_node, recv, id, klass); if (state) JUMP_TAG(state); } else { - ruby_current_node = 0; result = call_cfunc(body->nd_cfnc, recv, len, argc, argv); } } |
