summaryrefslogtreecommitdiff
path: root/parse.y
diff options
context:
space:
mode:
authornobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-05-10 10:05:30 +0000
committernobu <nobu@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2002-05-10 10:05:30 +0000
commit6827edaa1c99c876c96ecd9e170d9da77f27ea6d (patch)
tree744942f77564a9a771a374378f5715a80adeaa90 /parse.y
parenta22f91601be4799a739446cbe571c5c5c4fa5403 (diff)
* parse.y (here_document): preserve line number begins here
document. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_6@2443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Diffstat (limited to 'parse.y')
-rw-r--r--parse.y6
1 files changed, 5 insertions, 1 deletions
diff --git a/parse.y b/parse.y
index dbc0bbd187..335b756477 100644
--- a/parse.y
+++ b/parse.y
@@ -2758,6 +2758,10 @@ here_document(term, indent)
int offset_save;
NODE *list = 0;
int linesave = ruby_sourceline;
+ int firstline;
+
+ if (heredoc_end > 0) ruby_sourceline = heredoc_end;
+ firstline = ruby_sourceline;
newtok();
switch (term) {
@@ -2866,7 +2870,7 @@ here_document(term, indent)
ruby_sourceline = linesave;
if (list) {
- nd_set_line(list, linesave+1);
+ nd_set_line(list, firstline+1);
yylval.node = list;
}
switch (term) {