aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa2000-07-18 12:48:53 +0000
committerKenichi Handa2000-07-18 12:48:53 +0000
commitf164d9b5222f1112042ef0c31325ffab09b00ce1 (patch)
tree462a0d6b7c10834daaf61006d514e554b6453691 /src
parentbc8a8d5588f3512fff4dffa877c8c1cb4a7b0b0c (diff)
downloademacs-f164d9b5222f1112042ef0c31325ffab09b00ce1.tar.gz
emacs-f164d9b5222f1112042ef0c31325ffab09b00ce1.zip
(MAKE_CHAR): Return reasonable code even if CHARSET is undefined.
Diffstat (limited to 'src')
-rw-r--r--src/charset.h31
1 files changed, 17 insertions, 14 deletions
diff --git a/src/charset.h b/src/charset.h
index b28b88b8df6..ad0f60ff489 100644
--- a/src/charset.h
+++ b/src/charset.h
@@ -395,7 +395,9 @@ extern int width_by_char_head[256];
395 : (((charset) == CHARSET_8_BIT_CONTROL \ 395 : (((charset) == CHARSET_8_BIT_CONTROL \
396 || (charset) == CHARSET_8_BIT_GRAPHIC) \ 396 || (charset) == CHARSET_8_BIT_GRAPHIC) \
397 ? ((c1) & 0x7F) | 0x80 \ 397 ? ((c1) & 0x7F) | 0x80 \
398 : (! CHARSET_DEFINED_P (charset) || CHARSET_DIMENSION (charset) == 1 \ 398 : ((CHARSET_DEFINED_P (charset) \
399 ? CHARSET_DIMENSION (charset) == 1 \
400 : (charset) < MIN_CHARSET_PRIVATE_DIMENSION2) \
399 ? (((charset) - 0x70) << 7) | ((c1) <= 0 ? 0 : (c1)) \ 401 ? (((charset) - 0x70) << 7) | ((c1) <= 0 ? 0 : (c1)) \
400 : ((((charset) \ 402 : ((((charset) \
401 - ((charset) < MIN_CHARSET_PRIVATE_DIMENSION2 ? 0x8F : 0xE0)) \ 403 - ((charset) < MIN_CHARSET_PRIVATE_DIMENSION2 ? 0x8F : 0xE0)) \
@@ -466,19 +468,20 @@ extern int width_by_char_head[256];
466 position-codes of C are stored in C1 and C2. 468 position-codes of C are stored in C1 and C2.
467 We store -1 in C2 if the dimension of the charset is 1. */ 469 We store -1 in C2 if the dimension of the charset is 1. */
468 470
469#define SPLIT_CHAR(c, charset, c1, c2) \ 471#define SPLIT_CHAR(c, charset, c1, c2) \
470 (SINGLE_BYTE_CHAR_P (c) \ 472 (SINGLE_BYTE_CHAR_P (c) \
471 ? ((charset = ASCII_BYTE_P (c) \ 473 ? ((charset \
472 ? CHARSET_ASCII \ 474 = (ASCII_BYTE_P (c) \
473 : (c) < 0xA0 ? CHARSET_8_BIT_CONTROL : CHARSET_8_BIT_GRAPHIC), \ 475 ? CHARSET_ASCII \
474 c1 = (c), c2 = -1) \ 476 : ((c) < 0xA0 ? CHARSET_8_BIT_CONTROL : CHARSET_8_BIT_GRAPHIC))), \
475 : ((c) & CHAR_FIELD1_MASK \ 477 c1 = (c), c2 = -1) \
476 ? (charset = (CHAR_FIELD1 (c) \ 478 : ((c) & CHAR_FIELD1_MASK \
477 + ((c) < MIN_CHAR_PRIVATE_DIMENSION2 ? 0x8F : 0xE0)), \ 479 ? (charset = (CHAR_FIELD1 (c) \
478 c1 = CHAR_FIELD2 (c), \ 480 + ((c) < MIN_CHAR_PRIVATE_DIMENSION2 ? 0x8F : 0xE0)), \
479 c2 = CHAR_FIELD3 (c)) \ 481 c1 = CHAR_FIELD2 (c), \
480 : (charset = CHAR_FIELD2 (c) + 0x70, \ 482 c2 = CHAR_FIELD3 (c)) \
481 c1 = CHAR_FIELD3 (c), \ 483 : (charset = CHAR_FIELD2 (c) + 0x70, \
484 c1 = CHAR_FIELD3 (c), \
482 c2 = -1))) 485 c2 = -1)))
483 486
484/* Return 1 iff character C has valid printable glyph. */ 487/* Return 1 iff character C has valid printable glyph. */