summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-08-15 11:49:40 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-08-15 11:49:40 +0000
commit92ca6c7773101a425bdc721cf56b281f08d64222 (patch)
tree9408c24c5129fa6075d02c69ce6c05ec04e3bf90 /parse.y
parentb604386fad8d7b26df87efd19134b3a6ac171fb3 (diff)
* 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: svn+ssh://ci.ruby-lang.org/ruby/trunk@2709 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y4
1 files changed, 1 insertions, 3 deletions
diff --git a/parse.y b/parse.y
index e8f946295a..42d091ac11 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;
}