{
int c;
- if (STRING_MULTIBYTE (string))
- FETCH_STRING_CHAR_ADVANCE (c, string, i, i_byte);
- else
- c = XSTRING (string)->data[i++];
+ FETCH_STRING_CHAR_ADVANCE (c, string, i, i_byte);
if (SYNTAX (c) != Sword)
{
int c;
int i_byte_orig = i_byte;
- if (STRING_MULTIBYTE (string))
- FETCH_STRING_CHAR_ADVANCE (c, string, i, i_byte);
- else
- {
- c = XSTRING (string)->data[i++];
- i_byte++;
- }
+ FETCH_STRING_CHAR_ADVANCE (c, string, i, i_byte);
if (SYNTAX (c) == Sword)
{
if (c == '\\')
{
FETCH_STRING_CHAR_ADVANCE (c, newtext, pos, pos_byte);
+
if (c == '&')
{
substart = search_regs.start[sub];
if (str_multibyte)
{
- FETCH_STRING_CHAR_ADVANCE (c, newtext, pos, pos_byte);
+ FETCH_STRING_CHAR_ADVANCE_NO_CHECK (c, newtext, pos, pos_byte);
if (!buf_multibyte)
c = multibyte_char_to_unibyte (c, rev_tbl);
}
{
if (str_multibyte)
{
- FETCH_STRING_CHAR_ADVANCE (c, newtext, pos, pos_byte);
+ FETCH_STRING_CHAR_ADVANCE_NO_CHECK (c, newtext,
+ pos, pos_byte);
if (!buf_multibyte && !SINGLE_BYTE_CHAR_P (c))
c = multibyte_char_to_unibyte (c, rev_tbl);
}