diff --git a/ChangeLog b/ChangeLog index 528bf38d65..ad58314074 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +Fri Jul 10 14:41:34 2009 NARUSE, Yui + + * marshal.c (r_object0): set encoding only if the encoding + is not US-ASCII. + Fri Jul 10 11:41:39 2009 Nobuyoshi Nakada * include/ruby/ruby.h (rb_obj_{untrust,untrusted,trust}): added diff --git a/marshal.c b/marshal.c index cbed195b5b..860b23f11b 100644 --- a/marshal.c +++ b/marshal.c @@ -1376,7 +1376,8 @@ r_object0(struct load_arg *arg, int *ivp, VALUE extmod) r_ivar(v, arg); *ivp = Qfalse; } - rb_enc_copy(str, v); + if (rb_enc_get_index(v) != rb_usascii_encindex()) + rb_enc_copy(str, v); if (rb_enc_get_index(str) != rb_utf8_encindex()) { #define f_gsub_bang(x,y,z) rb_funcall(x, rb_intern("gsub!"), 2, y, z) f_gsub_bang(str, rb_reg_new("\\\\u", 3, 0), rb_usascii_str_new_cstr("u")); diff --git a/version.h b/version.h index 5463ce5543..5a73ec9fdb 100644 --- a/version.h +++ b/version.h @@ -4,7 +4,7 @@ #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 -#define RUBY_PATCHLEVEL 228 +#define RUBY_PATCHLEVEL 229 #define RUBY_RELEASE_YEAR 2009 #define RUBY_RELEASE_MONTH 7 #define RUBY_RELEASE_DAY 12