diff --git a/ChangeLog b/ChangeLog index 6cbbe5348b..acadee538d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,7 @@ +Sun Jan 30 12:53:38 2011 Nobuyoshi Nakada + + * enc/emacs_mule.c (emacsmule_islead): fix inverse condition. + Sun Jan 30 09:37:25 2011 Yutaka Kanemoto * io.c (struct argf): char behaves like an unsigned char diff --git a/enc/emacs_mule.c b/enc/emacs_mule.c index 246593b7eb..117c1aff39 100644 --- a/enc/emacs_mule.c +++ b/enc/emacs_mule.c @@ -30,7 +30,7 @@ #include "regint.h" -#define emacsmule_islead(c) ((UChar )((c) - 0x81) > 0x9d - 0x81) +#define emacsmule_islead(c) ((UChar )((c) - 0x81) < 0x9e - 0x81) /* CHARACTER := ASCII_CHAR | MULTIBYTE_CHAR diff --git a/test/ruby/test_m17n.rb b/test/ruby/test_m17n.rb index b6dac01017..8a945481c3 100644 --- a/test/ruby/test_m17n.rb +++ b/test/ruby/test_m17n.rb @@ -1106,6 +1106,18 @@ class TestM17N < Test::Unit::TestCase s1 = s("\x81\x40") s2 = "@" assert_equal(false, s1.end_with?(s2), "#{encdump s1}.end_with?(#{encdump s2})") + s1orig = "\u3042\u3044" + s2orig = "\u3044" + Encoding.list.each do |enc| + next if enc.dummy? + begin + s1 = s1orig.encode(enc) + s2 = s2orig.encode(enc) + rescue + else + assert_equal(true, s1.end_with?(s2), "#{encdump s1}.end_with?(#{encdump s2})") + end + end end def test_each_line