My latest Lilypond project had been compiling satisfactorily.  But at a
certain point it began throwing out the following message:

%%%%%
Preprocessing graphical
objects.../usr/local/lilypond/usr/share/lilypond/current/ly/engraver-
init.ly:836:5: In procedure ly:stencil-extent in expression
(ly:stencil-extent (ly:note-head::print g) X):
/usr/local/lilypond/usr/share/lilypond/current/ly/engraver-
init.ly:836:5: Wrong type argument in position 2 (expecting axis):
#<Prob: Music C++: Music((duration . #<Duration 1 >) (origin .
#<location
/home/david/Cloud/LilyPond/PiedPiper/InputFiles/structure.ily:15:12stru
cture.ily:15:12>))((display-methods #<procedure #f (rest)>) (name .
SkipEvent) (iterator-ctor . #<primitive-procedure ly:rhythmic-music-
iterator::constructor>) (types event rhythmic-event skip-event)) >

Compilation exited abnormally with code 1 at Tue Aug  4 13:38:45
%%%%%

Fortunately the error message includes a pointer to the code which is
causing the problem: structure.ily:15:12.  Line 15 of that file reads:

X        = s1

It is part of a series of 313 lines which set variables for the
durations of each of the bars in the piece.  This line is for bar 10: I
use Roman numerals since Arabic numerals are not acceptable in variable
names unless quoted.  Quoting the name "X" does not help, however: I
still get the same error.

I can easily get around this problem: the name 'x', for instance, seems
to work OK as a replacement for 'X'.

But I am intrigued: what is Lilypond reading this line as?  What
significance does "X" have for Lilypond?

David




Reply via email to