Mercurial > emacs
comparison src/lisp.h @ 22239:0a666cecb85d
(CHAR_TABLE_TRANSLATE): New macro.
author | Richard M. Stallman <rms@gnu.org> |
---|---|
date | Mon, 25 May 1998 20:28:28 +0000 |
parents | 54a0e89d2a48 |
children | ca2d0846af6c |
comparison
equal
deleted
inserted
replaced
22238:fd2b7dede9cd | 22239:0a666cecb85d |
---|---|
644 ((IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS \ | 644 ((IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS \ |
645 ? (!NILP (XCHAR_TABLE (CT)->contents[IDX]) \ | 645 ? (!NILP (XCHAR_TABLE (CT)->contents[IDX]) \ |
646 ? XCHAR_TABLE (CT)->contents[IDX] \ | 646 ? XCHAR_TABLE (CT)->contents[IDX] \ |
647 : XCHAR_TABLE (CT)->defalt) \ | 647 : XCHAR_TABLE (CT)->defalt) \ |
648 : Faref (CT, make_number (IDX))) | 648 : Faref (CT, make_number (IDX))) |
649 | |
650 /* Almost equivalent to Faref (CT, IDX) with optimization for ASCII | |
651 and 8-bit Europeans characters. However, if the result is nil, | |
652 return IDX. | |
653 | |
654 For these characters, do not check validity of CT | |
655 and do not follow parent. */ | |
656 #define CHAR_TABLE_TRANSLATE(CT, IDX) \ | |
657 ((IDX) < CHAR_TABLE_SINGLE_BYTE_SLOTS \ | |
658 ? (!NILP (XCHAR_TABLE (CT)->contents[IDX]) \ | |
659 ? XINT (XCHAR_TABLE (CT)->contents[IDX]) \ | |
660 : IDX) \ | |
661 : char_table_translate (CT, IDX)) | |
649 | 662 |
650 /* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and | 663 /* Equivalent to Faset (CT, IDX, VAL) with optimization for ASCII and |
651 8-bit Europeans characters. Do not check validity of CT. */ | 664 8-bit Europeans characters. Do not check validity of CT. */ |
652 #define CHAR_TABLE_SET(CT, IDX, VAL) \ | 665 #define CHAR_TABLE_SET(CT, IDX, VAL) \ |
653 do { \ | 666 do { \ |