diff options
-rw-r--r-- | parse.y | 9 | ||||
-rw-r--r-- | test/ripper/test_parser_events.rb | 6 | ||||
-rw-r--r-- | version.h | 6 |
3 files changed, 14 insertions, 7 deletions
@@ -8314,16 +8314,17 @@ yylex(YYSTYPE *lval, YYLTYPE *yylloc, struct parser_params *p) p->lval = lval; lval->val = Qundef; t = parser_yylex(p); - if (has_delayed_token(p)) - dispatch_delayed_token(p, t); - else if (t != 0) - dispatch_scan_event(p, t); if (p->lex.strterm && (p->lex.strterm->flags & STRTERM_HEREDOC)) RUBY_SET_YYLLOC_FROM_STRTERM_HEREDOC(*yylloc); else RUBY_SET_YYLLOC(*yylloc); + if (has_delayed_token(p)) + dispatch_delayed_token(p, t); + else if (t != 0) + dispatch_scan_event(p, t); + return t; } diff --git a/test/ripper/test_parser_events.rb b/test/ripper/test_parser_events.rb index 95ec661fcf..1f2f960020 100644 --- a/test/ripper/test_parser_events.rb +++ b/test/ripper/test_parser_events.rb @@ -1498,4 +1498,10 @@ class TestRipper::ParserEvents < Test::Unit::TestCase assert_warn("") {fmt, = warn("\r;")} assert_match(/encountered/, fmt) end + + def test_warn_mismatched_indentations + fmt, tokend, tokbeg, line = assert_warning("") {break warn("if true\n end\n")} + assert_match(/mismatched indentations/, fmt) + assert_equal(["if", "end", 1], [tokbeg, tokend, line]) + end end if ripper_test @@ -1,10 +1,10 @@ #define RUBY_VERSION "2.6.7" -#define RUBY_RELEASE_DATE "2021-03-01" -#define RUBY_PATCHLEVEL 165 +#define RUBY_RELEASE_DATE "2021-03-02" +#define RUBY_PATCHLEVEL 166 #define RUBY_RELEASE_YEAR 2021 #define RUBY_RELEASE_MONTH 3 -#define RUBY_RELEASE_DAY 1 +#define RUBY_RELEASE_DAY 2 #include "ruby/version.h" |