Mercurial > hg > xemacs-beta
comparison src/rangetab.h @ 280:7df0dd720c89 r21-0b38
Import from CVS: tag r21-0b38
author | cvs |
---|---|
date | Mon, 13 Aug 2007 10:32:22 +0200 |
parents | |
children | c42ec1d1cded |
comparison
equal
deleted
inserted
replaced
279:c20b2fb5bb0a | 280:7df0dd720c89 |
---|---|
1 /* XEmacs routines to deal with range tables. | |
2 Copyright (C) 1995 Sun Microsystems, Inc. | |
3 Copyright (C) 1995 Ben Wing. | |
4 | |
5 This file is part of XEmacs. | |
6 | |
7 XEmacs is free software; you can redistribute it and/or modify it | |
8 under the terms of the GNU General Public License as published by the | |
9 Free Software Foundation; either version 2, or (at your option) any | |
10 later version. | |
11 | |
12 XEmacs is distributed in the hope that it will be useful, but WITHOUT | |
13 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or | |
14 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License | |
15 for more details. | |
16 | |
17 You should have received a copy of the GNU General Public License | |
18 along with XEmacs; see the file COPYING. If not, write to | |
19 the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
20 Boston, MA 02111-1307, USA. */ | |
21 | |
22 /* Synched up with: Not in FSF. */ | |
23 | |
24 /* Extracted from rangetab.c by O. Galibert, 1998. */ | |
25 | |
26 #ifndef _XEMACS_RANGETAB_H_ | |
27 #define _XEMACS_RANGETAB_H_ | |
28 | |
29 #include <config.h> | |
30 #include "lisp.h" | |
31 | |
32 typedef struct range_table_entry range_table_entry; | |
33 struct range_table_entry | |
34 { | |
35 EMACS_INT first; | |
36 EMACS_INT last; | |
37 Lisp_Object val; | |
38 }; | |
39 | |
40 typedef struct | |
41 { | |
42 Dynarr_declare (range_table_entry); | |
43 } range_table_entry_dynarr; | |
44 | |
45 struct Lisp_Range_Table | |
46 { | |
47 struct lcrecord_header header; | |
48 range_table_entry_dynarr *entries; | |
49 }; | |
50 | |
51 DECLARE_LRECORD (range_table, struct Lisp_Range_Table); | |
52 #define XRANGE_TABLE(x) \ | |
53 XRECORD (x, range_table, struct Lisp_Range_Table) | |
54 #define XSETRANGE_TABLE(x, p) XSETRECORD (x, p, range_table) | |
55 #define RANGE_TABLEP(x) RECORDP (x, range_table) | |
56 #define GC_RANGE_TABLEP(x) GC_RECORDP (x, range_table) | |
57 #define CHECK_RANGE_TABLE(x) CHECK_RECORD (x, range_table) | |
58 | |
59 #endif |