--- /dev/null
+\version "2.11.50"
+
+\header {
+ texidoc = "An empty barline does not confuse the spacing engine too much.
+The two scores should look approximately the same."
+}
+
+\layout {
+ \context {
+ \Score
+ \accepts "Top"
+ }
+
+ \context {
+ \name "Top"
+ \alias "Staff"
+ \type "Engraver_group"
+ \consists "Output_property_engraver"
+ \consists "Bar_engraver"
+ \consists "Skip_event_swallow_translator"
+ \consists "Axis_group_engraver"
+
+ \override VerticalAxisGroup #'Y-extent = ##f
+ \override VerticalAxisGroup #'minimum-Y-extent = ##f
+ \override BarLine #'transparent = ##t
+ }
+}
+
+\paper {
+ ragged-right = ##t
+}
+
+\score {
+ <<
+ \new Top { s1 }
+ \new Staff { c''2 c''4 c''4 }
+ >>
+}
+
+\score {
+ { c''2 c''4 c''4 }
+}
#include "output-def.hh"
#include "pointer-group-interface.hh"
+static bool
+non_empty_barline (Grob *me)
+{
+ return Bar_line::has_interface (me) && !me->extent (me, X_AXIS).is_empty ();
+}
+
/*
TODO: detect hshifts due to collisions, and account for them in
spacing?
{
Grob *bar = Pointer_group_interface::find_grob (right_col,
ly_symbol2scm ("elements"),
- Bar_line::has_interface);
+ non_empty_barline);
if (bar)
{