comparison 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
comparison
equal deleted inserted replaced
3091:c22d8984148c 3092:141c2920ea48
77 #define NUM_CACHED_POSITIONS 50 77 #define NUM_CACHED_POSITIONS 50
78 #define NUM_MOVED_POSITIONS 10 78 #define NUM_MOVED_POSITIONS 10
79 79
80 struct buffer_text 80 struct buffer_text
81 { 81 {
82 #ifdef NEW_GC
83 struct lrecord_header header;
84 #endif /* NEW_GC */
82 Ibyte *beg; /* Actual address of buffer contents. */ 85 Ibyte *beg; /* Actual address of buffer contents. */
83 Bytebpos gpt; /* Index of gap in buffer. */ 86 Bytebpos gpt; /* Index of gap in buffer. */
84 Charbpos bufgpt; /* Equivalent as a Charbpos. */ 87 Charbpos bufgpt; /* Equivalent as a Charbpos. */
85 Bytebpos z; /* Index of end of buffer. */ 88 Bytebpos z; /* Index of end of buffer. */
86 Charbpos bufz; /* Equivalent as a Charbpos. */ 89 Charbpos bufz; /* Equivalent as a Charbpos. */
135 Lisp_Object line_number_cache; 138 Lisp_Object line_number_cache;
136 139
137 /* Change data that goes with the text. */ 140 /* Change data that goes with the text. */
138 struct buffer_text_change_data *changes; 141 struct buffer_text_change_data *changes;
139 }; 142 };
143
144 #ifdef NEW_GC
145 typedef struct buffer_text Lisp_Buffer_Text;
146
147 DECLARE_LRECORD (buffer_text, Lisp_Buffer_Text);
148
149 #define XBUFFER_TEXT(x) \
150 XRECORD (x, buffer_text, Lisp_Buffer_Text)
151 #define wrap_buffer_text(p) wrap_record (p, buffer_text)
152 #define BUFFER_TEXT_P(x) RECORDP (x, buffer_text)
153 #define CHECK_BUFFER_TEXT(x) CHECK_RECORD (x, buffer_text)
154 #define CONCHECK_BUFFER_TEXT(x) CONCHECK_RECORD (x, buffer_text)
155 #endif /* NEW_GC */
156
140 157
141 struct buffer 158 struct buffer
142 { 159 {
143 struct LCRECORD_HEADER header; 160 struct LCRECORD_HEADER header;
144 161