X-Git-Url: http://git.chise.org/gitweb/?a=blobdiff_plain;f=src%2Fsymbols.c;h=ae1dc92c9846c70b1109f3f0a8c69d79829c12f1;hb=4f14f955e64fbf24dd2f85fc22c2976c5aad47a0;hp=bb0fae059ba28ef7285c5ecd14c40659621cddeb;hpb=82f6d62ee211b1d36e8f45fed3ee3edde82b6916;p=chise%2Fxemacs-chise.git- diff --git a/src/symbols.c b/src/symbols.c index bb0fae0..ae1dc92 100644 --- a/src/symbols.c +++ b/src/symbols.c @@ -790,10 +790,15 @@ Set SYMBOL's property list to NEWPLIST, and return NEWPLIST. the symbol-value-forward. (See below.) SYMVAL_FIXNUM_FORWARD: + (declare with DEFVAR_INT) + Similar to SYMVAL_OBJECT_FORWARD except that the C variable + is of type "Fixnum", a typedef for "EMACS_INT", and the corresponding + lisp variable is always the corresponding integer. + SYMVAL_BOOLEAN_FORWARD: - (declare with DEFVAR_INT or DEFVAR_BOOL) + (declare with DEFVAR_BOOL) Similar to SYMVAL_OBJECT_FORWARD except that the C variable - is of type "int" and is an integer or boolean, respectively. + is of type "int" and is a boolean. SYMVAL_CONST_OBJECT_FORWARD: SYMVAL_CONST_FIXNUM_FORWARD: @@ -1073,7 +1078,7 @@ do_symval_forwarding (Lisp_Object valcontents, struct buffer *buffer, { case SYMVAL_FIXNUM_FORWARD: case SYMVAL_CONST_FIXNUM_FORWARD: - return make_int (*((int *)symbol_value_forward_forward (fwd))); + return make_int (*((Fixnum *)symbol_value_forward_forward (fwd))); case SYMVAL_BOOLEAN_FORWARD: case SYMVAL_CONST_BOOLEAN_FORWARD: @@ -1246,7 +1251,7 @@ store_symval_forwarding (Lisp_Object sym, Lisp_Object ovalue, CHECK_INT (newval); if (magicfun) magicfun (sym, &newval, Qnil, 0); - *((int *) symbol_value_forward_forward (fwd)) = XINT (newval); + *((Fixnum *) symbol_value_forward_forward (fwd)) = XINT (newval); return; case SYMVAL_BOOLEAN_FORWARD: @@ -2163,6 +2168,7 @@ sets it. = alloc_lcrecord_type (struct symbol_value_buffer_local, &lrecord_symbol_value_buffer_local); Lisp_Object foo; + zero_lcrecord (&bfwd->magic); bfwd->magic.type = SYMVAL_BUFFER_LOCAL; bfwd->default_value = find_symbol_value (variable); @@ -2270,6 +2276,7 @@ Use `make-local-hook' instead. /* Make sure variable is set up to hold per-buffer values */ bfwd = alloc_lcrecord_type (struct symbol_value_buffer_local, &lrecord_symbol_value_buffer_local); + zero_lcrecord (&bfwd->magic); bfwd->magic.type = SYMVAL_SOME_BUFFER_LOCAL; bfwd->current_buffer = Qnil; @@ -2990,6 +2997,7 @@ pity, thereby invalidating your code. { bfwd = alloc_lcrecord_type (struct symbol_value_lisp_magic, &lrecord_symbol_value_lisp_magic); + zero_lcrecord (&bfwd->magic); bfwd->magic.type = SYMVAL_LISP_MAGIC; for (i = 0; i < MAGIC_HANDLER_MAX; i++) { @@ -3126,6 +3134,7 @@ has a buffer-local value in any buffer, or the symbols nil or t. bfwd = alloc_lcrecord_type (struct symbol_value_varalias, &lrecord_symbol_value_varalias); + zero_lcrecord (&bfwd->magic); bfwd->magic.type = SYMVAL_VARALIAS; bfwd->aliasee = alias; bfwd->shadowed = valcontents; @@ -3259,9 +3268,9 @@ init_symbols_once_early (void) XSYMBOL (Qt)->value = Qt; /* Veritas aeterna */ Vquit_flag = Qnil; - pdump_wire (&Qnil); - pdump_wire (&Qunbound); - pdump_wire (&Vquit_flag); + dump_add_root_object (&Qnil); + dump_add_root_object (&Qunbound); + dump_add_root_object (&Vquit_flag); } void