From: nobu@... Date: 2016-05-11T17:03:18+00:00 Subject: [ruby-core:75459] [Ruby trunk Bug#12370] require 'mkmf' changes Object#respond_to? behaviour Issue #12370 has been updated by Nobuyoshi Nakada. The behavior of `Object#respond_to?` isn't changed. Simply mkmf.rb defines `configuration` method. ``` $ ruby -rmkmf -e 'p method(:configuration)' # ``` Just do not mix mkmf.rb unnecessarily, it's only for extconf.rb. ---------------------------------------- Bug #12370: require 'mkmf' changes Object#respond_to? behaviour https://bugs.ruby-lang.org/issues/12370#change-58583 * Author: Daniel Ferreira * Status: Open * Priority: Normal * Assignee: * ruby -v: 2.3.0 * Backport: 2.1: UNKNOWN, 2.2: UNKNOWN, 2.3: UNKNOWN ---------------------------------------- Replication steps: ``` ruby $ irb > RUBY_VERSION => '2.3.0' > require 'yaml' > YAML.public_method_defined?(:configuration) => false > YAML.respond_to?(:configuration) => false > require 'mkmf' > YAML.public_method_defined?(:configuration) => false > YAML.respond_to?(:configuration) => true ``` ``` ruby Object.constants do |constant| constant.respond_to?(:configuration) ==> true end ``` Also there is a different behaviour for core classes over library or gem classes and/or modules under Object namespace. The changed behaviour is triggered by: mkmf.rb:2718 => ``` ruby include MakeMakefile ``` -- https://bugs.ruby-lang.org/ Unsubscribe: