diff src/buffer.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 1e7cc382eb16
children edc0cd26b4a8 e0db3c197671
line wrap: on
line diff
--- a/src/buffer.h	Thu Nov 24 22:51:25 2005 +0000
+++ b/src/buffer.h	Fri Nov 25 01:42:08 2005 +0000
@@ -79,6 +79,9 @@
 
 struct buffer_text
 {
+#ifdef NEW_GC
+  struct lrecord_header header;
+#endif /* NEW_GC */
   Ibyte *beg;		/* Actual address of buffer contents. */
   Bytebpos gpt;		/* Index of gap in buffer. */
   Charbpos bufgpt;	/* Equivalent as a Charbpos. */
@@ -138,6 +141,20 @@
   struct buffer_text_change_data *changes;
 };
 
+#ifdef NEW_GC
+typedef struct buffer_text Lisp_Buffer_Text;
+
+DECLARE_LRECORD (buffer_text, Lisp_Buffer_Text);
+
+#define XBUFFER_TEXT(x) \
+  XRECORD (x, buffer_text, Lisp_Buffer_Text)
+#define wrap_buffer_text(p) wrap_record (p, buffer_text)
+#define BUFFER_TEXT_P(x) RECORDP (x, buffer_text)
+#define CHECK_BUFFER_TEXT(x) CHECK_RECORD (x, buffer_text)
+#define CONCHECK_BUFFER_TEXT(x) CONCHECK_RECORD (x, buffer_text)
+#endif /* NEW_GC */
+
+
 struct buffer
 {
   struct LCRECORD_HEADER header;