From: Run Paint Run Run <redmine@...> Date: 2009-10-03T08:55:04+09:00 Subject: [ruby-core:25909] [Bug #2171] Kernel#respond_to_missing? Invoked for Unimplemented Methods Bug #2171: Kernel#respond_to_missing? Invoked for Unimplemented Methods http://redmine.ruby-lang.org/issues/show/2171 Author: Run Paint Run Run Status: Open, Priority: Low Category: core, Target version: 1.9.2 ruby -v: ruby 1.9.2dev (2009-10-01 trunk 25173) [i686-linux] Kernel#respond_to_missing? is called for methods that raise NotImplementedError, despite such methods not invoking #method_missing. I expected it not to be. $ cat /tmp/notimp.rb [:method_missing, :respond_to_missing?].each do |m| File.define_singleton_method(m, ->(_){ p m; false }) end [:glark, :lchmod].each do |m| puts "<<#{m}>>" File.respond_to?(m) File.send(m) end $ ruby /tmp/notimp.rb <<glark>> :respond_to_missing? :method_missing <<lchmod>> :respond_to_missing? /tmp/notimp.rb:7:in `lchmod': lchmod() function is unimplemented on this machine (NotImplementedError) from /tmp/notimp.rb:7:in `block in <main>' from /tmp/notimp.rb:4:in `each' from /tmp/notimp.rb:4:in `<main>' ---------------------------------------- http://redmine.ruby-lang.org