[EMAIL PROTECTED] (Ludovic Courtès) writes:
> Neil Jerram <[EMAIL PROTECTED]> writes:
>
>> [EMAIL PROTECTED] (Ludovic Courtès) writes:
>>
>>> + scm_properties_whash = scm_permanent_object (scm_properties_whash);
>>
>> What is the symptom of the fact that we are currently missing this
>> line?
>
> You mean: does it actually yield a fault at run-time? Well, it doesn't
> /seem/ to (i.e., I haven't identified any reproducible "bug" caused by
> this), but I think it /could/. ;-)
>
> All other such global variables are, understandably, explicitly made
> non-collectable. For instance, in `srcprop.c', SCM_SOURCE_WHASH is
> non-collectable because it is bound to a top-level binding. In
> `symbols.c', the SYMBOLS weak hash table is made permanent via a call to
> `scm_permanent_object ()'.
I just looked into this. scm_properties_whash is actually OK, because
it is defined like this in root.h:
#define scm_properties_whash scm_sys_protects[10]
and the elements of scm_sys_protects are handled specially in
gc-mark.c.
Regards,
Neil
_______________________________________________
Guile-devel mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/guile-devel