summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa <handa@m17n.org>2002-08-20 08:32:34 +0000
committerKenichi Handa <handa@m17n.org>2002-08-20 08:32:34 +0000
commit096a353dd1c93a24e64c76b8b8487bca8312541c (patch)
tree43033fef55659f7450445176bc8adb6d1dfe34de /src
parent16747e037d9e305a19b790ceddf3618e86fd8a4c (diff)
downloademacs-096a353dd1c93a24e64c76b8b8487bca8312541c.tar.gz
(Freplace_match): Fix for the unibyte case.
Diffstat (limited to 'src')
-rw-r--r--src/search.c14
1 files changed, 12 insertions, 2 deletions
diff --git a/src/search.c b/src/search.c
index 5ce999ef4d7..efc1c35bdc2 100644
--- a/src/search.c
+++ b/src/search.c
@@ -2245,14 +2245,20 @@ since only regular expressions have distinguished subexpressions. */)
{
/* Decide how to casify by examining the matched text. */
int last;
+ int multibyte;
pos = search_regs.start[sub];
last = search_regs.end[sub];
if (NILP (string))
- pos_byte = CHAR_TO_BYTE (pos);
+ {
+ pos_byte = CHAR_TO_BYTE (pos);
+ multibyte = ! NILP (current_buffer->enable_multibyte_characters);
else
- pos_byte = string_char_to_byte (string, pos);
+ {
+ pos_byte = string_char_to_byte (string, pos);
+ multibyte = STRING_MULTIBYTE (string);
+ }
prevc = '\n';
case_action = all_caps;
@@ -2273,6 +2279,10 @@ since only regular expressions have distinguished subexpressions. */)
}
else
FETCH_STRING_CHAR_ADVANCE (c, string, pos, pos_byte);
+ if (! multibyte)
+ {
+ MAKE_CHAR_MULTIBYTE (c);
+ }
if (LOWERCASEP (c))
{