comparison src/syntax.h @ 3092:141c2920ea48

[xemacs-hg @ 2005-11-25 01:41:31 by crestani] Incremental Garbage Collector
author crestani
date Fri, 25 Nov 2005 01:42:08 +0000
parents 70921960b980
children 2b8bb4938bb4
comparison
equal deleted inserted replaced
3091:c22d8984148c 3092:141c2920ea48
293 syntax-table property changes (i.e. not every position), and when we do 293 syntax-table property changes (i.e. not every position), and when we do
294 need to recalculate, we can update the info from the previous info 294 need to recalculate, we can update the info from the previous info
295 faster than if we did the whole calculation from scratch. */ 295 faster than if we did the whole calculation from scratch. */
296 struct syntax_cache 296 struct syntax_cache
297 { 297 {
298 #ifdef NEW_GC
299 struct lrecord_header header;
300 #endif /* NEW_GC */
298 int use_code; /* Whether to use syntax_code or 301 int use_code; /* Whether to use syntax_code or
299 syntax_table. This is set 302 syntax_table. This is set
300 depending on whether the 303 depending on whether the
301 syntax-table property is a 304 syntax-table property is a
302 syntax table or a syntax 305 syntax table or a syntax
331 change. */ 334 change. */
332 Charxpos prev_change; /* Position of the previous extent 335 Charxpos prev_change; /* Position of the previous extent
333 change. */ 336 change. */
334 }; 337 };
335 338
339 #ifdef NEW_GC
340 typedef struct syntax_cache Lisp_Syntax_Cache;
341
342 DECLARE_LRECORD (syntax_cache, Lisp_Syntax_Cache);
343
344 #define XSYNTAX_CACHE(x) \
345 XRECORD (x, syntax_cache, Lisp_Syntax_Cache)
346 #define wrap_syntax_cache(p) wrap_record (p, syntax_cache)
347 #define SYNTAX_CACHE_P(x) RECORDP (x, syntax_cache)
348 #define CHECK_SYNTAX_CACHE(x) CHECK_RECORD (x, syntax_cache)
349 #define CONCHECK_SYNTAX_CACHE(x) CONCHECK_RECORD (x, syntax_cache)
350 #endif /* NEW_GC */
351
352
353
336 extern const struct sized_memory_description syntax_cache_description; 354 extern const struct sized_memory_description syntax_cache_description;
337 355
338 /* Note that the external interface to the syntax-cache uses charpos's, but 356 /* Note that the external interface to the syntax-cache uses charpos's, but
339 intnernally we use bytepos's, for speed. */ 357 intnernally we use bytepos's, for speed. */
340 358