+ Grob *me = unsmob_grob (element_smob);
+ Axis a = (Axis) gh_scm2int (axis);
+ assert (a == X_AXIS);
+
+ me = me->parent_l (a);
+ /*
+ ugh. the way DONE is done is not clean
+ */
+ if (!unsmob_grob (me->get_grob_property ("done")))
+ {
+ me->set_grob_property ("done", me->self_scm ());
+ do_shifts (me);
+ }
+
+ return gh_double2scm (0.0);