#include <cxxabi.h>
#include <cmath>
+#include <cstring>
#include <iostream>
+#include <limits>
#include <map>
#include <memory>
#include <sstream>
#include "file-path.hh"
+#include <limits.h>
+
#include "yaffut.hh"
#include "config.hh"
--- /dev/null
+\version "2.11.44"
+
+\header {
+ texidoc = "When a score takes up only a single line and it is compressed, it
+is not printed as ragged."
+}
+
+{ \repeat unfold 9 {a b c d} }
\ No newline at end of file
--- /dev/null
+\version "2.11.44"
+
+\header {
+ texidoc = "When ragged-right is specifically disabled, a score with only one
+line will not be printed as ragged."
+}
+
+\paper {
+ ragged-right = ##f
+}
+
+{ a b c d }
\ No newline at end of file
--- /dev/null
+\version "2.11.44"
+
+\header {
+ texidoc = "When a score takes up only a single line and it is stretched, it
+is printed as ragged by default."
+}
+
+{ a b c d }
\ No newline at end of file
bool last = j == breaks_.size () - 1;
bool ragged = ragged_right || (last && ragged_last);
+ /* As a special case, if there is only one line in the score and ragged-right
+ hasn't been specifically forbidden and the line is stretched, use
+ ragged spacing. */
+ if (last && i == 0
+ && lines_.at (i, j).force_ >= 0
+ && !scm_is_bool (pscore_->layout ()->c_variable ("ragged-right"))
+ && !scm_is_bool (pscore_->layout ()->c_variable ("ragged-last")))
+ ragged = true;
+
return get_line_configuration (line, line_dims[RIGHT] - line_dims[LEFT], line_dims[LEFT], ragged);
}
&& !to_boolean (me->get_property ("merge-differently-headed")))
merge_possible = false;
+ /* what's this for? In particular, why do we check merge_possible when we
+ haven't finished determining it yet? --jneem */
if (merge_possible
&& head_up->get_property ("style") == ly_symbol2scm ("fa")
&& head_down->get_property ("style") == ly_symbol2scm ("fa"))