Simon Albrecht <simon.albre...@mail.de> writes: > On 19.05.2016 03:23, David Wright wrote: >> \layout { >> \context { >> \Staff >> \override StaffSymbol.break-align-symbols = #'(time-signature >> key-signature staff-bar break-alignment) >> } >> } > > I tried to use the proper LilyPond list syntax here: > \override StaffSymbol.break-align-symbols = > time-signature,key-signature,staff-bar,break-alignment > – which would be beautiful, but the parser doesn’t expect it > there. Could that be made working, David?
Override arguments are not type-checked at parsing time, so the syntax cannot be adopted according to the accepted type. The situation is similar for \tweak: while it is a music function, its value type cannot be changed on-the-fly depending on the name of the preceding symbol: it is always scheme? . If we require lookahead for _any_ string matched by a generic predicate like scheme? in order to see whether there is a "," following maybe, and then convert what started out as a symbol into a list of symbols, a lot of syntax will behave more weirdly. Giving \override type-sensitive syntax without being able to do so for \tweak would be highly inconsistent, and the current music function argument processing does not allow us to calculate a symbol-list? predicate after having seen the incomplete argument list of \tweak StaffSymbol.break-align-symbols . So no. It cannot reasonably be made to work like you want, but you can define a music function for overriding break-align-symbols specifically and give that function an argument type of symbol-list? (which obviously means that you cannot use the \etc shortcut). -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user