Mercurial > hg > xemacs-beta
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 }; |