[前][次][番号順一覧][スレッド一覧]

ruby-changes:9128

From: yugui <ko1@a...>
Date: Fri, 12 Dec 2008 19:40:17 +0900 (JST)
Subject: [ruby-changes:9128] Ruby:r20665 (trunk): * encoding.c (rb_enc_set_default_external): default_internal can be

yugui	2008-12-12 19:35:39 +0900 (Fri, 12 Dec 2008)

  New Revision: 20665

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=20665

  Log:
    * encoding.c (rb_enc_set_default_external): default_internal can be
      nil, but default_external cannot.
    
    * encoding.c (rb_set_default_internal): adds rdoc.
    
    * encoding.c (enc_find): ditto.

  Modified files:
    trunk/ChangeLog
    trunk/encoding.c

Index: encoding.c
===================================================================
--- encoding.c	(revision 20664)
+++ encoding.c	(revision 20665)
@@ -905,6 +905,9 @@
  *   Encoding.find("US-ASCII")  => #<Encoding:US-ASCII>
  *   Encoding.find(:Shift_JIS)  => #<Encoding:Shift_JIS>
  *
+ * An ArgumentError is raised when no encoding with <i>name</i>.
+ * Only +Encoding.find("internal")+ however returns nil when no encoding named "internal",
+ * in other words, when Ruby has no default internal encoding.
  */
 static VALUE
 enc_find(VALUE klass, VALUE enc)
@@ -1102,6 +1105,9 @@
 void
 rb_enc_set_default_external(VALUE encoding)
 {
+    if (NIL_P(encoding)) {
+        rb_raise(rb_eArgError, "default external can not be nil");
+    }
     enc_set_default_encoding(&default_external, encoding,
 			     "external", ENCINDEX_US_ASCII);
 }
@@ -1161,9 +1167,10 @@
 
 /*
  * call-seq:
- *   Encoding.default_internal = enc
+ *   Encoding.default_internal = enc or nil
  *
  * Sets default internal encoding.
+ * Or removes default internal encoding when passed nil.
  */
 static VALUE
 set_default_internal(VALUE klass, VALUE encoding)
Index: ChangeLog
===================================================================
--- ChangeLog	(revision 20664)
+++ ChangeLog	(revision 20665)
@@ -1,3 +1,12 @@
+Fri Dec 12 19:29:07 2008  Yuki Sonoda (Yugui)  <yugui@y...>
+
+	* encoding.c (rb_enc_set_default_external): default_internal can be
+	  nil, but default_external cannot.
+
+	* encoding.c (rb_set_default_internal): adds rdoc.
+
+	* encoding.c (enc_find): ditto.
+
 Fri Dec 12 19:24:47 2008  Yuki Sonoda (Yugui)  <yugui@y...>
 
 	* common.mk (run, runruby, parse, gdb, gdb-ruby): you can also run

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]