aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa1998-11-06 00:44:16 +0000
committerKenichi Handa1998-11-06 00:44:16 +0000
commitf35b0e56f0813b693f74c6c5e0101a9b23e0d547 (patch)
tree9ace2ded0dc4b6e6518568ead44d4c1fd38c7ff7 /src
parentd9d851ea28739e13689a4779ef624f835f8aef5f (diff)
downloademacs-f35b0e56f0813b693f74c6c5e0101a9b23e0d547.tar.gz
emacs-f35b0e56f0813b693f74c6c5e0101a9b23e0d547.zip
(MULTIBYTE_BYTES_WIDTH): Check validity of a multibyte character.
Diffstat (limited to 'src')
-rw-r--r--src/indent.c14
1 files changed, 9 insertions, 5 deletions
diff --git a/src/indent.c b/src/indent.c
index 9ac2dd7315f..9528894baf2 100644
--- a/src/indent.c
+++ b/src/indent.c
@@ -308,13 +308,17 @@ skip_invisible (pos, next_boundary_p, to, window)
308 bytes = BYTES_BY_CHAR_HEAD (c); \ 308 bytes = BYTES_BY_CHAR_HEAD (c); \
309 if (bytes >= 2 && bytes <= pend - p) \ 309 if (bytes >= 2 && bytes <= pend - p) \
310 { \ 310 { \
311 int ch; \ 311 int ch = STRING_CHAR (p, bytes); \
312 \ 312 \
313 if (dp && (ch = STRING_CHAR (p, bytes), \ 313 if (CHAR_VALID_P (ch, 0)) \
314 VECTORP (DISP_CHAR_VECTOR (dp, ch)))) \ 314 { \
315 width = XVECTOR (DISP_CHAR_VECTOR (dp, ch))->size; \ 315 if (dp && VECTORP (DISP_CHAR_VECTOR (dp, ch))) \
316 width = XVECTOR (DISP_CHAR_VECTOR (dp, ch))->size; \
317 else \
318 width = WIDTH_BY_CHAR_HEAD (c); \
319 } \
316 else \ 320 else \
317 width = WIDTH_BY_CHAR_HEAD (c); \ 321 width = bytes * 4; \
318 if (width > 1) \ 322 if (width > 1) \
319 wide_column = width; \ 323 wide_column = width; \
320 } \ 324 } \