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