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 { \