+ {
+ proc = SCM_CDRLOC (*proc);
+ }
+ }
+ // If there were definite-ended iterators and all of them died, take
+ // the rest of the iterators along with them. They have
+ // likely lost their reference iterators. Basing this on the actual
+ // music contexts is not reliable since something like
+ // \new Voice = blah {
+ // << \context Voice = blah { c4 d }
+ // \addlyrics { oh no }
+ // >> e f
+ // }
+ // cannot wait for the death of context blah before ending the
+ // simultaneous iterator.
+ if (finite && pending_moment ().main_part_.is_infinity ())
+ {
+ for (SCM p = children_list_; scm_is_pair (p); p = scm_cdr (p))
+ unsmob<Music_iterator> (scm_car (p))->quit ();
+ children_list_ = SCM_EOL;