+
+
+ Item *it = dynamic_cast<Item*> (elts[i]);
+ Direction d = LEFT;
+ if (it)
+ do
+ {
+ Item *piece = it->find_prebroken_piece (d);
+ if (piece && to_boolean (scm_apply_1 (pure_relevant_p, piece->self_scm (), SCM_EOL)))
+ relevant_items.push_back (piece);
+ }
+ while (flip (&d) != LEFT);
+ }
+ vector_sort (relevant_items, Item::less);
+
+ Grob *common = common_refpoint_of_array (relevant_items, me, Y_AXIS);
+ common = common_refpoint_of_array (relevant_spanners, common, Y_AXIS);
+
+ me->set_object ("pure-Y-common", common->self_scm ());
+
+ SCM items_scm = Grob_array::make_array ();
+ SCM spanners_scm = Grob_array::make_array ();