# HG changeset patch # User Gerd Moellmann # Date 954172023 0 # Node ID 7ae3851c0a197771f62652153fabff4ec075053a # Parent f68f2c1b83fabe9a4fe030d52f2ba43cde6f4b9a (Fsubst_char_in_region): Don't use INC_POS in unibyte buffers because it looks for multibyte character sequences which don't exist in unibyte text. diff -r f68f2c1b83fa -r 7ae3851c0a19 src/editfns.c --- a/src/editfns.c Mon Mar 27 14:50:47 2000 +0000 +++ b/src/editfns.c Mon Mar 27 15:47:03 2000 +0000 @@ -2280,12 +2280,13 @@ #define COMBINING_BOTH (COMBINING_BEFORE | COMBINING_AFTER) int maybe_byte_combining = COMBINING_NO; int last_changed; + int multibyte_p = !NILP (current_buffer->enable_multibyte_characters); validate_region (&start, &end); CHECK_NUMBER (fromchar, 2); CHECK_NUMBER (tochar, 3); - if (! NILP (current_buffer->enable_multibyte_characters)) + if (multibyte_p) { len = CHAR_STRING (XFASTINT (fromchar), fromstr); if (CHAR_STRING (XFASTINT (tochar), tostr) != len) @@ -2341,7 +2342,10 @@ stop = end_byte; } p = BYTE_POS_ADDR (pos_byte); - INC_POS (pos_byte_next); + if (multibyte_p) + INC_POS (pos_byte_next); + else + ++pos_byte_next; if (pos_byte_next - pos_byte == len && p[0] == fromstr[0] && (len == 1