rbconfig/obsolete.rb: Config

* lib/rbconfig/obsolete.rb (Config): re-introduce warnings for a
  lame-duck.  [ruby-core:46836] [Bug #6809]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37386 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2012-10-29 18:08:56 +00:00
parent e33cbc0f54
commit bd89d0cba5
3 changed files with 44 additions and 0 deletions

View File

@ -1,3 +1,8 @@
Tue Oct 30 03:08:53 2012 Nobuyoshi Nakada <nobu@ruby-lang.org>
* lib/rbconfig/obsolete.rb (Config): re-introduce warnings for a
lame-duck. [ruby-core:46836] [Bug #6809]
Tue Oct 30 02:20:10 2012 Aaron Patterson <aaron@tenderlovemaking.com>
* thread.c: added Thread#thread_variable_(get|set),

38
lib/rbconfig/obsolete.rb Normal file
View File

@ -0,0 +1,38 @@
module ::RbConfig
module Obsolete
end
class << Obsolete
def _warn_
loc, = caller_locations(2, 1)
loc = "#{loc.to_s}: " if loc
warn "#{loc}Use RbConfig instead of obsolete and deprecated Config."
self
end
def const_missing(name)
_warn_
::RbConfig.const_get(name)
end
def method_missing(*args, &block)
_warn_
rbconfig = ::RbConfig
result = rbconfig.__send__(*args, &block)
result = rbconfig if rbconfig.equal?(result)
result
end
def respond_to_missing?(*args, &block)
_warn_
::RbConfig.respond_to_missing?(*args, &block)
end
end
end
::Config = ::RbConfig::Obsolete._warn_
=begin
def Object.const_missing(name)
return super unless name == :Config
::RbConfig::Obsolete._warn_
end
=end

View File

@ -248,6 +248,7 @@ print <<EOS
)
end
end
autoload :Config, "rbconfig/obsolete.rb" # compatibility for ruby-1.8.4 and older.
CROSS_COMPILING = nil unless defined? CROSS_COMPILING
EOS