mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-29 07:58:28 +00:00
(re_search_2): Fix for the case of unibyte buffer.
This commit is contained in:
parent
c01bb36f11
commit
ba5e343cad
@ -1,3 +1,10 @@
|
||||
2002-10-07 Kenichi Handa <handa@m17n.org>
|
||||
|
||||
* keymap.c (push_key_description): Pay attention to
|
||||
force_multibyte.
|
||||
|
||||
* regex.c (re_search_2): Fix for the case of unibyte buffer.
|
||||
|
||||
2002-10-06 Dave Love <fx@gnu.org>
|
||||
|
||||
* charset.c (define_charset_internal): Rename `supprementary'.
|
||||
|
25
src/regex.c
25
src/regex.c
@ -4099,13 +4099,26 @@ re_search_2 (bufp, str1, size1, str2, size2, startpos, range, regs, stop)
|
||||
int room = (startpos >= size1
|
||||
? size2 + size1 - startpos
|
||||
: size1 - startpos);
|
||||
buf_ch = RE_STRING_CHAR (d, room);
|
||||
if (! target_multibyte)
|
||||
MAKE_CHAR_MULTIBYTE (buf_ch);
|
||||
buf_ch = TRANSLATE (buf_ch);
|
||||
|
||||
if (! fastmap[CHAR_LEADING_CODE (buf_ch)])
|
||||
goto advance;
|
||||
if (multibyte)
|
||||
{
|
||||
/* Case of Emacs. */
|
||||
if (target_multibyte)
|
||||
buf_ch = RE_STRING_CHAR (d, room);
|
||||
else
|
||||
{
|
||||
buf_ch = *d;
|
||||
MAKE_CHAR_MULTIBYTE (buf_ch);
|
||||
}
|
||||
buf_ch = TRANSLATE (buf_ch);
|
||||
if (! fastmap[CHAR_LEADING_CODE (buf_ch)])
|
||||
goto advance;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (! fastmap[TRANSLATE (*d)])
|
||||
goto advance;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user