+ if (!d)
+ {
+ /*
+ we should not have `arbitrary' directions.
+ */
+ programming_error ("Script direction not yet known!");
+ d = DOWN;
+ }
+
+ set_grob_direction (me, d);
+
+ if (Grob * par = me->get_parent (X_AXIS))
+ {
+ Grob * stem = Note_column::get_stem (par);
+ if (stem && Stem::first_head (stem))
+ {
+ me->set_parent (Stem::first_head (stem), X_AXIS);
+ }
+ }
+
+ return SCM_UNSPECIFIED;