changeset 89025:1c45126c0974

(Fchar_equal): Fix for the unibyte case.
author Kenichi Handa <handa@m17n.org>
date Tue, 20 Aug 2002 07:56:43 +0000
parents b09549c9663c
children 7f85fb19352a
files src/editfns.c
diffstat 1 files changed, 14 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/editfns.c	Tue Aug 20 07:21:58 2002 +0000
+++ b/src/editfns.c	Tue Aug 20 07:56:43 2002 +0000
@@ -3603,8 +3603,20 @@
   /* Do these in separate statements,
      then compare the variables.
      because of the way DOWNCASE uses temp variables.  */
-  i1 = DOWNCASE (XFASTINT (c1));
-  i2 = DOWNCASE (XFASTINT (c2));
+  i1 = XFASTINT (c1);
+  if (NILP (current_buffer->enable_multibyte_characters)
+      && ! ASCII_CHAR_P (i1))
+    {
+      MAKE_CHAR_MULTIBYTE (i1);
+    }
+  i2 = XFASTINT (c2);
+  if (NILP (current_buffer->enable_multibyte_characters)
+      && ! ASCII_CHAR_P (i2))
+    {
+      MAKE_CHAR_MULTIBYTE (i2);
+    }
+  i1 = DOWNCASE (i1);
+  i2 = DOWNCASE (i2);
   return (i1 == i2 ? Qt :  Qnil);
 }