* list.h (scm_list_star): deprecation expired - removed.
[bpt/guile.git] / libguile / options.c
index 030cc2f..c5260e6 100644 (file)
@@ -47,7 +47,6 @@
 
 \f
 
-#include <stdio.h>
 #include "libguile/_scm.h"
 #include "libguile/strings.h"
 
@@ -190,7 +189,8 @@ scm_options (SCM arg, scm_option options[], int n, const char *s)
                }
 #ifndef SCM_RECKLESS
          scm_must_free ((char *) flags);
-         scm_wta (SCM_CAR (new_mode), "Unknown mode flag", s);
+         scm_misc_error (s, "Unknown mode flag: ~S", 
+                         SCM_LIST1 (SCM_CAR (new_mode)));
 #endif
        cont:
          new_mode = SCM_CDR (new_mode);
@@ -218,9 +218,15 @@ scm_init_opts (SCM (*func) (SCM), scm_option options[], int n)
 
   for (i = 0; i < n; ++i)
     {
-      options[i].name =        (char *) SCM_CAR (scm_sysintern0 (options[i].name));
-      options[i].doc = (char *) scm_permanent_object (scm_take0str
-                                                     (options[i].doc));
+      SCM name;
+      SCM doc;
+
+      name = scm_str2symbol (options[i].name);
+      options[i].name =        (char *) name;
+      scm_permanent_object (name);
+      doc = scm_take0str (options[i].doc);
+      options[i].doc = (char *) doc;
+      scm_permanent_object (doc);
       if (options[i].type == SCM_OPTION_SCM)
        SCM_SETCDR (protected_objects,
                    scm_cons (SCM_PACK(options[i].val), SCM_CDR (protected_objects)));
@@ -233,7 +239,9 @@ void
 scm_init_options ()
 {
   protected_objects = scm_permanent_object (scm_cons (SCM_UNDEFINED, SCM_EOL));
+#ifndef SCM_MAGIC_SNARFER
 #include "libguile/options.x"
+#endif
 }
 
 /*