summaryrefslogtreecommitdiff
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
commit8473a8293457ab60679bee0aaa44fc4fae945224 (patch)
tree91a3f40f2551b0fb52ed92c9367b7e68085efe63
parent868d104b49438c3e476c4e39c2f105ac47c2b56f (diff)
* parse.y (here_document): preserve line number begins here
document. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@2443 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog5
-rw-r--r--parse.y6
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4ad05808435..0a8e42b0235 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Fri May 10 19:00:47 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
+
+ * parse.y (here_document): preserve line number begins here
+ document.
+
Fri May 10 01:55:44 2002 Nobuyoshi Nakada <nobu.nokada@softhome.net>
* eval.c (rb_thread_join): added an argument to limit time to wait
diff --git a/parse.y b/parse.y
index c2dc18204ce..a0c5b22d2b7 100644
--- a/parse.y
+++ b/parse.y
@@ -2877,6 +2877,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) {
@@ -2978,7 +2982,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) {