- Grob* me = unsmob_grob (smob);
- if (gh_number_p (me->get_property ("staff-position")))
- return gh_double2scm (0);
-
- Direction d = get_grob_direction (me);
- Real off = 2* d ;
- if(off)
- off *= Staff_symbol_referencer::staff_space (me);
- return gh_double2scm (off);
+ /*
+ 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 (me, a != X_AXIS);
+ return ly_interval2scm (unsmob_stencil (m)->extent (a));