diff --git a/ext/ripper/lib/ripper/lexer.rb b/ext/ripper/lib/ripper/lexer.rb index 344328482b..95e1ebcdfe 100644 --- a/ext/ripper/lib/ripper/lexer.rb +++ b/ext/ripper/lib/ripper/lexer.rb @@ -83,6 +83,12 @@ class Ripper private + unless SCANNER_EVENT_TABLE.key?(:ignored_sp) + SCANNER_EVENT_TABLE[:ignored_sp] = 1 + SCANNER_EVENTS << :ignored_sp + EVENTS << :ignored_sp + end + def on_heredoc_dedent(v, w) ignored_sp = [] heredoc = @buf.last diff --git a/test/ripper/test_scanner_events.rb b/test/ripper/test_scanner_events.rb index c9fce34a77..1a3413a0f0 100644 --- a/test/ripper/test_scanner_events.rb +++ b/test/ripper/test_scanner_events.rb @@ -886,6 +886,13 @@ class TestRipper::ScannerEvents < Test::Unit::TestCase scan('ignored_nl', "1;\r\n") end + def test_ignored_sp + assert_equal [], + scan('ignored_sp', "<<~EOS\nheredoc\nEOS") + assert_equal [" "], + scan('ignored_sp', "<<~EOS\n heredoc\nEOS") + end + def test___end__ assert_equal [], scan('__end__', "") diff --git a/version.h b/version.h index 27fb251118..0b3e1cc45b 100644 --- a/version.h +++ b/version.h @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.6.1" #define RUBY_RELEASE_DATE RUBY_RELEASE_YEAR_STR"-"RUBY_RELEASE_MONTH_STR"-"RUBY_RELEASE_DAY_STR -#define RUBY_PATCHLEVEL 41 +#define RUBY_PATCHLEVEL 42 #define RUBY_RELEASE_YEAR 2019 #define RUBY_RELEASE_MONTH 3