1
0
Fork 0
mirror of https://github.com/ruby/ruby.git synced 2022-11-09 12:17:21 -05:00

* 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.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@15016 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
This commit is contained in:
naruse 2008-01-13 02:51:15 +00:00
parent 00fb802284
commit 513d0ca7f6
7 changed files with 29 additions and 23 deletions

View file

@ -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> Sun Jan 13 10:21:40 2008 Nobuyoshi Nakada <nobu@ruby-lang.org>
* encoding.c (enc_table): packed all enc_table stuff. * encoding.c (enc_table): packed all enc_table stuff.

View file

@ -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 \ ascii.$(OBJEXT): {$(VPATH)}ascii.c {$(VPATH)}regenc.h {$(VPATH)}config.h \
{$(VPATH)}defines.h {$(VPATH)}oniguruma.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 \ unicode.$(OBJEXT): {$(VPATH)}unicode.c {$(VPATH)}regint.h \
{$(VPATH)}config.h {$(VPATH)}defines.h {$(VPATH)}regenc.h \ {$(VPATH)}config.h {$(VPATH)}defines.h {$(VPATH)}regenc.h \
{$(VPATH)}oniguruma.h {$(VPATH)}st.h {$(VPATH)}oniguruma.h {$(VPATH)}st.h

View file

@ -15,7 +15,6 @@ DLEXT = @DLEXT@
OBJEXT = @OBJEXT@ OBJEXT = @OBJEXT@
BUILTIN_ENCS = ascii.c \ BUILTIN_ENCS = ascii.c \
euc_jp.c shift_jis.c \
unicode.c utf8.c unicode.c utf8.c
RUBY_SO_NAME = @RUBY_SO_NAME@ RUBY_SO_NAME = @RUBY_SO_NAME@

View file

@ -29,6 +29,8 @@
#include "regint.h" #include "regint.h"
OnigEncodingDeclare(EUC_JP);
#define eucjp_islead(c) ((UChar )((c) - 0xa1) > 0xfe - 0xa1) #define eucjp_islead(c) ((UChar )((c) - 0xa1) > 0xfe - 0xa1)
static const int EncLen_EUCJP[] = { static const int EncLen_EUCJP[] = {
@ -137,7 +139,7 @@ mbc_to_code(const UChar* p, const UChar* end, OnigEncoding enc)
int c, i, len; int c, i, len;
OnigCodePoint n; OnigCodePoint n;
len = enclen(ONIG_ENCODING_EUC_JP, p, end); len = enclen(&encoding_EUC_JP, p, end);
n = (OnigCodePoint )*p++; n = (OnigCodePoint )*p++;
if (len == 1) return n; if (len == 1) return n;
@ -189,7 +191,7 @@ code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc)
*p++ = (UChar )(code & 0xff); *p++ = (UChar )(code & 0xff);
#if 1 #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; return ONIGERR_INVALID_CODE_POINT_VALUE;
#endif #endif
return p - buf; return p - buf;
@ -211,7 +213,7 @@ mbc_case_fold(OnigCaseFoldType flag,
else { else {
int i; int i;
len = enclen(ONIG_ENCODING_EUC_JP, p, end); len = enclen(&encoding_EUC_JP, p, end);
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
*lower++ = *p++; *lower++ = *p++;
} }
@ -233,7 +235,7 @@ left_adjust_char_head(const UChar* start, const UChar* s, OnigEncoding enc)
p = s; p = s;
while (!eucjp_islead(*p) && p > start) p--; 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; if (p + len > s) return (UChar* )p;
p += len; p += len;
return (UChar* )(p + ((s - p) & ~1)); return (UChar* )(p + ((s - p) & ~1));

View file

@ -29,6 +29,8 @@
#include "regint.h" #include "regint.h"
OnigEncodingDeclare(Shift_JIS);
static const int EncLen_SJIS[] = { 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,
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; int c, i, len;
OnigCodePoint n; OnigCodePoint n;
len = enclen(ONIG_ENCODING_SJIS, p, end); len = enclen(&encoding_Shift_JIS, p, end);
c = *p++; c = *p++;
n = c; n = c;
if (len == 1) return n; if (len == 1) return n;
@ -172,7 +174,7 @@ code_to_mbc(OnigCodePoint code, UChar *buf, OnigEncoding enc)
*p++ = (UChar )(code & 0xff); *p++ = (UChar )(code & 0xff);
#if 0 #if 0
if (enclen(ONIG_ENCODING_SJIS, buf) != (p - buf)) if (enclen(&encoding_Shift_JIS, buf) != (p - buf))
return REGERR_INVALID_CODE_POINT_VALUE; return REGERR_INVALID_CODE_POINT_VALUE;
#endif #endif
return p - buf; return p - buf;
@ -192,7 +194,7 @@ mbc_case_fold(OnigCaseFoldType flag,
} }
else { else {
int i; int i;
int len = enclen(ONIG_ENCODING_SJIS, p, end); int len = enclen(&encoding_Shift_JIS, p, end);
for (i = 0; i < len; i++) { for (i = 0; i < len; i++) {
*lower++ = *p++; *lower++ = *p++;
@ -207,7 +209,7 @@ static int
is_mbc_ambiguous(OnigCaseFoldType flag, is_mbc_ambiguous(OnigCaseFoldType flag,
const UChar** pp, const UChar* end) 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 #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; if (p + len > s) return (UChar* )p;
p += len; p += len;
return (UChar* )(p + ((s - p) & ~1)); 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, mbc_enc_len,
"Shift_JIS", /* name */ "Shift_JIS", /* name */
2, /* max byte length */ 2, /* max byte length */

View file

@ -297,8 +297,6 @@ rb_enc_alias(const char *alias, const char *orig)
enum { enum {
ENCINDEX_ASCII, ENCINDEX_ASCII,
ENCINDEX_EUC_JP,
ENCINDEX_SJIS,
ENCINDEX_UTF8, ENCINDEX_UTF8,
ENCINDEX_BUILTIN_MAX ENCINDEX_BUILTIN_MAX
}; };
@ -309,8 +307,6 @@ rb_enc_init(void)
enc_table.count = enc_table_expand(ENCINDEX_BUILTIN_MAX); 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) #define ENC_REGISTER(enc) enc_register_at(ENCINDEX_##enc, rb_enc_name(ONIG_ENCODING_##enc), ONIG_ENCODING_##enc)
ENC_REGISTER(ASCII); ENC_REGISTER(ASCII);
ENC_REGISTER(EUC_JP);
ENC_REGISTER(SJIS);
ENC_REGISTER(UTF8); ENC_REGISTER(UTF8);
#undef ENC_REGISTER #undef ENC_REGISTER
} }

4
ruby.c
View file

@ -709,11 +709,11 @@ proc_options(int argc, char **argv, struct cmdline_options *opt)
rb_encoding *enc = 0; rb_encoding *enc = 0;
switch (*s) { switch (*s) {
case 'E': case 'e': case 'E': case 'e':
enc = ONIG_ENCODING_EUC_JP; enc = enc = rb_enc_find("EUC-JP");
break; break;
case 'S': case 's': case 'S': case 's':
enc = rb_enc_find("Windows-31J"); enc = rb_enc_find("Windows-31J");
if (!enc) enc = ONIG_ENCODING_SJIS; if (!enc) enc = rb_enc_find("Shift_JIS");
break; break;
case 'U': case 'u': case 'U': case 'u':
enc = ONIG_ENCODING_UTF8; enc = ONIG_ENCODING_UTF8;