* init.c (scm_start_stack): Call `scm_make_root' to dynamically
authorMikael Djurfeldt <djurfeldt@nada.kth.se>
Tue, 1 Oct 1996 03:18:54 +0000 (03:18 +0000)
committerMikael Djurfeldt <djurfeldt@nada.kth.se>
Tue, 1 Oct 1996 03:18:54 +0000 (03:18 +0000)
allocate the basic dynamic root object.
(scm_boot_guile): Added call to scm_init_root.

libguile/init.c

index 4e87807..268048e 100644 (file)
@@ -124,8 +124,12 @@ scm_start_stack (base, in, out, err)
      FILE * out;
      FILE * err;
 {
+  SCM root;
   struct scm_port_table * pt;
 
+  root = scm_permanent_object (scm_make_root (SCM_UNDEFINED));
+  scm_set_root (SCM_ROOT_STATE (root));
+  
   scm_stack_base = base;
 
   /* Create standard ports from stdio files, if requested to do so.
@@ -348,6 +352,10 @@ scm_boot_guile (result, argc, argv, in, out, err, init_func, boot_cmd)
       scm_smob_prehistory ();
       scm_tables_prehistory ();
       scm_init_storage (0);
+      scm_init_root ();
+#ifdef USE_THREADS
+      scm_init_threads ();
+#endif
       scm_start_stack (&i, in, out, err);
       scm_init_gsubr ();
       scm_init_feature ();