[前][次][番号順一覧][スレッド一覧]

ruby-changes:2536

From: ko1@a...
Date: 27 Nov 2007 11:21:50 +0900
Subject: [ruby-changes:2536] akr - Ruby:r14027 (trunk): * include/ruby/encoding.h, encoding.c, re.c, string.c, parse.y:

akr	2007-11-27 11:21:17 +0900 (Tue, 27 Nov 2007)

  New Revision: 14027

  Modified files:
    trunk/ChangeLog
    trunk/encoding.c
    trunk/include/ruby/encoding.h
    trunk/parse.y
    trunk/re.c
    trunk/string.c

  Log:
    * include/ruby/encoding.h, encoding.c, re.c, string.c, parse.y: 
      rename ENC_CODERANGE_SINGLE to ENC_CODERANGE_7BIT.
      rename ENC_CODERANGE_MULTI to ENC_CODERANGE_8BIT.
      Because single byte 8bit character, such as Shift_JIS 1byte katakana,
      is represented by ENC_CODERANGE_MULTI even if it is not multi byte.


  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/string.c?r1=14027&r2=14026
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/parse.y?r1=14027&r2=14026
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14027&r2=14026
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/include/ruby/encoding.h?r1=14027&r2=14026
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/re.c?r1=14027&r2=14026
  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/encoding.c?r1=14027&r2=14026

Index: encoding.c
===================================================================
--- encoding.c	(revision 14026)
+++ encoding.c	(revision 14027)
@@ -407,12 +407,12 @@
 	    cr2 = rb_enc_str_coderange(str2);
 	    if (cr1 != cr2) {
 		/* may need to handle ENC_CODERANGE_BROKEN */
-		if (cr1 == ENC_CODERANGE_SINGLE) return rb_enc_from_index(idx2);
-		if (cr2 == ENC_CODERANGE_SINGLE) return rb_enc_from_index(idx1);
+		if (cr1 == ENC_CODERANGE_7BIT) return rb_enc_from_index(idx2);
+		if (cr2 == ENC_CODERANGE_7BIT) return rb_enc_from_index(idx1);
 	    }
-	    if (cr1 == ENC_CODERANGE_SINGLE) return rb_enc_from_index(0);
+	    if (cr1 == ENC_CODERANGE_7BIT) return rb_enc_from_index(0);
 	}
-	if (cr1 == ENC_CODERANGE_SINGLE &&
+	if (cr1 == ENC_CODERANGE_7BIT &&
 	    rb_enc_asciicompat(enc = rb_enc_from_index(idx2)))
 	    return enc;
     }
Index: include/ruby/encoding.h
===================================================================
--- include/ruby/encoding.h	(revision 14026)
+++ include/ruby/encoding.h	(revision 14027)
@@ -26,11 +26,11 @@
 
 #define ENC_CODERANGE_MASK	(FL_USER12|FL_USER13)
 #define ENC_CODERANGE_UNKNOWN	0
-#define ENC_CODERANGE_SINGLE	FL_USER12
-#define ENC_CODERANGE_MULTI	FL_USER13
+#define ENC_CODERANGE_7BIT	FL_USER12
+#define ENC_CODERANGE_8BIT	FL_USER13
 #define ENC_CODERANGE_BROKEN	(FL_USER12|FL_USER13)
 #define ENC_CODERANGE(obj) (RBASIC(obj)->flags & ENC_CODERANGE_MASK)
-#define ENC_CODERANGE_ASCIIONLY(obj) (ENC_CODERANGE(obj) == ENC_CODERANGE_SINGLE)
+#define ENC_CODERANGE_ASCIIONLY(obj) (ENC_CODERANGE(obj) == ENC_CODERANGE_7BIT)
 #define ENC_CODERANGE_SET(obj,cr) (RBASIC(obj)->flags = \
 				   (RBASIC(obj)->flags & ~ENC_CODERANGE_MASK) | (cr))
 #define ENC_CODERANGE_CLEAR(obj) ENC_CODERANGE_SET(obj,0)
Index: re.c
===================================================================
--- re.c	(revision 14026)
+++ re.c	(revision 14027)
@@ -725,7 +725,7 @@
     /* ignorecase status */
     if (rb_reg_fixed_encoding_p(re)) {
         if (ENCODING_GET(re) != rb_enc_get_index(str) &&
-            rb_enc_str_coderange(str) != ENC_CODERANGE_SINGLE) {
+            rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT) {
             rb_raise(rb_eArgError, "character encodings differ");
         }
     }
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 14026)
+++ ChangeLog	(revision 14027)
@@ -1,3 +1,11 @@
+Tue Nov 27 11:14:57 2007  Tanaka Akira  <akr@f...>
+
+	* include/ruby/encoding.h, encoding.c, re.c, string.c, parse.y: 
+	  rename ENC_CODERANGE_SINGLE to ENC_CODERANGE_7BIT.
+	  rename ENC_CODERANGE_MULTI to ENC_CODERANGE_8BIT.
+	  Because single byte 8bit character, such as Shift_JIS 1byte katakana,
+	  is represented by ENC_CODERANGE_MULTI even if it is not multi byte.
+
 Tue Nov 27 10:45:45 2007  Koichi Sasada  <ko1@a...>
 
 	* eval.c (rb_method_missing): fix stack trace.
Index: string.c
===================================================================
--- string.c	(revision 14026)
+++ string.c	(revision 14027)
@@ -92,7 +92,7 @@
     }\
 } while (0)
 
-#define is_ascii_string(str) (rb_enc_str_coderange(str) == ENC_CODERANGE_SINGLE)
+#define is_ascii_string(str) (rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT)
 
 VALUE rb_fs;
 
@@ -105,7 +105,7 @@
 	rb_encoding *enc = rb_enc_get(str);
 
 	if (!rb_enc_asciicompat(enc)) {
-	    cr = ENC_CODERANGE_MULTI;
+	    cr = ENC_CODERANGE_8BIT;
 	    ENC_CODERANGE_SET(str, cr);
 	    return cr;
 	}
@@ -113,12 +113,12 @@
 	    const char *p = RSTRING_PTR(str);
 	    const char *e = p + RSTRING_LEN(str);
 
-	    cr = ENC_CODERANGE_SINGLE;
+	    cr = ENC_CODERANGE_7BIT;
 	    while (p < e) {
 		int c = (unsigned char)*p;
 
 		if (!isascii(c)) {
-		    cr = ENC_CODERANGE_MULTI;
+		    cr = ENC_CODERANGE_8BIT;
 		    break;
 		}
 		p++;
@@ -134,7 +134,7 @@
     rb_encoding *enc = rb_enc_get(str);
 
     if (rb_enc_asciicompat(enc) &&
-        rb_enc_str_coderange(str) == ENC_CODERANGE_SINGLE) {
+        rb_enc_str_coderange(str) == ENC_CODERANGE_7BIT) {
         char *ptr = RSTRING_PTR(str);
         long len = RSTRING_LEN(str);
         long i;
Index: parse.y
===================================================================
--- parse.y	(revision 14026)
+++ parse.y	(revision 14027)
@@ -271,7 +271,7 @@
 #define STR_NEW2(p) rb_enc_str_new((p),strlen(p),parser->enc)
 #define STR_NEW3(p,n,e,has8,hasmb) parser_str_new2((p),(n),(e),(has8),(hasmb))
 #define STR_ENC(m) ((m)?parser->enc:rb_enc_from_index(0))
-#define ENC_SINGLE(cr) ((cr)==ENC_CODERANGE_SINGLE)
+#define ENC_SINGLE(cr) ((cr)==ENC_CODERANGE_7BIT)
 #define TOK_INTERN(mb) rb_intern3(tok(), toklen(), STR_ENC(mb))
 
 #ifdef YYMALLOC
@@ -4835,8 +4835,8 @@
      * Set coderange bit flags based on the presence of 8-bit and 
      * multi-byte characters in the string
      */
-    int coderange = ENC_CODERANGE_SINGLE;
-    if (hasmb) coderange = ENC_CODERANGE_MULTI;
+    int coderange = ENC_CODERANGE_7BIT;
+    if (hasmb) coderange = ENC_CODERANGE_8BIT;
     else if (has8bit) coderange = ENC_CODERANGE_UNKNOWN;
 
     /*
@@ -4845,7 +4845,7 @@
      * string is in the ASCII subset, and we just use the ASCII encoding
      * instead.
      */
-    if ((coderange == ENC_CODERANGE_SINGLE) && rb_enc_asciicompat(enc))
+    if ((coderange == ENC_CODERANGE_7BIT) && rb_enc_asciicompat(enc))
 	enc = rb_enc_default();
 
     return parser_str_new(p, n, enc, coderange);
@@ -5676,7 +5676,7 @@
 	} while (!whole_match_p(eos, len, indent));
     }
     else {
-	/*	int mb = ENC_CODERANGE_SINGLE, *mbp = &mb;*/
+	/*	int mb = ENC_CODERANGE_7BIT, *mbp = &mb;*/
         int has8bit=0, hasmb=0;
 	rb_encoding *enc = parser->enc;
 	newtok();
@@ -7100,7 +7100,7 @@
 	break;
     }
 
-    mb = ENC_CODERANGE_SINGLE;
+    mb = ENC_CODERANGE_7BIT;
     do {
 	if (!ISASCII(c)) mb = ENC_CODERANGE_UNKNOWN;
 	tokadd_mbchar(c);
@@ -7155,7 +7155,7 @@
 		}
 	    }
 
-	    if (mb == ENC_CODERANGE_SINGLE && lex_state != EXPR_DOT) {
+	    if (mb == ENC_CODERANGE_7BIT && lex_state != EXPR_DOT) {
 		const struct kwtable *kw;
 
 		/* See if it is a reserved word.  */
@@ -8466,7 +8466,7 @@
 	int opt, idx;
 	rb_char_to_option_kcode(c, &opt, &idx);
 	if (idx != ENCODING_GET(str) && ENCODING_GET(str) &&
-	    rb_enc_str_coderange(str) != ENC_CODERANGE_SINGLE) {
+	    rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT) {
 	    compile_error(PARSER_ARG
 			  "regexp encoding option '%c' differs from source encoding '%s'",
 			  c, rb_enc_name(rb_enc_get(str)));
@@ -8919,7 +8919,7 @@
     int idx = 0;
     ID id;
 
-    if (rb_enc_str_coderange(str) != ENC_CODERANGE_SINGLE) {
+    if (rb_enc_str_coderange(str) != ENC_CODERANGE_7BIT) {
 	idx = rb_enc_get_index(str);
     }
     id = rb_intern3(RSTRING_PTR(str), RSTRING_LEN(str),

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml

[前][次][番号順一覧][スレッド一覧]