|
From: | David Kastrup |
Subject: | Re: Problem compiling: music-functions-init.ly |
Date: | Wed, 14 Nov 2018 10:06:40 +0100 |
User-agent: | Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux) |
Davide Liessi <address@hidden> writes: > Il giorno mer 14 nov 2018 alle ore 08:25 Keizen Li Qian > <address@hidden> ha scritto: >> Parsing.../usr/share/lilypond/2.18.2/ly/music-functions-init.ly:564:11: >> In procedure ly:music-transpose in expression (ly:music-transpose >> (make-music # # ...) tonic): >> /usr/share/lilypond/2.18.2/ly/music-functions-init.ly:564:11: Wrong >> type (expecting pair): major > > You probably wrote > \key c major > instead of > \key c \major Well spotted. The embarrassing thing is that we even get there: this is something that should rather be caught earlier. We have key = #(define-music-function (tonic pitch-alist) ((ly:pitch? '()) (list? '())) [...] and the word major qualifies as list? by getting converted to '(major) which is a symbol list like needed for some override/tweak specifications. So it very much looks like we should use a more specific predicate than list? for the scale type in order to not have that user error pass down in this manner. Suggestions? -- David Kastrup
[Prev in Thread] | Current Thread | [Next in Thread] |