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

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: 

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