-Music *
-Old_lyric_combine_music_iterator::get_combine_lyrics () const
-{
- SCM l = get_music ()->get_property ("elements");
- if (!scm_is_pair (l))
- return 0;
- l = scm_cdr (l);
- if (!scm_is_pair (l))
- return 0;
- return unsmob_music (scm_car (l));
+ if (!lyrics_context_)
+ {
+ m->origin ()->warning ("argument of \\lyricsto should contain Lyrics context");
+ }
+
+ lyricsto_voice_name_ = get_music ()->get_property ("associated-context");
+
+ Context *voice = find_voice ();
+ if (voice)
+ set_music_context (voice);
+
+ /*
+ Wait for a Create_context event. If this isn't done, lyrics can be
+ delayed when voices are created implicitly.
+ */
+ Global_context *g = get_outlet ()->get_global_context ();
+ g->events_below ()->add_listener (GET_LISTENER (check_new_context), ly_symbol2scm ("CreateContext"));
+
+ /*
+ We do not create a Lyrics context, because the user might
+ create one with a different name, and then we will not find that
+ one.
+ */