Mercurial > hg > xemacs-beta
diff src/syntax.h @ 5118:e0db3c197671 ben-lisp-object
merge up to latest default branch, doesn't compile yet
author | Ben Wing <ben@xemacs.org> |
---|---|
date | Sat, 26 Dec 2009 21:18:49 -0600 |
parents | b03fc4eae965 |
children | d1247f3cc363 |
line wrap: on
line diff
--- a/src/syntax.h Sat Dec 26 00:20:27 2009 -0600 +++ b/src/syntax.h Sat Dec 26 21:18:49 2009 -0600 @@ -149,7 +149,7 @@ the tag and the comment bits. Clearly, such a scheme will not work for Mule, because the matching - paren could be any character and as such requires 19 bits, which + paren could be any character and as such requires 21 bits, which we don't got. Remember that under Mule we use char tables instead of vectors. @@ -295,6 +295,9 @@ faster than if we did the whole calculation from scratch. */ struct syntax_cache { +#ifdef NEW_GC + struct lrecord_header header; +#endif /* NEW_GC */ int use_code; /* Whether to use syntax_code or syntax_table. This is set depending on whether the @@ -333,10 +336,25 @@ change. */ }; +#ifdef NEW_GC +typedef struct syntax_cache Lisp_Syntax_Cache; + +DECLARE_LISP_OBJECT (syntax_cache, Lisp_Syntax_Cache); + +#define XSYNTAX_CACHE(x) \ + XRECORD (x, syntax_cache, Lisp_Syntax_Cache) +#define wrap_syntax_cache(p) wrap_record (p, syntax_cache) +#define SYNTAX_CACHE_P(x) RECORDP (x, syntax_cache) +#define CHECK_SYNTAX_CACHE(x) CHECK_RECORD (x, syntax_cache) +#define CONCHECK_SYNTAX_CACHE(x) CONCHECK_RECORD (x, syntax_cache) +#endif /* NEW_GC */ + + + extern const struct sized_memory_description syntax_cache_description; /* Note that the external interface to the syntax-cache uses charpos's, but - intnernally we use bytepos's, for speed. */ + internally we use bytepos's, for speed. */ void update_syntax_cache (struct syntax_cache *cache, Charxpos pos, int count); struct syntax_cache *setup_syntax_cache (struct syntax_cache *cache,