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/