From: naruse@... Date: 2021-03-02T09:28:45+00:00 Subject: [ruby-dev:51029] [Ruby master Bug#17644] Ripper.lex fails with syntax error and heredoc Issue #17644 has been updated by naruse (Yui NARUSE). Backport changed from 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONTNEED, 3.0: REQUIRED to 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONTNEED, 3.0: DONE ruby_3_0 a6dec2e144d65011d49f272e494bf62daf3d7531 merged revision(s) 5de38c41ae7bf17ae599fdfa9f8face87f16d8bb. ---------------------------------------- Bug #17644: Ripper.lex fails with syntax error and heredoc https://bugs.ruby-lang.org/issues/17644#change-90700 * Author: shugo (Shugo Maeda) * Status: Closed * Priority: Normal * ruby -v: ruby 3.1.0dev (2021-02-18T13:35:34Z master 7b9476fbfa) [x86_64-darwin19] * Backport: 2.5: DONTNEED, 2.6: DONTNEED, 2.7: DONTNEED, 3.0: DONE ---------------------------------------- `Ripper.lex` fails with syntax error and heredoc: ``` $ cat t.rb require "ripper" s = <<~EOF foo end <<~EOS bar EOS EOF p Ripper.lex(s) $ ruby t.rb /Users/shugo/.rbenv/versions/master/lib/ruby/3.1.0/ripper/lexer.rb:110:in `each': undefined method `pos' for [#, #, #, #]:Array (NoMethodError) Did you mean? pop from /Users/shugo/.rbenv/versions/master/lib/ruby/3.1.0/ripper/lexer.rb:110:in `sort_by' from /Users/shugo/.rbenv/versions/master/lib/ruby/3.1.0/ripper/lexer.rb:110:in `lex' from /Users/shugo/.rbenv/versions/master/lib/ruby/3.1.0/ripper/lexer.rb:52:in `lex' from t.rb:9:in `
' ``` It seems that this bug was introduced by commit:69d871eeeb2. -- https://bugs.ruby-lang.org/