- first_pitches.sort (Musical_pitch::compare);
- second_pitches.sort (Musical_pitch::compare);
- interval = gh_int2scm (first_pitches.top ().steps ()
- - second_pitches[0].steps ());
+ scm_sort_list_x (first_pitches,
+ scm_primitive_eval (ly_symbol2scm ("Pitch::less_p")));
+ scm_sort_list_x (second_pitches,
+ scm_primitive_eval (ly_symbol2scm ("Pitch::less_p")));
+
+ interval = gh_int2scm (unsmob_pitch (ly_car (first_pitches))->steps ()
+ - unsmob_pitch (ly_car (scm_last_pair (second_pitches)))->steps ());