- Axis a = (Axis) gh_scm2int (ax);
- SCM m = brew_internal_molecule (smob);
- return ly_interval2scm (unsmob_molecule (m)->extent (a));
+ Axis a = (Axis) scm_to_int (ax);
+
+ /*
+ Don't want ledgers: ledgers depend on Y position, which depends on
+ rest collision, which depends on stem size which depends on beam
+ slop of opposite note column.
+
+ consequence: we get too small extents and potential collisions
+ with ledgered rests.
+ */
+ SCM m = brew_internal_stencil (smob, a != X_AXIS);
+ return ly_interval2scm (unsmob_stencil (m)->extent (a));