Subject: bug#20907: [PATCH] Manual bug for scm_gc_protect_object

From: Mark H Weaver <[email-masked]>
Date: Wed, 02 Sep 2015 12:16:03 -0400

Mike Gran <[email-masked]> writes:

>> On Wednesday, September 2, 2015 5:09 AM, Ludovic Courtès <[email-masked]> wrote:
>
>> I think the manual is correct: global C variables were *not* scanned by
>> the GC.

> For what it is worth, the effect that I was seeing that made me
> question the documentation can be demonstrated by the attached program,
> where two 100MB Guile strings are stored in a C globals: one protected
> and one not. 
>
>
> In 1.8, a GC operation reduces memory from 200MB to 100MB, which I
> assume is freeing the memory from the unprotected string.

I'm not sure why this result would make you question the current
documentation.  To my mind, it clearly confirms what Ludovic wrote.

If global C variables were scanned by default in 1.8, as you asserted,
then why would the unprotected string have been freed?

Am I missing something?

    Thanks,
      Mark