Dan Eble <[email protected]> writes:
> Part_combine_iterator::split_list_ is a SCM. As I read the comments
> in smobs.hh, this means that Part_combine_iterator::derived_mark()
> should call scm_gc_mark (split_list_). Am I right?
Partly.
split_list_ is initialized with
split_list_ = get_music ()->get_property ("split-list");
and the music underlying get_music is protected by
Music_iterator::mark_smob. As opposed to grob properties, music
properties don't accept callbacks, so the result of get_property is
never constructed on-the-fly and is safely protected via music_.
split_list_ is not changed in any manner where it would gain parts
unprotected via music_.
So the current code will not trigger any runtime errors. Instead it
triggers a wild goose chase through the code at lecture time.
Arguably that counts as a bug as well, at least if the rationale is not
readily explained in a comment so that the wild goose chase is stopped
early.
--
David Kastrup
_______________________________________________
lilypond-devel mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-devel