diff options
-rw-r--r-- | ChangeLog | 6 | ||||
-rw-r--r-- | dmyencoding.c | 1 | ||||
-rw-r--r-- | encoding.c | 11 | ||||
-rw-r--r-- | internal.h | 15 |
4 files changed, 24 insertions, 9 deletions
@@ -1,3 +1,9 @@ +Tue Jul 2 17:22:12 2013 Nobuyoshi Nakada <nobu@ruby-lang.org> + + * 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 <sorah@cookpad.com> Tue Jul 2 11:14:36 2013 Shota Fukumori <sorah@cookpad.com> 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 */ |