- do {
- Link_array<Grob> &arr
- (arrs[d]);
-
- arr.sort (staff_side_compare);
-
- Grob * last = 0;
- for (int i=0; i < arr.size (); i++)
- {
-
- if (last)
- Side_position_interface::add_support (arr[i],last);
-
- arr[i]->set_grob_property ("script-priority", SCM_EOL);
- last = arr[i];
- }
-
- } while (flip (&d) != DOWN);
+ do
+ {
+ SCM ss = scm_reverse_x (scripts[d], SCM_EOL);
+ ss = scm_stable_sort_x (ss, ly_grob_script_priority_less_proc);
+
+ Grob * last = 0;
+ for (SCM s = ss; scm_is_pair (s); s = scm_cdr (s))
+ {
+ Grob *g = unsmob_grob (scm_car (s));
+ if (last)
+ Side_position_interface::add_support (g,last);
+
+ last = g;
+ }
+
+ } while (flip (&d) != DOWN);