comparison src/symbols.c @ 458:c33ae14dd6d0 r21-2-44

Import from CVS: tag r21-2-44
author cvs
date Mon, 13 Aug 2007 11:42:25 +0200
parents 3d3049ae1304
children 38fb9ae12edd
comparison
equal deleted inserted replaced
457:4b9290a33024 458:c33ae14dd6d0
788 raw symbol-value field gets converted into a 788 raw symbol-value field gets converted into a
789 symbol-value-buffer-local, whose "current_value" slot contains 789 symbol-value-buffer-local, whose "current_value" slot contains
790 the symbol-value-forward. (See below.) 790 the symbol-value-forward. (See below.)
791 791
792 SYMVAL_FIXNUM_FORWARD: 792 SYMVAL_FIXNUM_FORWARD:
793 (declare with DEFVAR_INT)
794 Similar to SYMVAL_OBJECT_FORWARD except that the C variable
795 is of type "Fixnum", a typedef for "EMACS_INT", and the corresponding
796 lisp variable is always the corresponding integer.
797
793 SYMVAL_BOOLEAN_FORWARD: 798 SYMVAL_BOOLEAN_FORWARD:
794 (declare with DEFVAR_INT or DEFVAR_BOOL) 799 (declare with DEFVAR_BOOL)
795 Similar to SYMVAL_OBJECT_FORWARD except that the C variable 800 Similar to SYMVAL_OBJECT_FORWARD except that the C variable
796 is of type "int" and is an integer or boolean, respectively. 801 is of type "int" and is a boolean.
797 802
798 SYMVAL_CONST_OBJECT_FORWARD: 803 SYMVAL_CONST_OBJECT_FORWARD:
799 SYMVAL_CONST_FIXNUM_FORWARD: 804 SYMVAL_CONST_FIXNUM_FORWARD:
800 SYMVAL_CONST_BOOLEAN_FORWARD: 805 SYMVAL_CONST_BOOLEAN_FORWARD:
801 (declare with DEFVAR_CONST_LISP, DEFVAR_CONST_INT, or 806 (declare with DEFVAR_CONST_LISP, DEFVAR_CONST_INT, or
1071 fwd = XSYMBOL_VALUE_FORWARD (valcontents); 1076 fwd = XSYMBOL_VALUE_FORWARD (valcontents);
1072 switch (fwd->magic.type) 1077 switch (fwd->magic.type)
1073 { 1078 {
1074 case SYMVAL_FIXNUM_FORWARD: 1079 case SYMVAL_FIXNUM_FORWARD:
1075 case SYMVAL_CONST_FIXNUM_FORWARD: 1080 case SYMVAL_CONST_FIXNUM_FORWARD:
1076 return make_int (*((int *)symbol_value_forward_forward (fwd))); 1081 return make_int (*((Fixnum *)symbol_value_forward_forward (fwd)));
1077 1082
1078 case SYMVAL_BOOLEAN_FORWARD: 1083 case SYMVAL_BOOLEAN_FORWARD:
1079 case SYMVAL_CONST_BOOLEAN_FORWARD: 1084 case SYMVAL_CONST_BOOLEAN_FORWARD:
1080 return *((int *)symbol_value_forward_forward (fwd)) ? Qt : Qnil; 1085 return *((int *)symbol_value_forward_forward (fwd)) ? Qt : Qnil;
1081 1086
1244 { 1249 {
1245 case SYMVAL_FIXNUM_FORWARD: 1250 case SYMVAL_FIXNUM_FORWARD:
1246 CHECK_INT (newval); 1251 CHECK_INT (newval);
1247 if (magicfun) 1252 if (magicfun)
1248 magicfun (sym, &newval, Qnil, 0); 1253 magicfun (sym, &newval, Qnil, 0);
1249 *((int *) symbol_value_forward_forward (fwd)) = XINT (newval); 1254 *((Fixnum *) symbol_value_forward_forward (fwd)) = XINT (newval);
1250 return; 1255 return;
1251 1256
1252 case SYMVAL_BOOLEAN_FORWARD: 1257 case SYMVAL_BOOLEAN_FORWARD:
1253 if (magicfun) 1258 if (magicfun)
1254 magicfun (sym, &newval, Qnil, 0); 1259 magicfun (sym, &newval, Qnil, 0);