comparison src/symbols.c @ 247:e70b3a057e12 r20-5b22

Import from CVS: tag r20-5b22
author cvs
date Mon, 13 Aug 2007 10:18:21 +0200
parents 51092a27c943
children 677f6a0ee643
comparison
equal deleted inserted replaced
246:cf2a77a48c1c 247:e70b3a057e12
54 #include <config.h> 54 #include <config.h>
55 #include "lisp.h" 55 #include "lisp.h"
56 56
57 #include "buffer.h" /* for Vbuffer_defaults */ 57 #include "buffer.h" /* for Vbuffer_defaults */
58 #include "console.h" 58 #include "console.h"
59
60 #include "elhash.h" /* for HASHTABLE_NONWEAK and HASHTABLE_EQ */
59 61
60 Lisp_Object Qad_advice_info, Qad_activate; 62 Lisp_Object Qad_advice_info, Qad_activate;
61 63
62 Lisp_Object Qget_value, Qset_value, Qbound_predicate, Qmake_unbound; 64 Lisp_Object Qget_value, Qset_value, Qbound_predicate, Qmake_unbound;
63 Lisp_Object Qlocal_predicate, Qmake_local; 65 Lisp_Object Qlocal_predicate, Qmake_local;
3131 /* some losing systems can't have static vars at function scope... */ 3133 /* some losing systems can't have static vars at function scope... */
3132 static struct symbol_value_magic guts_of_unbound_marker = 3134 static struct symbol_value_magic guts_of_unbound_marker =
3133 { { symbol_value_forward_lheader_initializer, 0, 69}, 3135 { { symbol_value_forward_lheader_initializer, 0, 69},
3134 SYMVAL_UNBOUND_MARKER }; 3136 SYMVAL_UNBOUND_MARKER };
3135 3137
3138 Lisp_Object Vpure_uninterned_symbol_table;
3139
3136 void 3140 void
3137 init_symbols_once_early (void) 3141 init_symbols_once_early (void)
3138 { 3142 {
3143 /* see comment in Fpurecopy() */
3144 Vpure_uninterned_symbol_table =
3145 make_lisp_hashtable (50, HASHTABLE_NONWEAK, HASHTABLE_EQ);
3146 staticpro(&Vpure_uninterned_symbol_table);
3147
3139 Qnil = Fmake_symbol (make_pure_pname ((CONST Bufbyte *) "nil", 3, 1)); 3148 Qnil = Fmake_symbol (make_pure_pname ((CONST Bufbyte *) "nil", 3, 1));
3140 /* Bootstrapping problem: Qnil isn't set when make_pure_pname is 3149 /* Bootstrapping problem: Qnil isn't set when make_pure_pname is
3141 called the first time. */ 3150 called the first time. */
3142 XSYMBOL (Qnil)->name->plist = Qnil; 3151 XSYMBOL (Qnil)->name->plist = Qnil;
3143 XSYMBOL (Qnil)->value = Qnil; /* Nihil ex nihil */ 3152 XSYMBOL (Qnil)->value = Qnil; /* Nihil ex nihil */