msk...@ansuz.sooke.bc.ca writes: > Here's a small example showing the problem: > > \include "chord.ly" > music = { <c d>1 } > { \extractNote #3 \music } > > In version 2.21.0 that produces a whole-note rest. In version 2.24.1 with > Guile 2.2 it gives this error output: > > GNU LilyPond 2.24.1 (running Guile 2.2) > Processing `test.ly' > Parsing...ERROR: In procedure %resolve-variable: > Unbound variable: #{ }# > > Lilypond 2.24.1 compiled with Guile 3.0.9 also gives this error. > > I attach the version of chord.ly I'm using, which I got from the 2015 > discussion. I found these links helpful at that time and I think one of > them contained the original for this version of chord.ly: > http://gillesth.free.fr/Lilypond/chord/ > http://www.lilypondforum.de/index.php?topic=2080.msg11479#msg11479
Your way of "getting chord.ly from the 2015 discussion" is broken. To wit, it contains a line ((null? res) (let ((note (list-ref notes (1- len)))) ; last note (make-music 'RestEvent 'duration (ly:music-property note 'duration)))) which contains a delirious number of unbreakable spaces, code \xa0 instead of \x20 as for a normal, breakable space. Both Guile and LilyPond treat the unbreakable space as a normal character instead of a space character. Please fix your input file to stop containing unbreakable space characters and also make sure that the comment ; last note is not continued with unbreakable space characters into further code which turns it into a no-show for Guile. Once you fix your unbreakable space as well as missing linebreak after comment problems, things will likely look more normal. -- David Kastrup