diff options
| author | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-12 10:35:39 +0000 |
|---|---|---|
| committer | yugui <yugui@b2dd03c8-39d4-4d8f-98ff-823fe69b080e> | 2008-12-12 10:35:39 +0000 |
| commit | 555e7150f748c3f77be1b65404c166cff2765c71 (patch) | |
| tree | fc4ebeda856c0c07a3f3423b8ed31718b07fc09f | |
| parent | c4a268c9a5d000a8633322ec63f8a647781360e1 (diff) | |
| download | ruby-555e7150f748c3f77be1b65404c166cff2765c71.tar.gz ruby-555e7150f748c3f77be1b65404c166cff2765c71.tar.xz ruby-555e7150f748c3f77be1b65404c166cff2765c71.zip | |
* 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.
git-svn-id: http://svn.ruby-lang.org/repos/ruby/trunk@20665 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
| -rw-r--r-- | ChangeLog | 9 | ||||
| -rw-r--r-- | encoding.c | 9 |
2 files changed, 17 insertions, 1 deletions
@@ -1,3 +1,12 @@ +Fri Dec 12 19:29:07 2008 Yuki Sonoda (Yugui) <yugui@yugui.jp> + + * 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@yugui.jp> * common.mk (run, runruby, parse, gdb, gdb-ruby): you can also run diff --git a/encoding.c b/encoding.c index 910768d56..f802850f3 100644 --- a/encoding.c +++ b/encoding.c @@ -905,6 +905,9 @@ enc_list(VALUE klass) * 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 @@ get_default_external(VALUE klass) 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 @@ rb_enc_set_default_internal(VALUE encoding) /* * 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) |
