From 9f4783fb9b2e5b3ff111322b8ef78f6530bbc0c1 Mon Sep 17 00:00:00 2001 From: nobu Date: Thu, 15 Aug 2002 11:49:40 +0000 Subject: * eval.c (ruby_current_node) : added to set sourceline on demand. * eval.c (error_pos, error_print, rb_longjmp, assign): set source file/line. * eval.c (rb_eval): store current node instead of file/line, and preserve it at return. * eval.c (module_setup): ditto. * eval.c (struct thread): store node instead of file/line. * eval.c (rb_thread_raise): ditto. * intern.h (ruby_current_node): added. * intern.h (ruby_set_current_source): added. * parse.y (stmt, arg): not fix position of assignment. * parse.y (node_assign): ditto. * parse.y (yycompile): clear current node. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@2709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- parse.y | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'parse.y') diff --git a/parse.y b/parse.y index e8f946295..42d091ac1 100644 --- a/parse.y +++ b/parse.y @@ -475,7 +475,6 @@ stmt : kALIAS fitem {lex_state = EXPR_FNAME;} fitem $$ = $1; $$->nd_value = call_op(gettable(vid),$2,1,$3); } - fixpos($$, $3); } else { $$ = 0; @@ -842,7 +841,6 @@ arg : lhs '=' arg $$ = $1; $$->nd_value = call_op(gettable(vid),$2,1,$3); } - fixpos($$, $3); } else { $$ = 0; @@ -2372,6 +2370,7 @@ yycompile(f, line) lex_strterm = 0; lex_strnest = 0; quoted_term = -1; + ruby_current_node = 0; ruby_sourcefile = rb_source_filename(f); ruby_in_compile = 1; n = yyparse(); @@ -4738,7 +4737,6 @@ node_assign(lhs, rhs) break; } - if (rhs) fixpos(lhs, rhs); return lhs; } -- cgit