[前][次][番号順一覧][スレッド一覧]

ruby-changes:25334

From: nobu <ko1@a...>
Date: Tue, 30 Oct 2012 03:10:12 +0900 (JST)
Subject: [ruby-changes:25334] nobu:r37386 (trunk): rbconfig/obsolete.rb: Config

nobu	2012-10-30 03:08:56 +0900 (Tue, 30 Oct 2012)

  New Revision: 37386

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=37386

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

  Added files:
    trunk/lib/rbconfig/obsolete.rb
  Modified files:
    trunk/ChangeLog
    trunk/tool/mkconfig.rb

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37385)
+++ ChangeLog	(revision 37386)
@@ -1,3 +1,8 @@
+Tue Oct 30 03:08:53 2012  Nobuyoshi Nakada  <nobu@r...>
+
+	* 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@t...>
 
 	* thread.c: added Thread#thread_variable_(get|set),
Index: lib/rbconfig/obsolete.rb
===================================================================
--- lib/rbconfig/obsolete.rb	(revision 0)
+++ lib/rbconfig/obsolete.rb	(revision 37386)
@@ -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

Property changes on: lib/rbconfig/obsolete.rb
___________________________________________________________________
Added: svn:eol-style
   + LF

Index: tool/mkconfig.rb
===================================================================
--- tool/mkconfig.rb	(revision 37385)
+++ tool/mkconfig.rb	(revision 37386)
@@ -248,6 +248,7 @@
     )
   end
 end
+autoload :Config, "rbconfig/obsolete.rb" # compatibility for ruby-1.8.4 and older.
 CROSS_COMPILING = nil unless defined? CROSS_COMPILING
 EOS
 

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]