
Issue #19563 has been updated by nagachika (Tomoyuki Chikanaga). MEMO: 4af9bd52cbb8cff7d149a8565012ab1153a4b5b1 is the follow-up commit for ac8a16237c727ae2a1446ef6dc810d0e750971fb. ---------------------------------------- Bug #19563: Ripper.tokenize(code).join != code when heredoc and multiline %w[] literal is on the same line https://bugs.ruby-lang.org/issues/19563#change-102727 * Author: tompng (tomoya ishida) * Status: Closed * Priority: Normal * ruby -v: ruby 3.3.0dev (2023-03-29T21:57:52Z master 1b06422767) [x86_64-linux] * Backport: 2.7: UNKNOWN, 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN ---------------------------------------- ~~~ruby Ripper.tokenize "<<EOF || %w[hello\nEOF\n\n\n\nworld]" # actual result ["<<EOF", " ", "||", " ", "%w[", "hello", "\n\n\n\n", "EOF\n", "world", "]"] # expected result ["<<EOF", " ", "||", " ", "%w[", "hello", "\n", "EOF\n", "\n\n\n", "world", "]"] ~~~ same for `%i[]` literal. ---Files-------------------------------- 0001-Bug-19563-Yield-words-separators-per-lines.patch (4.35 KB) -- https://bugs.ruby-lang.org/