From c67a079ccacc679846488d23b0a107c6fe6a1146 Mon Sep 17 00:00:00 2001 From: tompng Date: Sat, 13 Aug 2022 02:37:08 +0900 Subject: [PATCH] Sort result of lexer.parse by pos in ruby<2.7. It's not sorted when the given code includes heredoc. --- lib/irb/ruby-lex.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/irb/ruby-lex.rb b/lib/irb/ruby-lex.rb index e9c5c2867..5ec684c2f 100644 --- a/lib/irb/ruby-lex.rb +++ b/lib/irb/ruby-lex.rb @@ -167,7 +167,7 @@ def self.ripper_lex_without_warning(code, context: nil) end end else - tokens = lexer.parse.reject { |it| it.pos.first == 0 } + tokens = lexer.parse.sort_by(&:pos).reject { |it| it.pos.first == 0 } end end tokens