Caio Giovaneti de Barros <caio.bar...@gmail.com> writes: > Hello! > > I'm trying to build a function that creates a circled text of my > choice using \markup and a bit of Scheme. So far what I have is: > > circled = #(define-music-function (parser location txt) (string?) > > #{ \markup { \circle #txt } #}) > > > \relative c' { c \circled #"1" } > > > > But when I run it with Lilypond 2.19.23 I get: > > > In expression (value->lily-string m): > > /home/caio/lilypond/usr/share/lilypond/current/scm/ly-syntax-constructors.scm:33:14 > <1>: Unbound variable: value->lily-string
That is a bug. LilyPond hits an internal error while trying to report gogr.ly:6:18: error: music function cannot return \markup \line { \circle "1"} \relative c' { c \circled #"1" } > Version 2.18.2 gives me: > > music function cannot return (#<procedure line-markup (layout props > args)> ((#<procedure circle-markup (layout props arg)> 1))) > > \relative c' { c > \circled #"1" } Same error, just not formatted as nice. > What am I doing wrong? A music function has to return music. You return a markup. You probably want an event function here, and return #{ -\markup ... #} (with the leading -, the markup turns into a text script). You could also just use the markup command and write \relative c' { c-\markup \circle #"1" } but apparently that's not what you want. -- David Kastrup _______________________________________________ lilypond-user mailing list lilypond-user@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-user