ruby-changes:3506
From: ko1@a...
Date: Sun, 13 Jan 2008 15:35:37 +0900 (JST)
Subject: [ruby-changes:3506] naruse - Ruby:r14983 (trunk): * ext/nkf/nkf-utf8/nkf.c: update to r1.163.
naruse 2008-01-11 10:03:23 +0900 (Fri, 11 Jan 2008) New Revision: 14983 Modified files: trunk/ChangeLog trunk/ext/nkf/lib/kconv.rb trunk/ext/nkf/nkf-utf8/nkf.c trunk/ext/nkf/nkf.c Log: * ext/nkf/nkf-utf8/nkf.c: update to r1.163. * ext/nkf/nkf.c: ASCII's canonical name is US-ASCII. * ext/nkf/lib/kconv.rb (Kconv.isjis): force_encoding('BINARY'). http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=14983&r2=14982&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/nkf/lib/kconv.rb?r1=14983&r2=14982&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/nkf/nkf.c?r1=14983&r2=14982&diff_format=u http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ext/nkf/nkf-utf8/nkf.c?r1=14983&r2=14982&diff_format=u Index: ChangeLog =================================================================== --- ChangeLog (revision 14982) +++ ChangeLog (revision 14983) @@ -1,6 +1,14 @@ +Fri Jan 11 09:59:05 2008 NARUSE, Yui <naruse@r...> + + * ext/nkf/nkf-utf8/nkf.c: update to r1.163. + + * ext/nkf/nkf.c: ASCII's canonical name is US-ASCII. + + * ext/nkf/lib/kconv.rb (Kconv.isjis): force_encoding('BINARY'). + Fri Jan 11 09:23:31 2008 NARUSE, Yui <naruse@r...> - * encoding (set_base_encoding): must use rb_enc_dummy_p. + * encoding.c (set_base_encoding): must use rb_enc_dummy_p. Fri Jan 11 06:13:14 2008 Nobuyoshi Nakada <nobu@r...> Index: ext/nkf/nkf.c =================================================================== --- ext/nkf/nkf.c (revision 14982) +++ ext/nkf/nkf.c (revision 14983) @@ -484,7 +484,7 @@ rb_define_const(mNKF, "NOCONV", Qnil); rb_define_const(mNKF, "UNKNOWN", Qnil); rb_define_const(mNKF, "BINARY", rb_enc_from_encoding(rb_nkf_enc_get("BINARY"))); - rb_define_const(mNKF, "ASCII", rb_enc_from_encoding(rb_nkf_enc_get("ASCII"))); + rb_define_const(mNKF, "ASCII", rb_enc_from_encoding(rb_nkf_enc_get("US-ASCII"))); rb_define_const(mNKF, "JIS", rb_enc_from_encoding(rb_nkf_enc_get("ISO-2022-JP"))); rb_define_const(mNKF, "EUC", rb_enc_from_encoding(rb_nkf_enc_get("EUC-JP"))); rb_define_const(mNKF, "SJIS", rb_enc_from_encoding(rb_nkf_enc_get("Shift_JIS"))); Index: ext/nkf/nkf-utf8/nkf.c =================================================================== --- ext/nkf/nkf-utf8/nkf.c (revision 14982) +++ ext/nkf/nkf-utf8/nkf.c (revision 14983) @@ -32,10 +32,10 @@ ***********************************************************************/ /* $Id$ */ #define NKF_VERSION "2.0.8" -#define NKF_RELEASE_DATE "2007-01-02" +#define NKF_RELEASE_DATE "2008-01-11" #define COPY_RIGHT \ "Copyright (C) 1987, FUJITSU LTD. (I.Ichikawa),2000 S. Kono, COW\n" \ - "Copyright (C) 2002-2007 Kono, Furukawa, Naruse, mastodon" + "Copyright (C) 2002-2008 Kono, Furukawa, Naruse, mastodon" #include "config.h" #include "utf8tbl.h" @@ -188,22 +188,11 @@ */ -/* Input Assumption */ +/* MIME ENCODE */ -#define JIS_INPUT 4 -#define EUC_INPUT 16 -#define SJIS_INPUT 5 -#define LATIN1_INPUT 6 -#define UTF8_INPUT 13 -#define UTF16_INPUT 1015 -#define UTF32_INPUT 1017 - #define FIXED_MIME 7 #define STRICT_MIME 8 -/* MIME ENCODE */ - - /* byte order */ enum byte_order { ENDIAN_BIG = 1, @@ -266,6 +255,7 @@ UTF_32BE_BOM, UTF_32LE, UTF_32LE_BOM, + NKF_ENCODING_TABLE_SIZE, JIS_X_0201=0x1000, JIS_X_0208=0x1001, JIS_X_0212=0x1002, @@ -292,7 +282,7 @@ void (*oconv)(nkf_char c2, nkf_char c1); } nkf_native_encoding; -nkf_native_encoding NkfEncodingASCII = { "US_ASCII", e_iconv, e_oconv }; +nkf_native_encoding NkfEncodingASCII = { "ASCII", e_iconv, e_oconv }; nkf_native_encoding NkfEncodingISO_2022_JP = { "ISO-2022-JP", e_iconv, j_oconv }; nkf_native_encoding NkfEncodingShift_JIS = { "Shift_JIS", s_iconv, s_oconv }; nkf_native_encoding NkfEncodingEUC_JP = { "EUC-JP", e_iconv, e_oconv }; @@ -305,8 +295,9 @@ const char *name; const nkf_native_encoding *base_encoding; } nkf_encoding; + nkf_encoding nkf_encoding_table[] = { - {ASCII, "ASCII", &NkfEncodingASCII}, + {ASCII, "US-ASCII", &NkfEncodingASCII}, {ISO_8859_1, "ISO-8859-1", &NkfEncodingASCII}, {ISO_2022_JP, "ISO-2022-JP", &NkfEncodingISO_2022_JP}, {CP50220, "CP50220", &NkfEncodingISO_2022_JP}, @@ -342,14 +333,15 @@ {BINARY, "BINARY", &NkfEncodingASCII}, {-1, NULL, NULL} }; -#define NKF_ENCODING_TABLE_SIZE 34 + struct { const char *name; const int id; } encoding_name_to_id_table[] = { + {"US-ASCII", ASCII}, {"ASCII", ASCII}, {"ISO-2022-JP", ISO_2022_JP}, - {"X-ISO2022JP-CP932", CP50220}, + {"ISO2022JP-CP932", CP50220}, {"CP50220", CP50220}, {"CP50221", CP50221}, {"CP50222", CP50222}, @@ -928,6 +920,7 @@ static int nkf_enc_find_index(const char *name) { int i, index = -1; + if (*name == 'X' && *(name+1) == '-') name += 2; for (i = 0; encoding_name_to_id_table[i].id >= 0; i++) { if (strcmp(name, encoding_name_to_id_table[i].name) == 0) { return encoding_name_to_id_table[i].id; Index: ext/nkf/lib/kconv.rb =================================================================== --- ext/nkf/lib/kconv.rb (revision 14982) +++ ext/nkf/lib/kconv.rb (revision 14983) @@ -181,7 +181,7 @@ )* \x1b \x28 B [\t\n\r\x20-\x7E]* )* - \z/nox =~ str.dup.force_encoding(nil) ? true : false + \z/nox =~ str.dup.force_encoding('BINARY') ? true : false end module_function :isjis -- ML: ruby-changes@q... Info: