diff options
Diffstat (limited to 'libguile/options.c')
-rw-r--r-- | libguile/options.c | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/libguile/options.c b/libguile/options.c index 051286d5c..94e74d573 100644 --- a/libguile/options.c +++ b/libguile/options.c @@ -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))); |