comparison src/alloc.c @ 263:727739f917cb r20-5b30

Import from CVS: tag r20-5b30
author cvs
date Mon, 13 Aug 2007 10:24:41 +0200
parents 405dd6d1825b
children 8efd647ea9ca
comparison
equal deleted inserted replaced
262:9d8607af9e13 263:727739f917cb
2846 * Vpure_uninterned_symbol_table, which is itself 2846 * Vpure_uninterned_symbol_table, which is itself
2847 * staticpro'd. 2847 * staticpro'd.
2848 */ 2848 */
2849 if (!NILP (XSYMBOL (obj)->obarray)) 2849 if (!NILP (XSYMBOL (obj)->obarray))
2850 return obj; 2850 return obj;
2851 Fputhash (obj, obj, Vpure_uninterned_symbol_table); 2851 Fputhash (obj, Qnil, Vpure_uninterned_symbol_table);
2852 return obj; 2852 return obj;
2853 } 2853 }
2854 else 2854 else
2855 signal_simple_error ("Can't purecopy %S", obj); 2855 signal_simple_error ("Can't purecopy %S", obj);
2856 } 2856 }
3033 3033
3034 struct gcpro *gcprolist; 3034 struct gcpro *gcprolist;
3035 3035
3036 /* 415 used Mly 29-Jun-93 */ 3036 /* 415 used Mly 29-Jun-93 */
3037 /* 1327 used slb 28-Feb-98 */ 3037 /* 1327 used slb 28-Feb-98 */
3038 #define NSTATICS 1500 3038 #ifdef HAVE_SHLIB
3039 #define NSTATICS 4000
3040 #else
3041 #define NSTATICS 2000
3042 #endif
3039 /* Not "static" because of linker lossage on some systems */ 3043 /* Not "static" because of linker lossage on some systems */
3040 Lisp_Object *staticvec[NSTATICS] 3044 Lisp_Object *staticvec[NSTATICS]
3041 /* Force it into data space! */ 3045 /* Force it into data space! */
3042 = {0}; 3046 = {0};
3043 static int staticidx; 3047 static int staticidx;
3046 */ 3050 */
3047 void 3051 void
3048 staticpro (Lisp_Object *varaddress) 3052 staticpro (Lisp_Object *varaddress)
3049 { 3053 {
3050 if (staticidx >= countof (staticvec)) 3054 if (staticidx >= countof (staticvec))
3055 /* #### This is now a dubious abort() since this routine may be called */
3056 /* by Lisp attempting to load a DLL. */
3051 abort (); 3057 abort ();
3052 staticvec[staticidx++] = varaddress; 3058 staticvec[staticidx++] = varaddress;
3053 } 3059 }
3054 3060
3055 3061