Mercurial > hg > xemacs-beta
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 |