diff options
-rw-r--r-- | ChangeLog | 4 | ||||
-rw-r--r-- | test/ruby/test_module.rb | 5 | ||||
-rw-r--r-- | variable.c | 2 |
3 files changed, 10 insertions, 1 deletions
@@ -1,3 +1,7 @@ +Thu Dec 27 21:56:56 2012 NARUSE, Yui <naruse@ruby-lang.org> + + * variable.c (rb_mod_remove_const): fix segv caused by r38558. + Tue Dec 28 01:13:48 2012 James Edward Gray II <james@graysoftinc.com> * lib/csv.rb: Added more Hash methods to CSV::Row. diff --git a/test/ruby/test_module.rb b/test/ruby/test_module.rb index 52f643489c..2862cd338f 100644 --- a/test/ruby/test_module.rb +++ b/test/ruby/test_module.rb @@ -1591,4 +1591,9 @@ class TestModule < Test::Unit::TestCase end assert_equal("", stderr) end + + def test_remove_const + m = Module.new + assert_raise(NameError){ m.instance_eval { remove_const(:__FOO__) } } + end end diff --git a/variable.c b/variable.c index 2597015d50..f6bd70a211 100644 --- a/variable.c +++ b/variable.c @@ -1919,7 +1919,7 @@ rb_mod_remove_const(VALUE mod, VALUE name) } else { rb_name_error_str(name, "`%"PRIsVALUE"' is not allowed as a constant name", - QUOTE_ID(name)); + QUOTE(name)); } } if (!rb_is_const_id(id)) { |