diff --git a/libguile/ChangeLog b/libguile/ChangeLog index 8bda007cf..3d491d288 100644 --- a/libguile/ChangeLog +++ b/libguile/ChangeLog @@ -1,5 +1,10 @@ 2002-03-08 Neil Jerram + * 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. + * debug.h (SCM_MAX_FRAME_SIZE): Remove incorrect comment about use of SCM_MAX_FRAME_SIZE as a bit mask; it isn't used like this. 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