Urs Liska <[email protected]> writes:

> Am 15.02.2013 12:39, schrieb David Kastrup:
>> Urs Liska <[email protected]> writes:
>>
>>> Am 15.02.2013 12:18, schrieb Jan-Peter Voigt:
>>>
>>>      Am 15.02.2013 11:40, schrieb Urs Liska:
>>>      You can create an adhoc-book in scheme with a #{-#} construct:
>>>           writeScoreOddEven =
>>>           #(define-void-function (parser location score)
>>>           (ly:score?)
>>>           (let ((book #{ \book { \score { $score } } #}))
>>>           ; process with first-number 1
>>>      Unfortunately this gives me the following error:
>>>
>>> In procedure memoization in expression (let (book #)):
>> Try copy&paste.  You are missing one.
> Huh? I'm missing one what?

Paren.  Jan-Peter wrote (let ((book ... and you wrote (let (book ...

> Am I right that the '(let ...' line is one statement and that the last
> )' in this line should match the one right before 'let'?

No.

> In fact I did copy&paste, the line as above is quoted from Jan-Peter's
> email. But of course we're not here to blame but to solve the problem
> ;-)

But you did not _leave_ it the way you copied it.  The error message
clearly points out that you removed a paren.

>>> Your example was either missing a closing bracket or having one
>>> opening bracket too much. But that doesn't change anything.
>> No, you just did not understand that
>> ; process with first-number 1
>> was supposed to be replaced by the rest of the function body, depending
>> on what you want done.
> Of course I know that (the comment line was actually from _my_ file).
> Attached you see the complete file.

How about _not_ "correcting" the line by Jan-Peter and instead adding
the matching closing paren at the _end_ of the function?

-- 
David Kastrup


_______________________________________________
lilypond-user mailing list
[email protected]
https://lists.gnu.org/mailman/listinfo/lilypond-user

Reply via email to