+/*
+ A callback that will be chained together with the original cross-staff
+ value of a grob that is placed 'outside or 'around a slur. This just says
+ that any grob becomes cross-staff if it is placed 'outside or 'around a
+ cross-staff slur.
+*/
+MAKE_SCHEME_CALLBACK (Slur, outside_slur_cross_staff, 2)
+SCM
+Slur::outside_slur_cross_staff (SCM smob, SCM previous)
+{
+ if (previous == SCM_BOOL_T)
+ return previous;
+
+ Grob *me = unsmob_grob (smob);
+ Grob *slur = unsmob_grob (me->get_object ("slur"));
+
+ if (!slur)
+ return SCM_BOOL_F;
+ return slur->get_property ("cross-staff");
+}
+