summaryrefslogtreecommitdiff
path: root/libguile/options.c
diff options
context:
space:
mode:
authorDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-12-11 14:48:23 +0000
committerDirk Herrmann <dirk@dirk-herrmanns-seiten.de>2000-12-11 14:48:23 +0000
commit85db4a2c8eead51392bb16ea383526ba1ddfd23f (patch)
tree85274049b74a2787ed5b22700cb40d063303468a /libguile/options.c
parent24737ba02af8cb63982f50b7df45955b4b375298 (diff)
downloadguile-85db4a2c8eead51392bb16ea383526ba1ddfd23f.tar.gz
* Initialize symbols using SCM_(GLOBAL_)?SYMBOL instead of scm_sysintern...
* Use scm_str2symbol instead of scm_sysintern0. * Garbage collection initialization code now within gc.c only.
Diffstat (limited to 'libguile/options.c')
-rw-r--r--libguile/options.c12
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)));