# HG changeset patch # User Kenichi Handa # Date 910313056 0 # Node ID dcd6688d67beb49e53c2e141003fcc1053189f7e # Parent 3cc42e65f25b2a2b9804c0ea53834248db3bf90c (MULTIBYTE_BYTES_WIDTH): Check validity of a multibyte character. diff -r 3cc42e65f25b -r dcd6688d67be src/indent.c --- a/src/indent.c Fri Nov 06 00:44:16 1998 +0000 +++ b/src/indent.c Fri Nov 06 00:44:16 1998 +0000 @@ -308,13 +308,17 @@ bytes = BYTES_BY_CHAR_HEAD (c); \ if (bytes >= 2 && bytes <= pend - p) \ { \ - int ch; \ + int ch = STRING_CHAR (p, bytes); \ \ - if (dp && (ch = STRING_CHAR (p, bytes), \ - VECTORP (DISP_CHAR_VECTOR (dp, ch)))) \ - width = XVECTOR (DISP_CHAR_VECTOR (dp, ch))->size; \ + if (CHAR_VALID_P (ch, 0)) \ + { \ + if (dp && VECTORP (DISP_CHAR_VECTOR (dp, ch))) \ + width = XVECTOR (DISP_CHAR_VECTOR (dp, ch))->size; \ + else \ + width = WIDTH_BY_CHAR_HEAD (c); \ + } \ else \ - width = WIDTH_BY_CHAR_HEAD (c); \ + width = bytes * 4; \ if (width > 1) \ wide_column = width; \ } \