From e5112ecb727f84e7b06b417d7d9708fc9a722d2b Mon Sep 17 00:00:00 2001 From: Kenichi Handa Date: Tue, 20 Aug 2002 07:56:43 +0000 Subject: [PATCH] (Fchar_equal): Fix for the unibyte case. --- src/editfns.c | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/editfns.c b/src/editfns.c index df23170df28..f758484ed08 100644 --- a/src/editfns.c +++ b/src/editfns.c @@ -3603,8 +3603,20 @@ Case is ignored if `case-fold-search' is non-nil in the current buffer. */) /* 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); } -- 2.39.5