From 263ce88f9f2f713273e628bcef64e5f13cdbc2ff Mon Sep 17 00:00:00 2001 From: nobu Date: Tue, 2 Jul 2013 08:22:15 +0000 Subject: encoding.c: preserved encindex * encoding.c (rb_enc_init): register preserved indexes. * internal.h (ruby_preserved_encindex): move from encoding.c. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@41738 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 6 ++++++ dmyencoding.c | 1 + encoding.c | 11 ++++------- internal.h | 15 +++++++++++++-- 4 files changed, 24 insertions(+), 9 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6f138c4abc..8a60d2ee99 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +Tue Jul 2 17:22:12 2013 Nobuyoshi Nakada + + * encoding.c (rb_enc_init): register preserved indexes. + + * internal.h (ruby_preserved_encindex): move from encoding.c. + Tue Jul 2 11:14:36 2013 Shota Fukumori Tue Jul 2 11:14:36 2013 Shota Fukumori diff --git a/dmyencoding.c b/dmyencoding.c index 1bd1106e69..99a727eb62 100644 --- a/dmyencoding.c +++ b/dmyencoding.c @@ -1,2 +1,3 @@ #define NO_LOCALE_CHARMAP 1 +#define NO_PRESERVED_ENCODING 1 #include "encoding.c" diff --git a/encoding.c b/encoding.c index 1e875018e4..cc6ce0768a 100644 --- a/encoding.c +++ b/encoding.c @@ -519,13 +519,6 @@ rb_encdb_set_unicode(int index) rb_enc_from_index(index)->flags |= ONIGENC_FLAG_UNICODE; } -enum { - ENCINDEX_ASCII, - ENCINDEX_UTF_8, - ENCINDEX_US_ASCII, - ENCINDEX_BUILTIN_MAX -}; - extern rb_encoding OnigEncodingUTF_8; extern rb_encoding OnigEncodingUS_ASCII; @@ -541,6 +534,10 @@ rb_enc_init(void) ENC_REGISTER(UTF_8); ENC_REGISTER(US_ASCII); #undef ENC_REGISTER +#ifndef NO_PRESERVED_ENCODING +#define ENCDB_REGISTER(name, enc) enc_register_at(ENCINDEX_##enc, name, NULL) +#undef ENCDB_REGISTER +#endif enc_table.count = ENCINDEX_BUILTIN_MAX; } diff --git a/internal.h b/internal.h index 9f49260d6c..cd7117c518 100644 --- a/internal.h +++ b/internal.h @@ -196,9 +196,20 @@ PRINTF_ARGS(void ruby_debug_printf(const char*, ...), 1, 2); void Init_ext(void); /* encoding.c */ -ID rb_id_encoding(void); +#ifdef RUBY_ENCODING_H +enum ruby_preserved_encindex { + ENCINDEX_ASCII, + ENCINDEX_UTF_8, + ENCINDEX_US_ASCII, -/* encoding.c */ +#ifndef NO_PRESERVED_ENCODING + /* preserved indexes */ +#endif + + ENCINDEX_BUILTIN_MAX +}; +#endif +ID rb_id_encoding(void); void rb_gc_mark_encodings(void); /* error.c */ -- cgit v1.2.3