On Fri, 2013-11-22 at 06:56 +0100, David Kastrup wrote: > Graham King <[email protected]> writes: > > >> On Fri, 2013-11-22 at 00:46 +0100, David Kastrup wrote: > >> > >>> Graham King <[email protected]> writes: > >>> > >>> Assuming a reasonably recent version of 2.17, use the predicate symbol? > >>> for the type. The whole construct for your cases is sufficiently > >>> different that it's probably easiest to do the body as > >>> > >>> (let ((bunch #{ \markup { bunch of stuff } #})) > >>> (case arg4 > >>> ((system) #{ \mark #bunch #}) > >>> ((staff) #{ <>^ #bunch #}) > >>> (else #{ \mark \markup \color #red #bunch }))) > >> > > > > Thanks David, > > I hadn't considered that approach, and it looks very promising. I'm on > > 2.16 at the moment - I hope that won't be a problem. > > The above quote starts with "Assuming a reasonably recent version of > 2.17". > > With 2.16, you either need to give your argument as #'system or #'staff, > or make that argument of type string?. > > In which case you'll need to write (case (string->symbol arg4) ... or > use a different construct than case. > > And #{ <>^ #bunch #} will likely need to use $bunch instead, and the > same might go for the else-part.
Thanks for this. I'm copying this to the list in case it helps others. > > And please trim the quoted material to just the relevant context and > answer directly below each point. <...> Apologies for this and for inadvertently replying off-list. _______________________________________________ lilypond-user mailing list [email protected] https://lists.gnu.org/mailman/listinfo/lilypond-user
