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

ruby-changes:25933

From: nobu <ko1@a...>
Date: Thu, 29 Nov 2012 17:45:22 +0900 (JST)
Subject: [ruby-changes:25933] nobu:r37990 (trunk): variable.c: show namespace

nobu	2012-11-29 17:45:13 +0900 (Thu, 29 Nov 2012)

  New Revision: 37990

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

  Log:
    variable.c: show namespace
    
    * variable.c (rb_const_set): show namespace in warning messages.
      [Feature #7190]

  Modified files:
    trunk/ChangeLog
    trunk/test/ruby/test_const.rb
    trunk/variable.c

Index: ChangeLog
===================================================================
--- ChangeLog	(revision 37989)
+++ ChangeLog	(revision 37990)
@@ -1,3 +1,8 @@
+Thu Nov 29 17:45:10 2012  Nobuyoshi Nakada  <nobu@r...>
+
+	* variable.c (rb_const_set): show namespace in warning messages.
+	  [Feature #7190]
+
 Thu Nov 29 17:31:53 2012  NARUSE, Yui  <naruse@r...>
 
 	* lib/rubygems.rb (Gem.load_yaml): return if Kernel#gem is not defined
Index: variable.c
===================================================================
--- variable.c	(revision 37989)
+++ variable.c	(revision 37990)
@@ -2136,7 +2136,11 @@
 	    else {
 		const char *name = rb_id2name(id);
 		visibility = ce->flag;
-		rb_warn("already initialized constant %s", name);
+		if (klass == rb_cObject)
+		    rb_warn("already initialized constant %s", name);
+		else
+		    rb_warn("already initialized constant %s::%s",
+			    rb_class2name(klass), name);
 		if (!NIL_P(ce->file) && ce->line) {
 		    rb_compile_warn(RSTRING_PTR(ce->file), ce->line,
 				    "previous definition of %s was here", name);
Index: test/ruby/test_const.rb
===================================================================
--- test/ruby/test_const.rb	(revision 37989)
+++ test/ruby/test_const.rb	(revision 37990)
@@ -1,3 +1,4 @@
+# -*- coding: us-ascii -*-
 require 'test/unit'
 
 class TestConst < Test::Unit::TestCase
@@ -50,7 +51,7 @@
     c = Class.new
     c.const_set(:X, 1)
     assert_output(nil, <<-WARNING) {c.const_set(:X, 2)}
-#{__FILE__}:#{__LINE__-1}: warning: already initialized constant X
+#{__FILE__}:#{__LINE__-1}: warning: already initialized constant #{c}::X
 #{__FILE__}:#{__LINE__-3}: warning: previous definition of X was here
 WARNING
   end

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

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