Index: pari-2.5.1/src/language/init.c
===================================================================
--- pari-2.5.1.orig/src/language/init.c	2012-02-06 23:06:22.000000000 +0100
+++ pari-2.5.1/src/language/init.c	2012-02-06 23:08:47.000000000 +0100
@@ -76,8 +76,12 @@
 THREAD pari_sp bot, top, avma;
 THREAD size_t memused;
 
-static void ** MODULES, ** OLDMODULES;
-static pari_stack s_MODULES, s_OLDMODULES;
+static struct
+{
+  void ** M;
+  pari_stack s;
+} MODULES, OLDMODULES;
+
 const long functions_tblsz = 135; /* size of functions_hash */
 entree **functions_hash, **defaults_hash;
 
@@ -585,17 +589,17 @@
 int
 gp_init_functions(void)
 {
-  return gp_init_entrees(new_fun_set? &s_MODULES: &s_OLDMODULES, functions_hash);
+  return gp_init_entrees(new_fun_set? &MODULES.s: &OLDMODULES.s, functions_hash);
 }
 
 extern entree functions_basic[], functions_default[];
 static void
 pari_init_functions(void)
 {
-  stack_init(&s_MODULES, sizeof(*MODULES),(void**)&MODULES);
-  stack_pushp(&s_MODULES,functions_basic);
-  stack_init(&s_OLDMODULES, sizeof(*OLDMODULES),(void**)&OLDMODULES);
-  stack_pushp(&s_OLDMODULES,oldfonctions);
+  stack_init(&MODULES.s, sizeof(MODULES.M),(void**)&MODULES.M);
+  stack_pushp(&MODULES.s,functions_basic);
+  stack_init(&OLDMODULES.s, sizeof(*OLDMODULES.M),(void**)&OLDMODULES.M);
+  stack_pushp(&OLDMODULES.s,oldfonctions);
   functions_hash = (entree**) pari_calloc(sizeof(entree*)*functions_tblsz);
   pari_fill_hashtable(functions_hash,
                       new_fun_set? functions_basic: oldfonctions);
@@ -608,7 +612,7 @@
 {
   if (new_fun_set)
     pari_fill_hashtable(functions_hash, ep);
-  stack_pushp(&s_MODULES, ep);
+  stack_pushp(&MODULES.s, ep);
 }
 
 void
@@ -620,7 +624,7 @@
 {
   if (!new_fun_set)
     pari_fill_hashtable(functions_hash, ep);
-  stack_pushp(&s_OLDMODULES, ep);
+  stack_pushp(&OLDMODULES.s, ep);
 }
 
 static void
@@ -782,8 +786,8 @@
   free((void*)diffptr);
   free(current_logfile);
   free(current_psfile);
-  stack_delete(&s_MODULES);
-  stack_delete(&s_OLDMODULES);
+  stack_delete(&MODULES.s);
+  stack_delete(&OLDMODULES.s);
   if (pari_datadir) free(pari_datadir);
   if (init_opts&INIT_DFTm)
   { /* delete GP_DATA */
