From 91910581fcfcecaf7bf05792c6cfc6bfe3f9b6fb Mon Sep 17 00:00:00 2001 From: yugui Date: Sat, 8 Aug 2009 15:31:35 +0000 Subject: merges r24342 and r24348 from trunk into ruby_1_9_1. -- Can't use singlebyte optimization when the replacement is multibyte. [ruby-core:24612] * string.c (tr_trans): can't use singlebyte optimization when the replacement is multibyte. [ruby-core:24612] -- * string.c (tr_trans): change condition of singlebyte optimization. git-svn-id: http://svn.ruby-lang.org/repos/ruby/branches/ruby_1_9_1@24457 b2dd03c8-39d4-4d8f-98ff-823fe69b080e --- ChangeLog | 10 ++++++++++ string.c | 2 +- version.h | 2 +- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/ChangeLog b/ChangeLog index 6e2cad344..5231f7036 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +Sat Aug 1 19:23:27 2009 NARUSE, Yui + + * string.c (tr_trans): change condition of singlebyte + optimization. + +Sat Aug 1 05:18:36 2009 NARUSE, Yui + + * string.c (tr_trans): can't use singlebyte optimization when + the replacement is multibyte. [ruby-core:24612] + Fri Jul 31 16:28:33 2009 NARUSE, Yui * io.c (rb_stdio_set_default_encoding): added. diff --git a/string.c b/string.c index c27e5d486..2017d1023 100644 --- a/string.c +++ b/string.c @@ -4681,7 +4681,7 @@ tr_trans(VALUE str, VALUE src, VALUE repl, int sflag) if (r == errc) r = trrepl.now; if (c < 256) { trans[c] = r; - if (r > 255) singlebyte = 0; + if (rb_enc_codelen(r, enc) != 1) singlebyte = 0; } else { if (!hash) hash = rb_hash_new(); diff --git a/version.h b/version.h index e4e266d6d..e39057533 100644 --- a/version.h +++ b/version.h @@ -1,5 +1,5 @@ #define RUBY_VERSION "1.9.1" -#define RUBY_PATCHLEVEL 261 +#define RUBY_PATCHLEVEL 262 #define RUBY_VERSION_MAJOR 1 #define RUBY_VERSION_MINOR 9 #define RUBY_VERSION_TEENY 1 -- cgit