mirror of
https://github.com/mruby/mruby
synced 2026-06-08 16:11:16 +00:00
Merge pull request #2151 from carsonmcdonald/multilinecommentfix
Fix multiline comments
This commit is contained in:
+8
-3
@@ -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
|
||||
|
||||
Reference in New Issue
Block a user