summaryrefslogtreecommitdiff
path: root/libguile/srcprop.c
diff options
context:
space:
mode:
authorNeil Jerram <neil@ossau.uklinux.net>2002-03-08 13:11:34 +0000
committerNeil Jerram <neil@ossau.uklinux.net>2002-03-08 13:11:34 +0000
commit58d233cca9756e8e4c11ba2122159ade7c933fa3 (patch)
tree2289d0e0a9735bb3955d6baa2739295915356233 /libguile/srcprop.c
parent020c890ccc305a9be7a6d2fc7f12328dfe7adfb1 (diff)
downloadguile-58d233cca9756e8e4c11ba2122159ade7c933fa3.tar.gz
* srcprop.c (scm_set_source_property_x): If SRCPROPS obj already
exists when adding a source property other than those that are handled explicitly, add the new property to the SRCPROPS obj's plist.
Diffstat (limited to 'libguile/srcprop.c')
-rw-r--r--libguile/srcprop.c7
1 files changed, 6 insertions, 1 deletions
diff --git a/libguile/srcprop.c b/libguile/srcprop.c
index f00828b79..e909991a5 100644
--- a/libguile/srcprop.c
+++ b/libguile/srcprop.c
@@ -317,7 +317,12 @@ SCM_DEFINE (scm_set_source_property_x, "set-source-property!", 3, 0, 0,
SCM_WHASHSET (scm_source_whash, h, scm_make_srcprops (0, 0, SCM_UNDEFINED, datum, p));
}
else
- SCM_WHASHSET (scm_source_whash, h, scm_acons (key, datum, p));
+ {
+ if (SRCPROPSP (p))
+ SRCPROPPLIST (p) = scm_acons (key, datum, SRCPROPPLIST (p));
+ else
+ SCM_WHASHSET (scm_source_whash, h, scm_acons (key, datum, p));
+ }
return SCM_UNSPECIFIED;
}
#undef FUNC_NAME