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