aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKenichi Handa1997-05-16 00:43:26 +0000
committerKenichi Handa1997-05-16 00:43:26 +0000
commitc6112b99dc8fe272b0413f2dba94eef2e606d44a (patch)
tree8b58ed171ee7219308eed2b92fe621cdc7bfef35 /src
parent4b9171878a806e4999c3022a42866d2bdcdeeba3 (diff)
downloademacs-c6112b99dc8fe272b0413f2dba94eef2e606d44a.tar.gz
emacs-c6112b99dc8fe272b0413f2dba94eef2e606d44a.zip
(VALID_CHAR_P): New macro.
(CHAR_STRING): Comment modified
Diffstat (limited to 'src')
-rw-r--r--src/charset.h12
1 files changed, 11 insertions, 1 deletions
diff --git a/src/charset.h b/src/charset.h
index d315dd6fa8f..73f043aafab 100644
--- a/src/charset.h
+++ b/src/charset.h
@@ -463,6 +463,16 @@ extern int width_by_char_head[256];
463 ? (c1) \ 463 ? (c1) \
464 : MAKE_NON_ASCII_CHAR ((charset), (c1) & 0x7F, (c2) & 0x7F)) 464 : MAKE_NON_ASCII_CHAR ((charset), (c1) & 0x7F, (c2) & 0x7F))
465 465
466/* 1 if C is in the range of possible character code Emacs can have. */
467#define VALID_CHAR_P(c) \
468 ((c) >= 0 \
469 && (SINGLE_BYTE_CHAR_P (c) \
470 || ((c) < MIN_CHAR_COMPOSITION \
471 ? ((c) & CHAR_FIELD1_MASK \
472 ? (CHAR_FIELD2 (c) >= 32 && CHAR_FIELD3 (c) >= 32) \
473 : (CHAR_FIELD2 (c) >= 16 && CHAR_FIELD3 (c) >= 32)) \
474 : (c) < MIN_CHAR_COMPOSITION + n_cmpchars)))
475
466/* The charset of non-ASCII character C is set to CHARSET, and the 476/* The charset of non-ASCII character C is set to CHARSET, and the
467 position-codes of C are set to C1 and C2. C2 of DIMENSION1 character 477 position-codes of C are set to C1 and C2. C2 of DIMENSION1 character
468 is -1. */ 478 is -1. */
@@ -517,7 +527,7 @@ extern int iso_charset_table[2][2][128];
517 is not a composite character, the multi-byte form is set in WORKBUF 527 is not a composite character, the multi-byte form is set in WORKBUF
518 and STR points WORKBUF. The caller should allocate at least 4-byte 528 and STR points WORKBUF. The caller should allocate at least 4-byte
519 area at WORKBUF in advance. Returns the length of the multi-byte 529 area at WORKBUF in advance. Returns the length of the multi-byte
520 form. */ 530 form. If C is an invalid character code, signal an error. */
521 531
522#define CHAR_STRING(c, workbuf, str) \ 532#define CHAR_STRING(c, workbuf, str) \
523 (SINGLE_BYTE_CHAR_P (c) \ 533 (SINGLE_BYTE_CHAR_P (c) \