Increase NSTATICS; tell the user when we run out of static slots.
authorDaniel Colascione <dancol@dancol.org>
Thu, 18 Oct 2012 17:00:08 +0000 (09:00 -0800)
committerDaniel Colascione <dancol@dancol.org>
Thu, 18 Oct 2012 17:00:08 +0000 (09:00 -0800)
src/ChangeLog
src/alloc.c

index 817274b..6fece1e 100644 (file)
@@ -1,3 +1,9 @@
+2012-10-18  Daniel Colascione  <dancol@dancol.org>
+
+       * alloc.c (NSTATICS): Increase from 0x650 to 0x1000
+       (staticpro): If we run out of staticpro slots, die with an
+       informative error instead of just calling emacs_abort.
+
 2012-10-18  Martin Rudalics  <rudalics@gmx.at>
 
        Fix two flaws reported by Dmitry Antipov.
index 0afe446..08dc267 100644 (file)
@@ -376,7 +376,7 @@ struct gcpro *gcprolist;
 /* Addresses of staticpro'd variables.  Initialize it to a nonzero
    value; otherwise some compilers put it into BSS.  */
 
-#define NSTATICS 0x650
+#define NSTATICS 0x1000
 static Lisp_Object *staticvec[NSTATICS] = {&Vpurify_flag};
 
 /* Index of next unused slot in staticvec.  */
@@ -5030,7 +5030,7 @@ staticpro (Lisp_Object *varaddress)
 {
   staticvec[staticidx++] = varaddress;
   if (staticidx >= NSTATICS)
-    emacs_abort ();
+    fatal ("NSTATICS too small. Try increasing and recompiling Emacs.");
 }
 
 \f