[#114774] [Ruby master Feature#19884] Make Safe Navigation Operator work on classes — "p8 (Petrik de Heus) via ruby-core" <ruby-core@...>
Issue #19884 has been reported by p8 (Petrik de Heus).
13 messages
2023/09/15
[ruby-core:114637] [Ruby master Bug#19861] Ripper does not fire any error event on unfinished heredoc
From:
"thyresias (Thierry Lambert) via ruby-core" <ruby-core@...>
Date:
2023-09-05 13:45:48 UTC
List:
ruby-core #114637
Issue #19861 has been updated by thyresias (Thierry Lambert).
I had missed this one.
Thanks, nobu.
----------------------------------------
Bug #19861: Ripper does not fire any error event on unfinished heredoc
https://bugs.ruby-lang.org/issues/19861#change-104464
* Author: thyresias (Thierry Lambert)
* Status: Feedback
* Priority: Normal
* ruby -v: ruby 3.2.2 (2023-03-30 revision e51014f9c0) [x64-mingw-ucrt]
* Backport: 3.0: UNKNOWN, 3.1: UNKNOWN, 3.2: UNKNOWN
----------------------------------------
```ruby
require 'ripper'
class BasicParser < Ripper
EVENTS.each do |event|
module_eval(<<~RUBY, __FILE__, __LINE__ + 1)
def on_#{event}(*args)
puts "#{event}(\#{args.inspect})"
args.unshift :#{event}
args
end
RUBY
end
end
p = BasicParser.new(<<~RUBY)
<<~EOT
foo
RUBY
p.parse
p error: p.error?
# in stdout:
# heredoc_beg(["<<~EOT"])
# string_content([])
# tstring_content([" foo\n"])
# string_add([[:string_content], [:tstring_content, " foo\n"]])
# heredoc_dedent([[:string_add, [:string_content], [:tstring_content, " foo\n"]], 2])
# string_literal([[:string_add, [:string_content], [:tstring_content, " foo\n"]]])
# nl(["\n"])
# stmts_new([])
# stmts_add([[:stmts_new], [:string_literal, [:string_add, [:string_content], [:tstring_content, " foo\n"]]]])
# program([[:stmts_add, [:stmts_new], [:string_literal, [:string_add, [:string_content], [:tstring_content, " foo\n"]]]]])
# {:error=>true}
```
I would have expected one of the _error events to fire, since `p.error?` returns `true`.
--
https://bugs.ruby-lang.org/
______________________________________________
ruby-core mailing list -- ruby-core@ml.ruby-lang.org
To unsubscribe send an email to ruby-core-leave@ml.ruby-lang.org
ruby-core info -- https://ml.ruby-lang.org/mailman3/postorius/lists/ruby-core.ml.ruby-lang.org/