Reverse the order when copying alists to other alists. This maintains
the order of properties, making sure overrides have their intended
effects.
--- /dev/null
+\header {
+
+ texidoc = "The order of setting nested properties does not influence
+ text spanner layout."
+
+}
+
+\version "2.11.34"
+
+sample = \relative c'' {
+ c2\startTextSpan c2 \break
+ c2 c2 \stopTextSpan
+}
+
+<< {
+ \override TextSpanner #'bound-details #'left-broken #' text =
+ \markup { \large "BROKEN" }
+ \override TextSpanner #'bound-details #'left #'text =
+ \markup { "text" }
+ \sample
+} \\ {
+ \override TextSpanner #'bound-details #'left #'text =
+ \markup { "text" }
+ \override TextSpanner #'bound-details #'left-broken #' text =
+ \markup { \large "BROKEN" }
+ \sample
+} >>
? ly_symbol2scm ("left-broken")
: ly_symbol2scm ("right-broken"), bound_details, SCM_EOL);
- for (SCM s = extra; scm_is_pair (s); s = scm_cdr (s))
+ for (SCM s = scm_reverse (extra); scm_is_pair (s); s = scm_cdr (s))
details = scm_cons (scm_car (s), details);
}