> Here's a small example showing the problem:
> \include ""
> 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 `'
> 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 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

Your way of "getting 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 

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

; 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

Reply via email to