comparison src/symeval.h @ 5120:d1247f3cc363 ben-lisp-object

latest work on lisp-object workspace; more changes eliminating LCRECORD in place of LISP_OBJECT; now compiles and runs.
author Ben Wing <ben@xemacs.org>
date Mon, 28 Dec 2009 01:15:52 -0600
parents e0db3c197671
children b5df3737028a
comparison
equal deleted inserted replaced
5119:d877c14318b3 5120:d1247f3cc363
75 /* Underlying C type used to implement DEFVAR_INT */ 75 /* Underlying C type used to implement DEFVAR_INT */
76 typedef EMACS_INT Fixnum; 76 typedef EMACS_INT Fixnum;
77 77
78 struct symbol_value_magic 78 struct symbol_value_magic
79 { 79 {
80 struct LCRECORD_HEADER header; 80 LISP_OBJECT_HEADER header;
81 void *value; 81 void *value;
82 enum symbol_value_type type; 82 enum symbol_value_type type;
83 }; 83 };
84 #define SYMBOL_VALUE_MAGIC_P(x) \ 84 #define SYMBOL_VALUE_MAGIC_P(x) \
85 (LRECORDP (x) && \ 85 (LRECORDP (x) && \
399 #ifdef NEW_GC 399 #ifdef NEW_GC
400 #define DEFVAR_SYMVAL_FWD(lname, c_location, forward_type, magic_fun) \ 400 #define DEFVAR_SYMVAL_FWD(lname, c_location, forward_type, magic_fun) \
401 do \ 401 do \
402 { \ 402 { \
403 struct symbol_value_forward *I_hate_C = \ 403 struct symbol_value_forward *I_hate_C = \
404 alloc_lrecord_type (struct symbol_value_forward, \ 404 XSYMBOL_VALUE_FORWARD (ALLOC_LISP_OBJECT (symbol_value_forward)); \
405 &lrecord_symbol_value_forward); \
406 /* mcpro ((Lisp_Object) I_hate_C);*/ \ 405 /* mcpro ((Lisp_Object) I_hate_C);*/ \
407 \ 406 \
408 MARK_LRECORD_AS_LISP_READONLY (I_hate_C); \ 407 MARK_LRECORD_AS_LISP_READONLY (I_hate_C); \
409 \ 408 \
410 I_hate_C->magic.value = c_location; \ 409 I_hate_C->magic.value = c_location; \
487 DEFVAR_SYMVAL_FWD_INT (lname, c_location, SYMVAL_BOOLEAN_FORWARD, magicfun) 486 DEFVAR_SYMVAL_FWD_INT (lname, c_location, SYMVAL_BOOLEAN_FORWARD, magicfun)
488 487
489 void flush_all_buffer_local_cache (void); 488 void flush_all_buffer_local_cache (void);
490 489
491 struct multiple_value { 490 struct multiple_value {
492 struct LCRECORD_HEADER header; 491 LISP_OBJECT_HEADER header;
493 Elemcount count; 492 Elemcount count;
494 Elemcount allocated_count; 493 Elemcount allocated_count;
495 Elemcount first_desired; 494 Elemcount first_desired;
496 Lisp_Object contents[1]; 495 Lisp_Object contents[1];
497 }; 496 };