On Wed, 2023-12-13 at 21:29 +0100, Jean Abou Samra wrote: > The quick fix here is to change > > (let* ((default-name (ly:grob-property grob 'text))) > to > > (let* ((default-name (markup->string (ly:grob-property grob 'text)))) > > in order to first get an approximate string representation of that > markup that corresponds to the keys in your alist.
There's may be one extra paren in there because it threw a syntax error. I removed one paren and it seems to work: germanNoteNames = #(lambda (grob) (let* ((default-name (markup->string (ly:grob-property grob 'text))) (new-name (assoc-get default-name newnames))) (ly:grob-set-property! grob 'text new-name) (ly:text-interface::print grob))) Tested on the mwe I made earlier today. Is that a proper fix, or is something else wrong?