Thomas Morley <thomasmorle...@gmail.com> writes: > 2016-01-12 15:37 GMT+01:00 Pierre Perol-Schneider > <pierre.schneider.pa...@gmail.com>: > > I've always found it a little so-so, to define custom markup-commands > only combining a personal choice of preexisting markup-commands. > Wouldn't it be better to let it do by a scheme-function? > Though, you can't further reuse it in another markup like: > > \version "2.19.36" > > foo = #(define-scheme-function ()() #{ \markup "bla" #}) > \markup \line { "xy" \foo } > > Returns an error. > You would need to make some detour: > > %% Two possebilities to get the _result_ of `foo' > buzz = \foo > \markup \line { "xy" \buzz } > > \markup \line { "xy" ##{ \foo #} } > > Any chance to directly insert the result of a scheme-function in a > newly created markup?
I've just written a syntax rule allowing that, with the arguments of the scheme function being scanned in \notemode. Which is what they are usually scanned in. That's required for scheme functions with music arguments. However, it means that any markup arguments of the scheme function (apart from straightforward strings) need to be introduced using \markup ... I'm not sure whether we even should switch modes here. Maybe leave it to the responsibility of the user to invoke \notemode ? But \notemode does not accept anything but <<... >> or {...} so the kind of music arguments you can enter in that manner is fairly restricted. Hm, but one can always escape to ##{...#} to get \notemode. So... \notemode or \markup mode? And who writes up the docs and explains either complication? Current scheme functions with a music argument are: \beamExceptions \settingsFrom (oh, we have that one still?) \stringTuning Likely not all that important yet... -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user