# HG changeset patch # User Kenichi Handa # Date 958781102 0 # Node ID 2f43c508a9b53cce47ff8be529d8f6317d7962d7 # Parent 8f10362eb5ff7c5cb64bd6f749f2e26f04466189 (wordify): Use FETCH_STRING_CHAR_ADVANCE unconditionally. (Freplace_match): Use FETCH_STRING_CHAR_ADVANCE and FETCH_STRING_CHAR_ADVANCE_NO_CHECK appropriately. diff -r 8f10362eb5ff -r 2f43c508a9b5 src/search.c --- a/src/search.c Sat May 20 00:04:37 2000 +0000 +++ b/src/search.c Sat May 20 00:05:02 2000 +0000 @@ -1959,10 +1959,7 @@ { 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) { @@ -1997,13 +1994,7 @@ 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) { @@ -2349,6 +2340,7 @@ if (c == '\\') { FETCH_STRING_CHAR_ADVANCE (c, newtext, pos, pos_byte); + if (c == '&') { substart = search_regs.start[sub]; @@ -2460,7 +2452,7 @@ 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); } @@ -2480,7 +2472,8 @@ { 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); }