Simon Albrecht <simon.albre...@mail.de> writes: > Hello everybody, > > I just wrote a music function to mark grobs as editorial addition by > colouring them grey. See the code and an example: > > \version "2.19.8" > > > ed = #(let > > ((string-or-list? > > (lambda (grob) > > (or (string? grob) > > (list? grob))))) > > (define-music-function > > (parser location grob mus) > > (string-or-list? ly:music?) > > #{ \override $grob . color = #(x11-color 'grey40) > > $mus > > \revert $grob . color #} > > ) > > )
"See the code" is a euphemism. Try telling your mail client not to reformat stuff. > \relative { \ed NoteHead c' \ed #'(Staff Accidental) { cis dis } es } > The 2.18 changes document says that #'(Staff Accidental) and > Staff.Accidental were now interchangeable, however if I replace it in > the second function call, I get errors (unexpected "." etc.). Is there > a way to avoid this in the coding of the function or should it be > considered a bug? Your predicate string-or-list? accepts a string, so LilyPond does not look for . or anything else. That's a really bad predicate to use here. Try symbol-list-or-symbol? instead. That should be pretty close to what one would expect from override-similar syntax. Probably symbol-list? alone is fine as well, but it will, of course, not accept #'Accidental (which is not a symbol list), even though it _will_ accept Accidental without any quotes. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user