ruby-changes:66650
From: Takashi <ko1@a...>
Date: Wed, 30 Jun 2021 21:07:07 +0900 (JST)
Subject: [ruby-changes:66650] acbddbe68c (master): [ruby/irb] Rescue a specific error
https://git.ruby-lang.org/ruby.git/commit/?id=acbddbe68c From acbddbe68cdcf5506791d8e19c184536ba253b02 Mon Sep 17 00:00:00 2001 From: Takashi Kokubun <takashikkbn@g...> Date: Wed, 30 Jun 2021 21:04:56 +0900 Subject: [ruby/irb] Rescue a specific error Rescuing StandardError is prone to bugs caused by a typo or obsoleted methods. https://github.com/ruby/irb/commit/eb5260fcd5 --- lib/irb/cmd/ls.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/irb/cmd/ls.rb b/lib/irb/cmd/ls.rb index 9cbba50..1809264 100644 --- a/lib/irb/cmd/ls.rb +++ b/lib/irb/cmd/ls.rb @@ -24,7 +24,7 @@ module IRB https://github.com/ruby/ruby/blob/trunk/lib/irb/cmd/ls.rb#L24 end def dump_methods(o, klass, obj) - singleton_class = obj.singleton_class rescue nil + singleton_class = begin obj.singleton_class; rescue TypeError; nil end maps = class_method_map((singleton_class || klass).ancestors) maps.each do |mod, methods| name = mod == singleton_class ? "#{klass}.methods" : "#{mod}#methods" -- cgit v1.1 -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/