summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--ChangeLog13
-rw-r--r--common.mk6
-rw-r--r--enc/Makefile.in1
-rw-r--r--enc/euc_jp.c10
-rw-r--r--enc/shift_jis.c14
-rw-r--r--encoding.c4
-rw-r--r--ruby.c4
7 files changed, 29 insertions, 23 deletions
diff --git a/ChangeLog b/ChangeLog
index be36f2df86..9ff3c430e9 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,16 @@
+Sun Jan 13 11:41:11 2008 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * encoding.c (ENCINDEX_EUC_JP, ENCINDEX_SJIS): removed.
+ (rb_enc_init): EUC-JP and Shift_JIS are not builtin now.
+
+ * enc/Makefile.in: ditto.
+
+ * common.mk: ditto.
+
+ * ruby.c (proc_options): ditto.
+
+ * enc/shift_jis.c, enc/euc_jp.c: fixes for romove from builtin.
+
Sun Jan 13 10:21:40 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* encoding.c (enc_table): packed all enc_table stuff.
diff --git a/common.mk b/common.mk
index 9ab8b5e6a4..9879c47b42 100644
--- a/common.mk
+++ b/common.mk
@@ -664,12 +664,6 @@ goruby.$(OBJEXT): {$(VPATH)}goruby.c {$(VPATH)}main.c {$(VPATH)}ruby.h \
ascii.$(OBJEXT): {$(VPATH)}ascii.c {$(VPATH)}regenc.h {$(VPATH)}config.h \
{$(VPATH)}defines.h {$(VPATH)}oniguruma.h
-euc_jp.$(OBJEXT): {$(VPATH)}euc_jp.c {$(VPATH)}regint.h \
- {$(VPATH)}config.h {$(VPATH)}defines.h {$(VPATH)}regenc.h \
- {$(VPATH)}oniguruma.h {$(VPATH)}st.h
-shift_jis.$(OBJEXT): {$(VPATH)}shift_jis.c {$(VPATH)}regint.h {$(VPATH)}config.h \
- {$(VPATH)}defines.h {$(VPATH)}regenc.h {$(VPATH)}oniguruma.h \
- {$(VPATH)}st.h
unicode.$(OBJEXT): {$(VPATH)}unicode.c {$(VPATH)}regint.h \
{$(VPATH)}config.h {$(VPATH)}defines.h {$(VPATH)}regenc.h \
{$(VPATH)}oniguruma.h {$(VPATH)}st.h
diff --git a/enc/Makefile.in b/enc/Makefile.in
index 694803427f..f33a75d3d2 100644
--- a/enc/Makefile.in
+++ b/enc/Makefile.in
@@ -15,7 +15,6 @@ DLEXT = @DLEXT@
OBJEXT = @OBJEXT@
BUILTIN_ENCS = ascii.c \
- euc_jp.c shift_jis.c \
unicode.c utf8.c
RUBY_SO_NAME = @RUBY_SO_NAME@
diff --git a/enc/euc_jp.c b/enc/euc_jp.c
index 7040185558..f62627ed84 100644
--- a/enc/euc_jp.c
+++ b/enc/euc_jp.c
@@ -29,6 +29,8 @@
#include "regint.h"
+OnigEncodingDeclare(EUC_JP);
+
#define eucjp_islead(c) ((UChar )((c) - 0xa1) > 0xfe - 0xa1)
static const int EncLen_EUCJP[] = {
@@ -137,7 +139,7 @@ mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc)
int c, i, len;
OnigCodePoint n;
- len = enclen(ONIG_ENCODING_EUC_JP, p, end);
+ len = enclen(&encoding_EUC_JP, p, end);
n = (OnigCodePoint )*p++;
if (len == 1) return n;
@@ -189,7 +191,7 @@ code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc)
*p++ = (UChar )(code & 0xff);
#if 1
- if (enclen(ONIG_ENCODING_EUC_JP, buf, p) != (p - buf))
+ if (enclen(&encoding_EUC_JP, buf, p) != (p - buf))
return ONIGERR_INVALID_CODE_POINT_VALUE;
#endif
return p - buf;
@@ -211,7 +213,7 @@ mbc_case_fold(OnigCaseFoldType flag,
else {
int i;
- len = enclen(ONIG_ENCODING_EUC_JP, p, end);
+ len = enclen(&encoding_EUC_JP, p, end);
for (i = 0; i < len; i++) {
*lower++ = *p++;
}
@@ -233,7 +235,7 @@ left_adjust_char_head(const UChar* start, const UChar* s, OnigEncoding enc)
p = s;
while (!eucjp_islead(*p) && p > start) p--;
- len = enclen(ONIG_ENCODING_EUC_JP, p, s);
+ len = enclen(&encoding_EUC_JP, p, s);
if (p + len > s) return (UChar* )p;
p += len;
return (UChar* )(p + ((s - p) & ~1));
diff --git a/enc/shift_jis.c b/enc/shift_jis.c
index dcf05bf86f..977f2f2cce 100644
--- a/enc/shift_jis.c
+++ b/enc/shift_jis.c
@@ -29,6 +29,8 @@
#include "regint.h"
+OnigEncodingDeclare(Shift_JIS);
+
static const int EncLen_SJIS[] = {
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1,
@@ -150,7 +152,7 @@ mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc)
int c, i, len;
OnigCodePoint n;
- len = enclen(ONIG_ENCODING_SJIS, p, end);
+ len = enclen(&encoding_Shift_JIS, p, end);
c = *p++;
n = c;
if (len == 1) return n;
@@ -172,7 +174,7 @@ code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc)
*p++ = (UChar )(code & 0xff);
#if 0
- if (enclen(ONIG_ENCODING_SJIS, buf) != (p - buf))
+ if (enclen(&encoding_Shift_JIS, buf) != (p - buf))
return REGERR_INVALID_CODE_POINT_VALUE;
#endif
return p - buf;
@@ -192,7 +194,7 @@ mbc_case_fold(OnigCaseFoldType flag,
}
else {
int i;
- int len = enclen(ONIG_ENCODING_SJIS, p, end);
+ int len = enclen(&encoding_Shift_JIS, p, end);
for (i = 0; i < len; i++) {
*lower++ = *p++;
@@ -207,7 +209,7 @@ static int
is_mbc_ambiguous(OnigCaseFoldType flag,
const UChar** pp, const UChar* end)
{
- return onigenc_mbn_is_mbc_ambiguous(ONIG_ENCODING_SJIS, flag, pp, end);
+ return onigenc_mbn_is_mbc_ambiguous(&encoding_Shift_JIS, flag, pp, end);
}
#endif
@@ -245,7 +247,7 @@ left_adjust_char_head(const UChar* start, const UChar* s, OnigEncoding enc)
}
}
}
- len = enclen(ONIG_ENCODING_SJIS, p, s);
+ len = enclen(&encoding_Shift_JIS, p, s);
if (p + len > s) return (UChar* )p;
p += len;
return (UChar* )(p + ((s - p) & ~1));
@@ -351,7 +353,7 @@ get_ctype_code_range(OnigCtype ctype, OnigCodePoint* sb_out,
}
}
-OnigEncodingDefine(sjis, SJIS) = {
+OnigEncodingDefine(shift_jis, Shift_JIS) = {
mbc_enc_len,
"Shift_JIS", /* name */
2, /* max byte length */
diff --git a/encoding.c b/encoding.c
index c201213da8..62a4c87e22 100644
--- a/encoding.c
+++ b/encoding.c
@@ -297,8 +297,6 @@ rb_enc_alias(const char *alias, const char *orig)
enum {
ENCINDEX_ASCII,
- ENCINDEX_EUC_JP,
- ENCINDEX_SJIS,
ENCINDEX_UTF8,
ENCINDEX_BUILTIN_MAX
};
@@ -309,8 +307,6 @@ rb_enc_init(void)
enc_table.count = enc_table_expand(ENCINDEX_BUILTIN_MAX);
#define ENC_REGISTER(enc) enc_register_at(ENCINDEX_##enc, rb_enc_name(ONIG_ENCODING_##enc), ONIG_ENCODING_##enc)
ENC_REGISTER(ASCII);
- ENC_REGISTER(EUC_JP);
- ENC_REGISTER(SJIS);
ENC_REGISTER(UTF8);
#undef ENC_REGISTER
}
diff --git a/ruby.c b/ruby.c
index 5bb0065fec..66685a27f9 100644
--- a/ruby.c
+++ b/ruby.c
@@ -709,11 +709,11 @@ proc_options(int argc, char **argv, struct cmdline_options *opt)
rb_encoding *enc = 0;
switch (*s) {
case 'E': case 'e':
- enc = ONIG_ENCODING_EUC_JP;
+ enc = enc = rb_enc_find("EUC-JP");
break;
case 'S': case 's':
enc = rb_enc_find("Windows-31J");
- if (!enc) enc = ONIG_ENCODING_SJIS;
+ if (!enc) enc = rb_enc_find("Shift_JIS");
break;
case 'U': case 'u':
enc = ONIG_ENCODING_UTF8;