[macruby-changes] [3535] MacRuby/branches/icu

source_changes at macosforge.org source_changes at macosforge.org
Mon Feb 15 17:03:55 PST 2010


Revision: 3535
          http://trac.macosforge.org/projects/ruby/changeset/3535
Author:   lsansonetti at apple.com
Date:     2010-02-15 17:03:53 -0800 (Mon, 15 Feb 2010)
Log Message:
-----------
s/MR//

Modified Paths:
--------------
    MacRuby/branches/icu/encoding.c
    MacRuby/branches/icu/string.c

Modified: MacRuby/branches/icu/encoding.c
===================================================================
--- MacRuby/branches/icu/encoding.c	2010-02-16 00:56:49 UTC (rev 3534)
+++ MacRuby/branches/icu/encoding.c	2010-02-16 01:03:53 UTC (rev 3535)
@@ -4,7 +4,7 @@
 // TODO:
 // - use rb_usascii_str_new_cstr instead of rb_str_new2
 
-VALUE rb_cMREncoding = 0;
+VALUE rb_cEncoding = 0;
 
 #define ENC(x) ((encoding_t *)(x))
 #define OBJC_CLASS(x) (*(VALUE *)(x))
@@ -131,7 +131,7 @@
 	    name_copy[i] = '_';
 	}
     }
-    rb_define_const(rb_cMREncoding, name_copy, (VALUE)encoding);
+    rb_define_const(rb_cEncoding, name_copy, (VALUE)encoding);
     free(name_copy);
 }
 
@@ -173,7 +173,7 @@
     // create the MacRuby object
     NEWOBJ(encoding, encoding_t);
     encoding->basic.flags = 0;
-    encoding->basic.klass = rb_cMREncoding;
+    encoding->basic.klass = rb_cEncoding;
     encodings[encoding_index] = encoding;
     rb_objc_retain(encoding); // it should never be deallocated
 
@@ -239,32 +239,32 @@
 mr_enc_s_is_compatible(VALUE klass, SEL sel, VALUE str1, VALUE str2);
 
 void
-Init_MREncoding(void)
+Init_Encoding(void)
 {
-    rb_cMREncoding = rb_define_class("MREncoding", rb_cObject);
-    rb_undef_alloc_func(rb_cMREncoding);
+    rb_cEncoding = rb_define_class("Encoding", rb_cObject);
+    rb_undef_alloc_func(rb_cEncoding);
 
-    rb_objc_define_method(rb_cMREncoding, "to_s", mr_enc_name, 0);
-    rb_objc_define_method(rb_cMREncoding, "inspect", mr_enc_inspect, 0);
-    rb_objc_define_method(rb_cMREncoding, "name", mr_enc_name, 0);
-    rb_objc_define_method(rb_cMREncoding, "names", mr_enc_names, 0);
-    rb_objc_define_method(rb_cMREncoding, "dummy?", mr_enc_dummy_p, 0);
-    rb_objc_define_method(rb_cMREncoding, "ascii_compatible?", mr_enc_ascii_compatible_p, 0);
-    rb_objc_define_method(OBJC_CLASS(rb_cMREncoding), "list", mr_enc_s_list, 0);
-    rb_objc_define_method(OBJC_CLASS(rb_cMREncoding), "name_list", mr_enc_s_name_list, 0);
-    rb_objc_define_method(OBJC_CLASS(rb_cMREncoding), "aliases", mr_enc_s_aliases, 0);
-    //rb_define_singleton_method(rb_cMREncoding, "find", enc_find, 1);
+    rb_objc_define_method(rb_cEncoding, "to_s", mr_enc_name, 0);
+    rb_objc_define_method(rb_cEncoding, "inspect", mr_enc_inspect, 0);
+    rb_objc_define_method(rb_cEncoding, "name", mr_enc_name, 0);
+    rb_objc_define_method(rb_cEncoding, "names", mr_enc_names, 0);
+    rb_objc_define_method(rb_cEncoding, "dummy?", mr_enc_dummy_p, 0);
+    rb_objc_define_method(rb_cEncoding, "ascii_compatible?", mr_enc_ascii_compatible_p, 0);
+    rb_objc_define_method(OBJC_CLASS(rb_cEncoding), "list", mr_enc_s_list, 0);
+    rb_objc_define_method(OBJC_CLASS(rb_cEncoding), "name_list", mr_enc_s_name_list, 0);
+    rb_objc_define_method(OBJC_CLASS(rb_cEncoding), "aliases", mr_enc_s_aliases, 0);
+    //rb_define_singleton_method(rb_cEncoding, "find", enc_find, 1);
     // it's defined on Encoding, but it requires String's internals so it's defined with String
-    rb_objc_define_method(OBJC_CLASS(rb_cMREncoding), "compatible?", mr_enc_s_is_compatible, 2);
+    rb_objc_define_method(OBJC_CLASS(rb_cEncoding), "compatible?", mr_enc_s_is_compatible, 2);
 
     //rb_define_method(rb_cEncoding, "_dump", enc_dump, -1);
     //rb_define_singleton_method(rb_cEncoding, "_load", enc_load, 1);
 
-    rb_objc_define_method(OBJC_CLASS(rb_cMREncoding), "default_external", mr_enc_s_default_external, 0);
-    //rb_define_singleton_method(rb_cMREncoding, "default_external=", set_default_external, 1);
-    rb_objc_define_method(OBJC_CLASS(rb_cMREncoding), "default_internal", mr_enc_s_default_internal, 0);
-    //rb_define_singleton_method(rb_cMREncoding, "default_internal=", set_default_internal, 1);
-    //rb_define_singleton_method(rb_cMREncoding, "locale_charmap", rb_locale_charmap, 0);
+    rb_objc_define_method(OBJC_CLASS(rb_cEncoding), "default_external", mr_enc_s_default_external, 0);
+    //rb_define_singleton_method(rb_cEncoding, "default_external=", set_default_external, 1);
+    rb_objc_define_method(OBJC_CLASS(rb_cEncoding), "default_internal", mr_enc_s_default_internal, 0);
+    //rb_define_singleton_method(rb_cEncoding, "default_internal=", set_default_internal, 1);
+    //rb_define_singleton_method(rb_cEncoding, "locale_charmap", rb_locale_charmap, 0);
 
     create_encodings();
 }

Modified: MacRuby/branches/icu/string.c
===================================================================
--- MacRuby/branches/icu/string.c	2010-02-16 00:56:49 UTC (rev 3534)
+++ MacRuby/branches/icu/string.c	2010-02-16 01:03:53 UTC (rev 3535)
@@ -3,11 +3,12 @@
  *
  * This file is covered by the Ruby license. See COPYING for more details.
  * 
- * Copyright (C) 2007-2009, Apple Inc. All rights reserved.
+ * Copyright (C) 2007-2010, Apple Inc. All rights reserved.
  * Copyright (C) 1993-2007 Yukihiro Matsumoto
  * Copyright (C) 2000 Network Applied Communication Laboratory, Inc.
  * Copyright (C) 2000 Information-technology Promotion Agency, Japan
  */
+
 #include "encoding.h"
 #include "objc.h"
 #include <assert.h>
@@ -16,23 +17,10 @@
 
 #define OBJC_CLASS(x) (*(VALUE *)(x))
 
-VALUE rb_cMRString;
+VALUE rb_cNSString;
+VALUE rb_cNSMutableString;
+VALUE rb_cRubyString;
 
-#undef TYPE // TODO: remove this when MRString has become a child of NSString
-extern VALUE rb_cMRString;
-static inline int
-rb_type2(VALUE obj)
-{
-    if (CLASS_OF(obj) == rb_cMRString) {
-	return T_STRING;
-    }
-    else {
-	return rb_type(obj);
-    }
-}
-#define TYPE(obj) rb_type2(obj)
-
-
 static void
 str_update_flags_utf16(string_t *self)
 {
@@ -199,7 +187,7 @@
 {
     NEWOBJ(str, string_t);
     str->basic.flags = 0;
-    str->basic.klass = rb_cMRString;
+    str->basic.klass = rb_cRubyString;
     str->encoding = encodings[ENCODING_BINARY];
     str->capacity_in_bytes = 0;
     str->length_in_bytes = 0;
@@ -248,7 +236,7 @@
 str_replace(string_t *self, VALUE arg)
 {
     VALUE klass = CLASS_OF(arg);
-    if (klass == rb_cMRString) {
+    if (klass == rb_cRubyString) {
 	str_replace_with_string(self, STR(arg));
     }
     else if (klass == rb_cByteString) {
@@ -943,14 +931,14 @@
 static string_t *
 str_need_string(VALUE str)
 {
-    if (CLASS_OF(str) == rb_cMRString) {
+    if (CLASS_OF(str) == rb_cRubyString) {
 	return (string_t *)str;
     }
 
     if (TYPE(str) != T_STRING) {
 	str = rb_str_to_str(str);
     }
-    if (OBJC_CLASS(str) != rb_cMRString) {
+    if (OBJC_CLASS(str) != rb_cRubyString) {
 	return str_new_from_cfstring((CFStringRef)str);
     }
     else {
@@ -967,8 +955,8 @@
     if (SPECIAL_CONST_P(str1) || SPECIAL_CONST_P(str2)) {
 	return Qnil;
     }
-    assert(OBJC_CLASS(str1) == rb_cMRString); // TODO
-    assert(OBJC_CLASS(str2) == rb_cMRString); // TODO
+    assert(OBJC_CLASS(str1) == rb_cRubyString); // TODO
+    assert(OBJC_CLASS(str2) == rb_cRubyString); // TODO
     encoding_t *encoding = str_compatible_encoding(STR(str1), STR(str2));
     if (encoding == NULL) {
 	return Qnil;
@@ -1057,7 +1045,7 @@
 mr_str_force_encoding(VALUE self, SEL sel, VALUE encoding)
 {
     encoding_t *enc;
-    if (SPECIAL_CONST_P(encoding) || (OBJC_CLASS(encoding) != rb_cMREncoding)) {
+    if (SPECIAL_CONST_P(encoding) || (OBJC_CLASS(encoding) != rb_cEncoding)) {
 	abort(); // TODO
     }
     enc = (encoding_t *)encoding;
@@ -1095,7 +1083,7 @@
 
 	    case T_STRING:
 		{
-		    if (OBJC_CLASS(index) == rb_cMRString) {
+		    if (OBJC_CLASS(index) == rb_cRubyString) {
 			string_t *searched = STR(index);
 			if (str_include_string(STR(self), searched)) {
 			    return (VALUE)str_new_from_string(searched);
@@ -1223,7 +1211,7 @@
 
     if (TYPE(compared_to) == T_STRING) {
 	string_t *str;
-	if (OBJC_CLASS(compared_to) == rb_cMRString) {
+	if (OBJC_CLASS(compared_to) == rb_cRubyString) {
 	    str = STR(compared_to);
 	}
 	else {
@@ -1257,58 +1245,52 @@
 static VALUE
 mr_str_to_s(VALUE self, SEL sel)
 {
-    if (OBJC_CLASS(self) != rb_cMRString) {
+    if (OBJC_CLASS(self) != rb_cRubyString) {
 	return (VALUE)str_dup(self);
     }
     return self;
 }
 
 void
-Init_MRString(void)
+Init_String(void)
 {
-    // encodings must be loaded before strings
-    assert(rb_cMREncoding != 0);
+    // TODO create NSString.m
+    rb_cNSString = (VALUE)objc_getClass("NSString");
+    assert(rb_cNSString != 0);
+    rb_cNSMutableString = (VALUE)objc_getClass("NSMutableString");
+    assert(rb_cNSMutableString != 0);
 
-    rb_cMRString = rb_define_class("MRString", rb_cObject);
-    rb_objc_define_method(OBJC_CLASS(rb_cMRString), "alloc", mr_str_s_alloc, 0);
+    rb_cRubyString = rb_define_class("String", rb_cNSMutableString);
+    rb_objc_define_method(OBJC_CLASS(rb_cRubyString), "alloc", mr_str_s_alloc, 0);
 
-    rb_objc_define_method(rb_cMRString, "initialize", mr_str_initialize, -1);
-    rb_objc_define_method(rb_cMRString, "initialize_copy", mr_str_replace, 1);
-    rb_objc_define_method(rb_cMRString, "replace", mr_str_replace, 1);
-    rb_objc_define_method(rb_cMRString, "clear", mr_str_clear, 0);
-    rb_objc_define_method(rb_cMRString, "encoding", mr_str_encoding, 0);
-    rb_objc_define_method(rb_cMRString, "length", mr_str_length, 0);
-    rb_objc_define_method(rb_cMRString, "size", mr_str_length, 0); // alias
-    rb_objc_define_method(rb_cMRString, "bytesize", mr_str_bytesize, 0);
-    rb_objc_define_method(rb_cMRString, "getbyte", mr_str_getbyte, 1);
-    rb_objc_define_method(rb_cMRString, "setbyte", mr_str_setbyte, 2);
-    rb_objc_define_method(rb_cMRString, "force_encoding", mr_str_force_encoding, 1);
-    rb_objc_define_method(rb_cMRString, "valid_encoding?", mr_str_is_valid_encoding, 0);
-    rb_objc_define_method(rb_cMRString, "ascii_only?", mr_str_is_ascii_only, 0);
-    rb_objc_define_method(rb_cMRString, "[]", mr_str_aref, -1);
-    rb_objc_define_method(rb_cMRString, "index", mr_str_index, -1);
-    rb_objc_define_method(rb_cMRString, "+", mr_str_plus, 1);
-    rb_objc_define_method(rb_cMRString, "<<", mr_str_concat, 1);
-    rb_objc_define_method(rb_cMRString, "concat", mr_str_concat, 1);
-    rb_objc_define_method(rb_cMRString, "==", mr_str_equal, 1);
-    rb_objc_define_method(rb_cMRString, "!=", mr_str_not_equal, 1);
-    rb_objc_define_method(rb_cMRString, "include?", mr_str_include, 1);
-    rb_objc_define_method(rb_cMRString, "to_s", mr_str_to_s, 0);
-    rb_objc_define_method(rb_cMRString, "to_str", mr_str_to_s, 0);
+    rb_objc_define_method(rb_cRubyString, "initialize", mr_str_initialize, -1);
+    rb_objc_define_method(rb_cRubyString, "initialize_copy", mr_str_replace, 1);
+    rb_objc_define_method(rb_cRubyString, "replace", mr_str_replace, 1);
+    rb_objc_define_method(rb_cRubyString, "clear", mr_str_clear, 0);
+    rb_objc_define_method(rb_cRubyString, "encoding", mr_str_encoding, 0);
+    rb_objc_define_method(rb_cRubyString, "length", mr_str_length, 0);
+    rb_objc_define_method(rb_cRubyString, "size", mr_str_length, 0); // alias
+    rb_objc_define_method(rb_cRubyString, "bytesize", mr_str_bytesize, 0);
+    rb_objc_define_method(rb_cRubyString, "getbyte", mr_str_getbyte, 1);
+    rb_objc_define_method(rb_cRubyString, "setbyte", mr_str_setbyte, 2);
+    rb_objc_define_method(rb_cRubyString, "force_encoding", mr_str_force_encoding, 1);
+    rb_objc_define_method(rb_cRubyString, "valid_encoding?", mr_str_is_valid_encoding, 0);
+    rb_objc_define_method(rb_cRubyString, "ascii_only?", mr_str_is_ascii_only, 0);
+    rb_objc_define_method(rb_cRubyString, "[]", mr_str_aref, -1);
+    rb_objc_define_method(rb_cRubyString, "index", mr_str_index, -1);
+    rb_objc_define_method(rb_cRubyString, "+", mr_str_plus, 1);
+    rb_objc_define_method(rb_cRubyString, "<<", mr_str_concat, 1);
+    rb_objc_define_method(rb_cRubyString, "concat", mr_str_concat, 1);
+    rb_objc_define_method(rb_cRubyString, "==", mr_str_equal, 1);
+    rb_objc_define_method(rb_cRubyString, "!=", mr_str_not_equal, 1);
+    rb_objc_define_method(rb_cRubyString, "include?", mr_str_include, 1);
+    rb_objc_define_method(rb_cRubyString, "to_s", mr_str_to_s, 0);
+    rb_objc_define_method(rb_cRubyString, "to_str", mr_str_to_s, 0);
 
     // added for MacRuby
-    rb_objc_define_method(rb_cMRString, "chars_count", mr_str_chars_count, 0);
-    rb_objc_define_method(rb_cMRString, "getchar", mr_str_getchar, 1);
+    rb_objc_define_method(rb_cRubyString, "chars_count", mr_str_chars_count, 0);
+    rb_objc_define_method(rb_cRubyString, "getchar", mr_str_getchar, 1);
 
     // this method does not exist in Ruby and is there only for debugging purpose
-    rb_objc_define_method(rb_cMRString, "stored_in_uchars?", mr_str_is_stored_in_uchars, 0);
+    rb_objc_define_method(rb_cRubyString, "stored_in_uchars?", mr_str_is_stored_in_uchars, 0);
 }
-
-void Init_MREncoding(void);
-
-void
-Init_new_string(void)
-{
-    Init_MREncoding();
-    Init_MRString();
-}
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macruby-changes/attachments/20100215/d4a5a4ce/attachment-0001.html>


More information about the macruby-changes mailing list