ruby-changes:2255
From: ko1@a...
Date: 21 Oct 2007 18:29:34 +0900
Subject: [ruby-changes:2255] nobu - Ruby:r13746 (trunk): * encoding.c (rb_enc_default, rb_enc_primary): return pointers to
nobu 2007-10-21 18:29:19 +0900 (Sun, 21 Oct 2007) New Revision: 13746 Modified files: trunk/ChangeLog trunk/encoding.c trunk/include/ruby/encoding.h trunk/version.h Log: * encoding.c (rb_enc_default, rb_enc_primary): return pointers to rb_encoding of default and primary respectively. [ruby-core:12795] * encoding.c (set_primary_encoding): removed primary_encoding setter. http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/version.h?r1=13746&r2=13745 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/ChangeLog?r1=13746&r2=13745 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/include/ruby/encoding.h?r1=13746&r2=13745 http://svn.ruby-lang.org/cgi-bin/viewvc.cgi/trunk/encoding.c?r1=13746&r2=13745 Index: encoding.c =================================================================== --- encoding.c (revision 13745) +++ encoding.c (revision 13746) @@ -48,6 +48,7 @@ rb_enc_from_encoding(rb_encoding *encoding) { VALUE enc; + if (!encoding) return 0; if (enc_initialized_p(encoding)) return ENC_FROM_ENCODING(encoding); enc = enc_new(encoding); @@ -524,12 +525,27 @@ return enc_find(klass, str); } -static VALUE rb_primary_encoding; +static int primary_encoding_index; +rb_encoding * +rb_enc_default(void) +{ + if (!enc_table) { + rb_enc_init(); + } + return enc_table[0].enc; +} + +rb_encoding * +rb_enc_primary(void) +{ + return rb_enc_from_index(primary_encoding_index); +} + VALUE rb_get_primary_encoding(void) { - return rb_primary_encoding; + return rb_enc_from_encoding(rb_enc_primary()); } static VALUE @@ -542,16 +558,9 @@ rb_set_primary_encoding(VALUE encoding) { rb_to_encoding(encoding); - rb_primary_encoding = encoding; + primary_encoding_index = ENCODING_GET(encoding); } -static VALUE -set_primary_encoding(VALUE klass, VALUE enc) -{ - rb_set_primary_encoding(enc); - return rb_primary_encoding; -} - static void set_encoding_const(const char *name, rb_encoding *enc) { @@ -616,9 +625,7 @@ rb_define_method(rb_cEncoding, "_dump", enc_dump, -1); rb_define_singleton_method(rb_cEncoding, "_load", enc_load, 1); - rb_primary_encoding = rb_enc_from_encoding(rb_enc_from_index(0)); rb_define_singleton_method(rb_cEncoding, "primary_encoding", get_primary_encoding, 0); - rb_define_singleton_method(rb_cEncoding, "primary_encoding=", set_primary_encoding, 1); for (i = 0; i < enc_table_size; ++i) { rb_encoding *enc = enc_table[i].enc; Index: include/ruby/encoding.h =================================================================== --- include/ruby/encoding.h (revision 13745) +++ include/ruby/encoding.h (revision 13746) @@ -100,6 +100,8 @@ int rb_enc_symname_p(const char*, rb_encoding*); int rb_enc_str_coderange(VALUE); VALUE rb_enc_from_encoding(rb_encoding *enc); +rb_encoding *rb_enc_primary(void); +rb_encoding *rb_enc_default(void); VALUE rb_get_primary_encoding(void); void rb_set_primary_encoding(VALUE encoding); Index: ChangeLog =================================================================== --- ChangeLog (revision 13745) +++ ChangeLog (revision 13746) @@ -1,3 +1,10 @@ +Sun Oct 21 18:29:17 2007 Nobuyoshi Nakada <nobu@r...> + + * encoding.c (rb_enc_default, rb_enc_primary): return pointers to + rb_encoding of default and primary respectively. [ruby-core:12795] + + * encoding.c (set_primary_encoding): removed primary_encoding setter. + Sat Oct 20 11:49:20 2007 Nobuyoshi Nakada <nobu@r...> * file.c (rb_get_path): returns frozen string. Index: version.h =================================================================== --- version.h (revision 13745) +++ version.h (revision 13746) @@ -1,7 +1,7 @@ #define RUBY_VERSION "1.9.0" -#define RUBY_RELEASE_DATE "2007-10-20" +#define RUBY_RELEASE_DATE "2007-10-21" #define RUBY_VERSION_CODE 190 -#define RUBY_RELEASE_CODE 20071020 +#define RUBY_RELEASE_CODE 20071021 #define RUBY_PATCHLEVEL 0 #define RUBY_VERSION_MAJOR 1 @@ -9,7 +9,7 @@ #define RUBY_VERSION_TEENY 0 #define RUBY_RELEASE_YEAR 2007 #define RUBY_RELEASE_MONTH 10 -#define RUBY_RELEASE_DAY 20 +#define RUBY_RELEASE_DAY 21 #ifdef RUBY_EXTERN RUBY_EXTERN const char ruby_version[]; -- ML: ruby-changes@q... Info: http://www.atdot.net/~ko1/quickml