comparison src/symbols.c @ 420:41dbb7a9d5f2 r21-2-18

Import from CVS: tag r21-2-18
author cvs
date Mon, 13 Aug 2007 11:24:09 +0200
parents 697ef44129c6
children 11054d720c21
comparison
equal deleted inserted replaced
419:66615b78f1a5 420:41dbb7a9d5f2
106 XSETSYMBOL (obj, sym); 106 XSETSYMBOL (obj, sym);
107 return obj; 107 return obj;
108 } 108 }
109 } 109 }
110 110
111 static const struct lrecord_description symbol_description[] = {
112 { XD_LISP_OBJECT, offsetof(struct Lisp_Symbol, next), 5 }
113 };
114
111 DEFINE_BASIC_LRECORD_IMPLEMENTATION ("symbol", symbol, 115 DEFINE_BASIC_LRECORD_IMPLEMENTATION ("symbol", symbol,
112 mark_symbol, print_symbol, 0, 0, 0, 116 mark_symbol, print_symbol, 0, 0, 0,
113 struct Lisp_Symbol); 117 symbol_description, struct Lisp_Symbol);
114 118
115 119
116 /**********************************************************************/ 120 /**********************************************************************/
117 /* Intern */ 121 /* Intern */
118 /**********************************************************************/ 122 /**********************************************************************/
950 XSYMBOL_VALUE_MAGIC_TYPE (obj), 954 XSYMBOL_VALUE_MAGIC_TYPE (obj),
951 (long) XPNTR (obj)); 955 (long) XPNTR (obj));
952 write_c_string (buf, printcharfun); 956 write_c_string (buf, printcharfun);
953 } 957 }
954 958
959 static const struct lrecord_description symbol_value_buffer_local_description[] = {
960 { XD_LISP_OBJECT, offsetof(struct symbol_value_buffer_local, default_value), 4 },
961 { XD_END }
962 };
963
964 static const struct lrecord_description symbol_value_lisp_magic_description[] = {
965 { XD_LISP_OBJECT, offsetof(struct symbol_value_lisp_magic, handler), 2*MAGIC_HANDLER_MAX+1 },
966 { XD_END }
967 };
968
969 static const struct lrecord_description symbol_value_varalias_description[] = {
970 { XD_LISP_OBJECT, offsetof(struct symbol_value_varalias, aliasee), 2 },
971 { XD_END }
972 };
973
955 DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-forward", 974 DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-forward",
956 symbol_value_forward, 975 symbol_value_forward,
957 this_one_is_unmarkable, 976 this_one_is_unmarkable,
958 print_symbol_value_magic, 0, 0, 0, 977 print_symbol_value_magic, 0, 0, 0, 0,
959 struct symbol_value_forward); 978 struct symbol_value_forward);
960 979
961 DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-buffer-local", 980 DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-buffer-local",
962 symbol_value_buffer_local, 981 symbol_value_buffer_local,
963 mark_symbol_value_buffer_local, 982 mark_symbol_value_buffer_local,
964 print_symbol_value_magic, 0, 0, 0, 983 print_symbol_value_magic, 0, 0, 0,
984 symbol_value_buffer_local_description,
965 struct symbol_value_buffer_local); 985 struct symbol_value_buffer_local);
966 986
967 DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-lisp-magic", 987 DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-lisp-magic",
968 symbol_value_lisp_magic, 988 symbol_value_lisp_magic,
969 mark_symbol_value_lisp_magic, 989 mark_symbol_value_lisp_magic,
970 print_symbol_value_magic, 0, 0, 0, 990 print_symbol_value_magic, 0, 0, 0,
991 symbol_value_lisp_magic_description,
971 struct symbol_value_lisp_magic); 992 struct symbol_value_lisp_magic);
972 993
973 DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-varalias", 994 DEFINE_LRECORD_IMPLEMENTATION ("symbol-value-varalias",
974 symbol_value_varalias, 995 symbol_value_varalias,
975 mark_symbol_value_varalias, 996 mark_symbol_value_varalias,
976 print_symbol_value_magic, 0, 0, 0, 997 print_symbol_value_magic, 0, 0, 0,
998 symbol_value_varalias_description,
977 struct symbol_value_varalias); 999 struct symbol_value_varalias);
978 1000
979 1001
980 /* Getting and setting values of symbols */ 1002 /* Getting and setting values of symbols */
981 1003