[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Fixes footnote automatic numbering. (issue 4877041)

From: address@hidden
Subject: Re: Fixes footnote automatic numbering. (issue 4877041)
Date: Mon, 14 Nov 2011 14:23:10 +0100

Thanks for the feedback!  A couple questions below.

On Nov 14, 2011, at 12:34 PM, address@hidden wrote:

> lily/ if (s->original ())
> You don't check for success of the dynamic_cast before using it.  Is
> that a problem?
> lily/ Grob *me = unsmob_grob (smob);
> According to the compiler, getting the pointer me is the last operation
> for which smob is needed.  After that, it is free for garbage
> collection.
> If you are not sure that other references to smob keep it from being
> collected, you need to write
> scm_remember_upto_here_1 (smob)
> at the place where garbage collecting smob will no longer be a problem.
> That's probably after all the relevant info is entered in grobs_scm.

How is this function different from other callback functions that use the 
convention Grob *me = unsmob_smob (smob); ?  I understand what you're saying 
with scm_remember_upto_here, but I don't see why this function would need it 
where other callback functions don't.

Also, is it safe to put a smob up for garbage collection after it is put into a 
grob array?  That is, the next time that the grob array is unsmobed, will it 
potentially contain a smob that has been garbage collected?

reply via email to

[Prev in Thread] Current Thread [Next in Thread]