ruby-changes:2357
From: ko1@a...
Date: 9 Nov 2007 13:37:53 +0900
Subject: [ruby-changes:2357] matz - Ruby:r13848 (trunk): * test/ruby/test_basicinstructions.rb: updated for new class
matz 2007-11-09 13:37:36 +0900 (Fri, 09 Nov 2007)
New Revision: 13848
Modified files:
trunk/ChangeLog
trunk/encoding.c
trunk/marshal.c
trunk/test/ruby/test_basicinstructions.rb
Log:
* test/ruby/test_basicinstructions.rb: updated for new class
behavior. [ruby-dev:32192]
* encoding.c (enc_name): Encoding should not rely on ENCODING in
the FL_USERS flags.
* encoding.c (rb_enc_from_encoding): do not call rb_enc_associate
for encoding itself.
* encoding.c (enc_register_at): ditto.
* marshal.c (r_ivar): do not set real instance variable for
encoding data associated.
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13848&r2=13847
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/test/ruby/test_basicinstructions.rb?r1=13848&r2=13847
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/marshal.c?r1=13848&r2=13847
http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/encoding.c?r1=13848&r2=13847
Index: encoding.c
===================================================================
--- encoding.c (revision 13847)
+++ encoding.c (revision 13848)
@@ -52,9 +52,7 @@
if (!encoding) return 0;
if (enc_initialized_p(encoding))
return ENC_FROM_ENCODING(encoding);
- enc = enc_new(encoding);
- rb_enc_associate(enc, encoding);
- return enc;
+ return enc_new(encoding);
}
static int
@@ -146,8 +144,8 @@
encoding = ent->enc;
encoding->name = name;
if (rb_cEncoding) {
- VALUE enc = enc_new(encoding);
- rb_enc_associate_index(enc, index);
+ /* initialize encoding data */
+ enc_new(encoding);
}
else {
encoding->auxiliary_data = ENC_UNINITIALIZED;
@@ -523,13 +521,13 @@
enc_to_s(VALUE self)
{
return rb_sprintf("<%s:%s>", rb_obj_classname(self),
- rb_enc_name(enc_get_encoding(self)));
+ rb_enc_name((rb_encoding*)DATA_PTR(self)));
}
static VALUE
enc_name(VALUE self)
{
- return rb_str_new2(rb_enc_name(enc_get_encoding(self)));
+ return rb_str_new2(rb_enc_name((rb_encoding*)DATA_PTR(self)));
}
static VALUE
Index: ChangeLog
===================================================================
--- ChangeLog (revision 13847)
+++ ChangeLog (revision 13848)
@@ -2,6 +2,22 @@
* eval_load.c (loaded_feature_path): check with type of given feature.
+Fri Nov 9 12:43:02 2007 Yukihiro Matsumoto <matz@r...>
+
+ * test/ruby/test_basicinstructions.rb: updated for new class
+ behavior. [ruby-dev:32192]
+
+ * encoding.c (enc_name): Encoding should not rely on ENCODING in
+ the FL_USERS flags.
+
+ * encoding.c (rb_enc_from_encoding): do not call rb_enc_associate
+ for encoding itself.
+
+ * encoding.c (enc_register_at): ditto.
+
+ * marshal.c (r_ivar): do not set real instance variable for
+ encoding data associated.
+
Fri Nov 9 10:43:55 2007 Nobuyoshi Nakada <nobu@r...>
* eval.c (send_internal): use self in the previous frame to check for
Index: marshal.c
===================================================================
--- marshal.c (revision 13847)
+++ marshal.c (revision 13848)
@@ -1086,7 +1086,9 @@
int idx = rb_enc_find_index(StringValueCStr(val));
if (idx > 0) rb_enc_associate_index(obj, idx);
}
- rb_ivar_set(obj, id, val);
+ else {
+ rb_ivar_set(obj, id, val);
+ }
}
}
}
Index: test/ruby/test_basicinstructions.rb
===================================================================
--- test/ruby/test_basicinstructions.rb (revision 13847)
+++ test/ruby/test_basicinstructions.rb (revision 13848)
@@ -483,16 +483,16 @@
assert_equal 'B/singleton', CVarB.cvB
assert_equal 'B/singleton', CVarB.cvB2
assert_equal 'B/singleton', CVarB.new.cvB
- assert_equal 'CVarA@@cv', CVarA.cv
- assert_equal 'CVarA@@cv', CVarA.cv2
- assert_equal 'CVarA@@cv', CVarA.new.cv
+ assert_equal 'B/singleton', CVarA.cv
+ assert_equal 'B/singleton', CVarA.cv2
+ assert_equal 'B/singleton', CVarA.new.cv
CVarB.new.cvB = 'B/instance'
assert_equal 'B/instance', CVarB.cvB
assert_equal 'B/instance', CVarB.cvB2
assert_equal 'B/instance', CVarB.new.cvB
- assert_equal 'CVarA@@cv', CVarA.cv
- assert_equal 'CVarA@@cv', CVarA.cv2
- assert_equal 'CVarA@@cv', CVarA.new.cv
+ assert_equal 'B/instance', CVarA.cv
+ assert_equal 'B/instance', CVarA.cv2
+ assert_equal 'B/instance', CVarA.new.cv
CVarA.cv = 'CVarA@@cv'
CVarB.cvB = 'CVarB@@cv'
--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml