summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--parse.y2
2 files changed, 7 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index 2c3b1e0c6d..9f70aa3f28 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -8,6 +8,11 @@ Mon Apr 16 16:49:32 2007 Nobuyoshi Nakada <nobu@ruby-lang.org>
* ext/stringio/stringio.c (strio_seek): consistent behavior with
IO#seek. patch by sheepman in [ruby-dev:30710].
+Mon Apr 16 16:34:08 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
+
+ * parse.y (parser_yylex): should set command_start after block
+ starting "do"s and braces. [ruby-core:10916]
+
Mon Apr 16 10:51:37 2007 Yukihiro Matsumoto <matz@ruby-lang.org>
* enum.c (enum_each_with_index): each_with_index to forward
diff --git a/parse.y b/parse.y
index 65980830fb..6aaa6ad965 100644
--- a/parse.y
+++ b/parse.y
@@ -6444,6 +6444,7 @@ parser_yylex(struct parser_params *parser)
COND_PUSH(0);
CMDARG_PUSH(0);
lex_state = EXPR_BEG;
+ if (c != tLBRACE) command_start = Qtrue;
return c;
case '\\':
@@ -6765,6 +6766,7 @@ parser_yylex(struct parser_params *parser)
return kw->id[0];
}
if (kw->id[0] == keyword_do) {
+ command_start = Qtrue;
if (lpar_beg && lpar_beg == paren_nest) {
lpar_beg = 0;
--paren_nest;