aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parse.y6
2 files changed, 10 insertions, 1 deletions
diff --git a/ChangeLog b/ChangeLog
index 4ad0580843..0a8e42b023 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 c2dc18204c..a0c5b22d2b 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) {