1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* class.c (rb_define_{class,module}_id_under): register to be

marked, which probably are defined and used internally.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@29518 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
nobu 2010-10-17 01:40:22 +00:00
parent 59a88b94f0
commit 137d82569f
4 changed files with 13 additions and 2 deletions

View file

@ -1,3 +1,8 @@
Sun Oct 17 10:40:17 2010 Nobuyoshi Nakada <nobu@ruby-lang.org>
* class.c (rb_define_{class,module}_id_under): register to be
marked, which probably are defined and used internally.
Sat Oct 16 11:10:55 2010 Masaki Suketa <masaki.suketa@nifty.ne.jp> Sat Oct 16 11:10:55 2010 Masaki Suketa <masaki.suketa@nifty.ne.jp>
* ext/win32ole/win32ole.c (ole_encoding2cp): set codepage 20936 * ext/win32ole/win32ole.c (ole_encoding2cp): set codepage 20936

View file

@ -524,6 +524,7 @@ rb_define_class_id_under(VALUE outer, ID id, VALUE super)
rb_set_class_path_string(klass, outer, rb_id2str(id)); rb_set_class_path_string(klass, outer, rb_id2str(id));
rb_const_set(outer, id, klass); rb_const_set(outer, id, klass);
rb_class_inherited(super, klass); rb_class_inherited(super, klass);
rb_gc_register_mark_object(klass);
return klass; return klass;
} }
@ -590,6 +591,7 @@ rb_define_module_id_under(VALUE outer, ID id)
module = rb_define_module_id(id); module = rb_define_module_id(id);
rb_const_set(outer, id, module); rb_const_set(outer, id, module);
rb_set_class_path_string(module, outer, rb_id2str(id)); rb_set_class_path_string(module, outer, rb_id2str(id));
rb_gc_register_mark_object(module);
return module; return module;
} }

View file

@ -236,4 +236,8 @@ class TestClass < Test::Unit::TestCase
copy.send(:include, mod) copy.send(:include, mod)
assert_equal("mod#foo", copy.new.foo) assert_equal("mod#foo", copy.new.foo)
end end
def test_nested_class_removal
assert_normal_exit('File.__send__(:remove_const, :Stat); at_exit{File.stat(".")}; GC.start')
end
end end

View file

@ -1,11 +1,11 @@
#define RUBY_VERSION "1.9.3" #define RUBY_VERSION "1.9.3"
#define RUBY_RELEASE_DATE "2010-10-16" #define RUBY_RELEASE_DATE "2010-10-17"
#define RUBY_PATCHLEVEL -1 #define RUBY_PATCHLEVEL -1
#define RUBY_BRANCH_NAME "trunk" #define RUBY_BRANCH_NAME "trunk"
#define RUBY_RELEASE_YEAR 2010 #define RUBY_RELEASE_YEAR 2010
#define RUBY_RELEASE_MONTH 10 #define RUBY_RELEASE_MONTH 10
#define RUBY_RELEASE_DAY 16 #define RUBY_RELEASE_DAY 17
#include "ruby/version.h" #include "ruby/version.h"