ruby-changes:18123
From: nobu <ko1@a...>
Date: Wed, 8 Dec 2010 21:36:27 +0900 (JST)
Subject: [ruby-changes:18123] Ruby:r30144 (trunk): * parse.y (shadowing_lvar_gen): fix line number.
nobu 2010-12-08 21:36:20 +0900 (Wed, 08 Dec 2010) New Revision: 30144 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=30144 Log: * parse.y (shadowing_lvar_gen): fix line number. [ruby-dev:42718] Modified files: trunk/ChangeLog trunk/parse.y trunk/test/ruby/test_rubyoptions.rb Index: ChangeLog =================================================================== --- ChangeLog (revision 30143) +++ ChangeLog (revision 30144) @@ -1,3 +1,7 @@ +Wed Dec 8 21:36:16 2010 Nobuyoshi Nakada <nobu@r...> + + * parse.y (shadowing_lvar_gen): fix line number. [ruby-dev:42718] + Wed Dec 8 20:37:11 2010 Tanaka Akira <akr@f...> * dir.c: parenthesize macro arguments. Index: parse.y =================================================================== --- parse.y (revision 30143) +++ parse.y (revision 30144) @@ -8269,7 +8269,7 @@ rb_warningS("shadowing outer local variable - %s", rb_id2name(name)); vtable_add(lvtbl->vars, name); if (lvtbl->used) { - vtable_add(lvtbl->used, name); + vtable_add(lvtbl->used, (ID)ruby_sourceline); } } } Index: test/ruby/test_rubyoptions.rb =================================================================== --- test/ruby/test_rubyoptions.rb (revision 30143) +++ test/ruby/test_rubyoptions.rb (revision 30144) @@ -454,8 +454,20 @@ assert_in_out_err(["-we", "def foo\n eval('a=1')\nend"], "", [], [], feature3446) assert_in_out_err(["-we", "1.times do\n a=1\nend"], "", [], [], feature3446) assert_in_out_err(["-we", "def foo\n 1.times do\n a=1\n end\nend"], "", [], ["-e:3: warning: assigned but unused variable - a"], feature3446) + assert_in_out_err(["-we", "def foo\n"" 1.times do |a| end\n""end"], "", [], []) end + def test_shadowing_variable + bug4130 = '[ruby-dev:42718]' + assert_in_out_err(["-we", "def foo\n"" a=1\n"" 1.times do |a| end\n"" a\n""end"], + "", [], ["-e:3: warning: shadowing outer local variable - a"], bug4130) + assert_in_out_err(["-we", "def foo\n"" a=1\n"" 1.times do |a| end\n""end"], + "", [], + ["-e:3: warning: shadowing outer local variable - a", + "-e:2: warning: assigned but unused variable - a", + ], bug4130) + end + def test_script_from_stdin begin require 'pty' -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml/