diff options
author | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-03-13 00:32:12 +0000 |
---|---|---|
committer | nagachika <nagachika@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2019-03-13 00:32:12 +0000 |
commit | 4fd078646b36285c2812113fe78ec8776c6141d4 (patch) | |
tree | 33b733ffd9cdcfcd044f6ee0f84c7bacfc441e75 | |
parent | 8fa641a664f62005581491077749da9cbfe2d7e0 (diff) |
merge revision(s) 67200: [Backport #15648]
Add ignored_sp event
* ext/ripper/lib/ripper/lexer.rb (Ripper::Lexer): add ignored_sp
event which will be fired from Ripper::Lexer#on_heredoc_dedent
method. [ruby-core:91727] [Bug #15648]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_5@67242 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r-- | ext/ripper/lib/ripper/lexer.rb | 6 | ||||
-rw-r--r-- | test/ripper/test_scanner_events.rb | 7 | ||||
-rw-r--r-- | version.h | 2 |
3 files changed, 14 insertions, 1 deletions
diff --git a/ext/ripper/lib/ripper/lexer.rb b/ext/ripper/lib/ripper/lexer.rb index ffde9a4ed3..9220257196 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 b7c5a02322..b815da18f2 100644 --- a/test/ripper/test_scanner_events.rb +++ b/test/ripper/test_scanner_events.rb @@ -881,6 +881,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__', "") @@ -1,6 +1,6 @@ #define RUBY_VERSION "2.5.4" #define RUBY_RELEASE_DATE "2019-03-13" -#define RUBY_PATCHLEVEL 154 +#define RUBY_PATCHLEVEL 155 #define RUBY_RELEASE_YEAR 2019 #define RUBY_RELEASE_MONTH 3 |