diff options
| author | Kenichi Handa | 1998-11-06 00:44:16 +0000 |
|---|---|---|
| committer | Kenichi Handa | 1998-11-06 00:44:16 +0000 |
| commit | f35b0e56f0813b693f74c6c5e0101a9b23e0d547 (patch) | |
| tree | 9ace2ded0dc4b6e6518568ead44d4c1fd38c7ff7 /src | |
| parent | d9d851ea28739e13689a4779ef624f835f8aef5f (diff) | |
| download | emacs-f35b0e56f0813b693f74c6c5e0101a9b23e0d547.tar.gz emacs-f35b0e56f0813b693f74c6c5e0101a9b23e0d547.zip | |
(MULTIBYTE_BYTES_WIDTH): Check validity of a multibyte character.
Diffstat (limited to 'src')
| -rw-r--r-- | src/indent.c | 14 |
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 | } \ |