Mercurial > hg > xemacs-beta
diff 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 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src/rangetab.h Mon Aug 13 10:32:22 2007 +0200 @@ -0,0 +1,59 @@ +/* XEmacs routines to deal with range tables. + Copyright (C) 1995 Sun Microsystems, Inc. + Copyright (C) 1995 Ben Wing. + +This file is part of XEmacs. + +XEmacs is free software; you can redistribute it and/or modify it +under the terms of the GNU General Public License as published by the +Free Software Foundation; either version 2, or (at your option) any +later version. + +XEmacs is distributed in the hope that it will be useful, but WITHOUT +ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or +FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License +for more details. + +You should have received a copy of the GNU General Public License +along with XEmacs; see the file COPYING. If not, write to +the Free Software Foundation, Inc., 59 Temple Place - Suite 330, +Boston, MA 02111-1307, USA. */ + +/* Synched up with: Not in FSF. */ + +/* Extracted from rangetab.c by O. Galibert, 1998. */ + +#ifndef _XEMACS_RANGETAB_H_ +#define _XEMACS_RANGETAB_H_ + +#include <config.h> +#include "lisp.h" + +typedef struct range_table_entry range_table_entry; +struct range_table_entry +{ + EMACS_INT first; + EMACS_INT last; + Lisp_Object val; +}; + +typedef struct +{ + Dynarr_declare (range_table_entry); +} range_table_entry_dynarr; + +struct Lisp_Range_Table +{ + struct lcrecord_header header; + range_table_entry_dynarr *entries; +}; + +DECLARE_LRECORD (range_table, struct Lisp_Range_Table); +#define XRANGE_TABLE(x) \ + XRECORD (x, range_table, struct Lisp_Range_Table) +#define XSETRANGE_TABLE(x, p) XSETRECORD (x, p, range_table) +#define RANGE_TABLEP(x) RECORDP (x, range_table) +#define GC_RANGE_TABLEP(x) GC_RECORDP (x, range_table) +#define CHECK_RANGE_TABLE(x) CHECK_RECORD (x, range_table) + +#endif