[macruby-changes] [127] MacRuby/trunk/object.c
source_changes at macosforge.org
source_changes at macosforge.org
Mon Mar 31 19:23:04 PDT 2008
Revision: 127
http://trac.macosforge.org/projects/ruby/changeset/127
Author: lsansonetti at apple.com
Date: 2008-03-31 19:23:04 -0700 (Mon, 31 Mar 2008)
Log Message:
-----------
fix rb_obj_freeze so that arrays and hashes can be frozen
Modified Paths:
--------------
MacRuby/trunk/object.c
Modified: MacRuby/trunk/object.c
===================================================================
--- MacRuby/trunk/object.c 2008-04-01 02:18:42 UTC (rev 126)
+++ MacRuby/trunk/object.c 2008-04-01 02:23:04 UTC (rev 127)
@@ -758,9 +758,16 @@
rb_obj_freeze(VALUE obj)
{
#if WITH_OBJC
- if (rb_objc_is_non_native(obj))
- rb_raise(rb_eRuntimeError, "can't freeze pure objc object `%s'",
- RSTRING_PTR(rb_inspect(obj)));
+ if (rb_objc_is_non_native(obj)) {
+ int type = TYPE(obj);
+ if (type == T_ARRAY)
+ rb_ary_freeze(obj);
+ else if (type == T_HASH)
+ rb_hash_freeze(obj);
+ else
+ rb_raise(rb_eRuntimeError, "can't freeze pure objc object `%s'",
+ RSTRING_PTR(rb_inspect(obj)));
+ }
#endif
if (!OBJ_FROZEN(obj)) {
if (rb_safe_level() >= 4 && !OBJ_TAINTED(obj)) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.macosforge.org/pipermail/macruby-changes/attachments/20080331/e738ec6e/attachment.html
More information about the macruby-changes
mailing list