Commit a2dc6f7d authored by Yukihiro "Matz" Matsumoto's avatar Yukihiro "Matz" Matsumoto

Merge pull request #2151 from carsonmcdonald/multilinecommentfix

Fix multiline comments
parents 0bd99d79 9ac817ae
......@@ -3429,7 +3429,7 @@ peek_n(parser_state *p, int c, int n)
list = push(list, (node*)(intptr_t)c0);
} while(n--);
if (p->pb) {
p->pb = append(p->pb, (node*)list);
p->pb = append((node*)list, p->pb);
}
else {
p->pb = list;
......@@ -4189,8 +4189,13 @@ parser_yylex(parser_state *p)
case '=':
if (p->column == 1) {
if (peeks(p, "begin\n")) {
skips(p, "\n=end\n");
if (peeks(p, "begin ") || peeks(p, "begin\n")) {
if (skips(p, "\n=end ")) {
goto retry;
}
if (skips(p, "\n=end\n")) {
goto retry;
}
goto retry;
}
}
......
......@@ -293,3 +293,19 @@ end
assert('optional block argument in the rhs default expressions') do
assert_nil(Proc.new {|foo = foo| foo}.call)
end
assert('multiline comments work correctly') do
=begin
this is a comment with nothing after begin and end
=end
=begin this is a comment
this is a comment with extra after =begin
=end
=begin
this is a comment that has =end with spaces after it
=end
=begin this is a comment
this is a comment that has extra after =begin and =end with spaces after it
=end
true
end
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment