aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authornaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-29 12:31:43 +0000
committernaruse <naruse@b2dd03c8-39d4-4d8f-98ff-823fe69b080e>2009-09-29 12:31:43 +0000
commitad8978fdb171a6614375b7bd873b02b909485a31 (patch)
treefec36aa2aedfcf9a9d92cd9c0fa8a20a65cd41b5
parent42f0ea8c612015dfb57d53fd41bf7e0e4b7427bf (diff)
downloadruby-ad8978fdb171a6614375b7bd873b02b909485a31.tar.gz
* io.c (rb_scan_open_args): add UTF8-MAC to no-convertion encoding.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@25157 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
-rw-r--r--ChangeLog4
-rw-r--r--io.c8
2 files changed, 9 insertions, 3 deletions
diff --git a/ChangeLog b/ChangeLog
index 1f7695222d..44e647b2f6 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,7 @@
+Tue Sep 29 21:16:35 2009 NARUSE, Yui <naruse@ruby-lang.org>
+
+ * io.c (rb_scan_open_args): add UTF8-MAC to no-convertion encoding.
+
Tue Sep 29 21:21:15 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
* configure.in (--enable-pthread): deprecated.
diff --git a/io.c b/io.c
index 90fa2339a7..586e7b5bd6 100644
--- a/io.c
+++ b/io.c
@@ -5307,17 +5307,19 @@ rb_scan_open_args(int argc, VALUE *argv,
opt = pop_last_hash(&argc, argv);
rb_scan_args(argc, argv, "12", &fname, &vmode, &vperm);
FilePathValue(fname);
-#if defined __APPLE__
+#ifdef __APPLE__
{
static rb_encoding *fs_encoding;
+ static rb_encoding *utf8mac_encoding;
rb_encoding *fname_encoding = rb_enc_get(fname);
if (!fs_encoding)
fs_encoding = rb_filesystem_encoding();
+ if (!utf8mac_encoding)
+ utf8mac_encoding = rb_enc_find("UTF8-MAC");
if (rb_usascii_encoding() != fname_encoding
&& rb_ascii8bit_encoding() != fname_encoding
-#if defined __APPLE__
&& rb_utf8_encoding() != fname_encoding
-#endif
+ && rb_utf8mac_encoding() != fname_encoding
&& fs_encoding != fname_encoding) {
static VALUE fs_enc;
if (!fs_enc)