Re: 2.24 medium = \normal-weight in 2.26
Richard Shann <[email protected]>
| Newsgroups | gmane.comp.gnu.lilypond.general |
|---|---|
| Message-ID | <[email protected]> |
On Thu, 2026-08-13 at 18:49 +0200, David Kastrup wrote: > Richard Shann <[email protected]> writes: > > > On Thu, 2026-08-13 at 12:16 +0100, Richard Shann wrote: > > > On Thu, 2026-08-13 at 11:05 +0200, Lukas-Fabian Moser wrote: > > > > Hi Richard, > > > > > > > > Am 13.08.26 um 10:55 schrieb Richard Shann: > > > > > Is there a way of putting something like > > > > > medium = \normal-weight > > > > > in a header file to convert from uses of \medium in markup in > > > > > LilyPond > > > > > 2.24 to pass 2.26 (so as to aviud going through physically > > > > > replacing > > > > > \medium with \normal-weight?) > > > > > The above doesn't work, I guess because it's being invoked > > > > > inside > > > > > markup... > > > > > > > > The syntax is a bit more complicated in the case of markup > > > > functions: > > > > > > > > \markup medium = \markup \normal-weight \etc > > > > > > Perfect! Thank you very much. > > > > I looked up the docs on using ly:version? to allow older files to > > be > > typeset in older or newer syntax and I understood this should work: > > > > #(if (ly:version? > '(2 24)) > > #{ \markup medium = \markup \normal-weight \etc #}) > > Then the docs are really wrong. #{ ... #} generally is for creating > expressions, not side effects, and an assignment is a side effect. > > > gives > > \markup medium = \markup \normal-weight \etc > > /tmp/frescobaldi-oorxliqz/tmp7qct88s5/document.ly:4:17: error: > > syntax > > error, unexpected '=' > > > > I didn't manage to nail down an explanation of #{ ... #} but it > > seemed > > like it was for inserting LilyPond syntax at that point in the > > file. > > No. It isn't for "inserting LilyPond syntax" but it is for writing > expressions utilizing LilyPond syntax instead of Scheme syntax. > > For older versions, you'd probably have to use something like > > #(define-markup-command (medium layout props arg) (markup?) > (interpret-markup layout props > #{ \markup \normal-weight arg #})) Thanks! That did the trick: #(if (ly:version? > '(2 25)) (define-markup-command (medium layout props arg) (markup?) (interpret-markup layout props #{ \markup \normal-weight arg #}))) Richard