Mercurial > hg > xemacs-beta
diff src/buffer.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 | 141c2920ea48 |
children | d1247f3cc363 |
line wrap: on
line diff
--- a/src/buffer.h Sat Dec 26 00:20:27 2009 -0600 +++ b/src/buffer.h Sat Dec 26 21:18:49 2009 -0600 @@ -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_LISP_OBJECT (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; @@ -251,7 +268,7 @@ #undef MARKED_SLOT }; -DECLARE_LRECORD (buffer, struct buffer); +DECLARE_LISP_OBJECT (buffer, struct buffer); #define XBUFFER(x) XRECORD (x, buffer, struct buffer) #define wrap_buffer(p) wrap_record (p, buffer) #define BUFFERP(x) RECORDP (x, buffer)