From 4fbf0a615eec0865ab471f537cf9b99dbc221d46 Mon Sep 17 00:00:00 2001 From: tomo Date: Tue, 18 Jul 2000 10:36:57 +0000 Subject: [PATCH] (struct Lisp_Uint8_Byte_Table): New structure. (Lisp_Uint8_Byte_Table): New type. (XUINT8_BYTE_TABLE): New macro. (XSETUINT8_BYTE_TABLE): New macro. (UINT8_BYTE_TABLE_P): New macro. (GC_UINT8_BYTE_TABLE_P): New macro. (struct Lisp_Uint16_Byte_Table): New structure. (Lisp_Uint16_Byte_Table): New type. (XUINT16_BYTE_TABLE): New macro. (XSETUINT16_BYTE_TABLE): New macro. (UINT16_BYTE_TABLE_P): New macro. (GC_UINT16_BYTE_TABLE_P): New macro. --- src/char-ucs.h | 36 ++++++++++++++++++++++++++++++++++++ 1 file changed, 36 insertions(+) diff --git a/src/char-ucs.h b/src/char-ucs.h index cdbd577..afb1f79 100644 --- a/src/char-ucs.h +++ b/src/char-ucs.h @@ -26,6 +26,42 @@ Boston, MA 02111-1307, USA. */ #define CHAR_ASCII_P(ch) ((ch) <= 0x7F) +struct Lisp_Uint8_Byte_Table +{ + struct lcrecord_header header; + + unsigned char property[256]; +}; +typedef struct Lisp_Uint8_Byte_Table Lisp_Uint8_Byte_Table; + +DECLARE_LRECORD (uint8_byte_table, Lisp_Uint8_Byte_Table); +#define XUINT8_BYTE_TABLE(x) \ + XRECORD (x, uint8_byte_table, Lisp_Uint8_Byte_Table) +#define XSETUINT8_BYTE_TABLE(x, p) XSETRECORD (x, p, uint8_byte_table) +#define UINT8_BYTE_TABLE_P(x) RECORDP (x, uint8_byte_table) +#define GC_UINT8_BYTE_TABLE_P(x) GC_RECORDP (x, uint8_byte_table) +/* #define CHECK_UINT8_BYTE_TABLE(x) CHECK_RECORD (x, uint8_byte_table) + char table entries should never escape to Lisp */ + + +struct Lisp_Uint16_Byte_Table +{ + struct lcrecord_header header; + + unsigned short property[256]; +}; +typedef struct Lisp_Uint16_Byte_Table Lisp_Uint16_Byte_Table; + +DECLARE_LRECORD (uint16_byte_table, Lisp_Uint16_Byte_Table); +#define XUINT16_BYTE_TABLE(x) \ + XRECORD (x, uint16_byte_table, Lisp_Uint16_Byte_Table) +#define XSETUINT16_BYTE_TABLE(x, p) XSETRECORD (x, p, uint16_byte_table) +#define UINT16_BYTE_TABLE_P(x) RECORDP (x, uint16_byte_table) +#define GC_UINT16_BYTE_TABLE_P(x) GC_RECORDP (x, uint16_byte_table) +/* #define CHECK_UINT16_BYTE_TABLE(x) CHECK_RECORD (x, uint16_byte_table) + char table entries should never escape to Lisp */ + + struct Lisp_Byte_Table { struct lcrecord_header header; -- 1.7.10.4