aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--string.c4
-rw-r--r--test/ruby/test_m17n_comb.rb9
3 files changed, 7 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 49330e9462..67761069d1 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+Tue Oct 27 16:36:52 2009 Nobuyoshi Nakada <nobu@ruby-lang.org>
+
+ * string.c (chopped_length): get rid of unexpected exception.
+ see [ruby-core:26336].
+
Tue Oct 27 15:53:10 2009 Tanaka Akira <akr@fsij.org>
* gc.h (SET_MACHINE_STACK_END): use __i386.
diff --git a/string.c b/string.c
index c64d7e40a5..9999c8570a 100644
--- a/string.c
+++ b/string.c
@@ -5925,9 +5925,9 @@ chopped_length(VALUE str)
if (beg > end) return 0;
p = rb_enc_prev_char(beg, end, end, enc);
if (!p) return 0;
- if (p > beg && rb_enc_codepoint(p, end, enc) == '\n') {
+ if (p > beg && rb_enc_ascget(p, end, 0, enc) == '\n') {
p2 = rb_enc_prev_char(beg, p, end, enc);
- if (p2 && rb_enc_codepoint(p2, end, enc) == '\r') p = p2;
+ if (p2 && rb_enc_ascget(p2, end, 0, enc) == '\r') p = p2;
}
return p - beg;
}
diff --git a/test/ruby/test_m17n_comb.rb b/test/ruby/test_m17n_comb.rb
index 2d43a56ab2..2c63e52387 100644
--- a/test/ruby/test_m17n_comb.rb
+++ b/test/ruby/test_m17n_comb.rb
@@ -727,15 +727,6 @@ class TestM17NComb < Test::Unit::TestCase
STRINGS.each {|s|
s = s.dup
desc = "#{encdump s}.chop"
- if !s.valid_encoding?
- #assert_raise(ArgumentError, desc) { s.chop }
- begin
- s.chop
- rescue ArgumentError
- e = $!
- end
- next if e
- end
t = nil
assert_nothing_raised(desc) { t = s.chop }
assert(t.valid_encoding?) if s.valid_encoding?