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>