Issue #15648 has been updated by naruse (Yui NARUSE).

Backport changed from 2.4: REQUIRED, 2.5: REQUIRED, 2.6: REQUIRED to 2.4: REQUIRED, 2.5: REQUIRED, 2.6: DONE

ruby_2_6 r67208 merged revision(s) 67200.

----------------------------------------
Bug #15648: Ripper::SCANNER_EVENTS に ignored_sp が含まれていない
https://bugs.ruby-lang.org/issues/15648#change-77035

* Author: freedom (free dom)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
* ruby -v: ruby 2.7.0dev (2019-03-07 trunk 67190) [x86_64-linux]
* Backport: 2.4: REQUIRED, 2.5: REQUIRED, 2.6: DONE
----------------------------------------
`Ripper::Filter`にて `<<~` 形式のヒアドキュメント文字列を解析した際に `ignored_sp` イベントが実行されますが、`Ripper::SCANNER_EVENTS` には含まれていません

```console
ruby -e "require 'ripper';p Ripper::SCANNER_EVENTS.grep(/ignore/)"
[:ignored_nl]
```
```console
ruby -e 'require "ripper";class RipperT < Ripper::Filter;def on_default(event, tok, f);p event;end;end;str="<<~TEST\n  :test\nTEST";RipperT.new(str).parse'
:on_heredoc_beg
:on_nl
:on_ignored_sp
:on_tstring_content
:on_heredoc_end
```

リファレンスマニュアル の `Ripper::Filter` に
> Ruby プログラムを解析して、`Ripper::SCANNER_EVENTS` にあるスキャナ イベントを実行します。

と書かれているため、含まれているのが適当だと考えます



-- 
https://bugs.ruby-lang.org/

Unsubscribe: <mailto:ruby-core-request / ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>