comparison src/rangetab.c @ 280:7df0dd720c89 r21-0b38

Import from CVS: tag r21-0b38
author cvs
date Mon, 13 Aug 2007 10:32:22 +0200
parents c5d627a313b1
children c42ec1d1cded
comparison
equal deleted inserted replaced
279:c20b2fb5bb0a 280:7df0dd720c89
21 21
22 /* Synched up with: Not in FSF. */ 22 /* Synched up with: Not in FSF. */
23 23
24 /* Written by Ben Wing, August 1995. */ 24 /* Written by Ben Wing, August 1995. */
25 25
26 #include <config.h> 26 #include "rangetab.h"
27 #include "lisp.h"
28
29 typedef struct range_table_entry range_table_entry;
30 struct range_table_entry
31 {
32 EMACS_INT first;
33 EMACS_INT last;
34 Lisp_Object val;
35 };
36
37 typedef struct
38 {
39 Dynarr_declare (range_table_entry);
40 } range_table_entry_dynarr;
41
42 struct Lisp_Range_Table
43 {
44 struct lcrecord_header header;
45 range_table_entry_dynarr *entries;
46 };
47
48 DECLARE_LRECORD (range_table, struct Lisp_Range_Table);
49 #define XRANGE_TABLE(x) \
50 XRECORD (x, range_table, struct Lisp_Range_Table)
51 #define XSETRANGE_TABLE(x, p) XSETRECORD (x, p, range_table)
52 #define RANGE_TABLEP(x) RECORDP (x, range_table)
53 #define GC_RANGE_TABLEP(x) GC_RECORDP (x, range_table)
54 #define CHECK_RANGE_TABLE(x) CHECK_RECORD (x, range_table)
55 27
56 Lisp_Object Qrange_tablep; 28 Lisp_Object Qrange_tablep;
57 Lisp_Object Qrange_table; 29 Lisp_Object Qrange_table;
58 30
59 31