From 9b94a19c1e74e1538cffd2c31a1c9e7cd51cc33f Mon Sep 17 00:00:00 2001 From: nobu Date: Fri, 21 Dec 2007 11:00:04 +0000 Subject: * encoding.c (rb_enc_replicate): now creates first class encoding. * encoding.c (rb_define_dummy_encoding): always based on the default encoding. * encoding.c (rb_enc_dummy_p): check if dummy. * encoding.c (enc_inspect): shows if dummy. * encoding.c (Init_Encoding): added dummy? method * include/ruby/encoding.h (ENCODING_INLINE_MAX): increased. git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@14429 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- include/ruby/encoding.h | 16 +++++++++------- 1 file changed, 9 insertions(+), 7 deletions(-) (limited to 'include/ruby/encoding.h') diff --git a/include/ruby/encoding.h b/include/ruby/encoding.h index 4b238d3a5..46ecf2c17 100644 --- a/include/ruby/encoding.h +++ b/include/ruby/encoding.h @@ -15,20 +15,20 @@ #include "ruby/oniguruma.h" -#define ENCODING_INLINE_MAX 15 -#define ENCODING_MASK (FL_USER8|FL_USER9|FL_USER10|FL_USER11) -#define ENCODING_SHIFT (FL_USHIFT+8) +#define ENCODING_INLINE_MAX 1023 +#define ENCODING_SHIFT (FL_USHIFT+10) +#define ENCODING_MASK (ENCODING_INLINE_MAX<flags &= ~ENCODING_MASK;\ RBASIC(obj)->flags |= i << ENCODING_SHIFT;\ } while (0) #define ENCODING_GET(obj) ((RBASIC(obj)->flags & ENCODING_MASK)>>ENCODING_SHIFT) -#define ENC_CODERANGE_MASK (FL_USER12|FL_USER13) +#define ENC_CODERANGE_MASK (FL_USER8|FL_USER9) #define ENC_CODERANGE_UNKNOWN 0 -#define ENC_CODERANGE_7BIT FL_USER12 -#define ENC_CODERANGE_VALID FL_USER13 -#define ENC_CODERANGE_BROKEN (FL_USER12|FL_USER13) +#define ENC_CODERANGE_7BIT FL_USER8 +#define ENC_CODERANGE_VALID FL_USER9 +#define ENC_CODERANGE_BROKEN (FL_USER8|FL_USER9) #define ENC_CODERANGE(obj) (RBASIC(obj)->flags & ENC_CODERANGE_MASK) #define ENC_CODERANGE_ASCIIONLY(obj) (ENC_CODERANGE(obj) == ENC_CODERANGE_7BIT) #define ENC_CODERANGE_SET(obj,cr) (RBASIC(obj)->flags = \ @@ -39,6 +39,8 @@ typedef OnigEncodingType rb_encoding; int rb_enc_replicate(const char *, rb_encoding *); +int rb_define_dummy_encoding(const char *); +int rb_enc_dummy_p(rb_encoding *); int rb_enc_to_index(rb_encoding*); int rb_enc_get_index(VALUE obj); int rb_enc_find_index(const char *name); -- cgit