lilypond-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Commit 4778c7326d726f50f6ac541322006d6b90795945


From: David Kastrup
Subject: Re: Commit 4778c7326d726f50f6ac541322006d6b90795945
Date: Tue, 06 Dec 2011 14:29:09 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.90 (gnu/linux)

"address@hidden" <address@hidden> writes:

> Le Dec 6, 2011 à 2:01 PM, David Kastrup a écrit :
>
>> "address@hidden" <address@hidden> writes:
>> 
>>> Hey all,
>>> 
>>> I believe that the variable `clone' needs to be unquoted in commit
>>> 4778c7326d726f50f6ac541322006d6b90795945 (it is part of a quasi-quoted
>>> list).  I haven't tested it thoroughly, but please give it a look and
>>> lemme know if this is indeed the case.
>> 
>> How about reporting the problem you are actually seeing?
>> 
>
> If one defines a music function incorrectly and then tries to use it, i.e. :
>
> foo =
> #(define-music-function (parser location)
> #{ a #})
>
> \foo
>
> One gets the following warning message:
>
> Parsing...
> foo.ly:4:1: error: GUILE signaled an error for the expression beginning here
> #
>  (define-music-function (parser location)
> Unbound variable: clone
> fatal error: failed files: "foo.ly"

That would likely be the list of predicates starting off as

(let* ((clone ...

that means, the first argument is of type let*, the second argument is,
uh, whatever.  I don't see that the #{...#} can evaluate to anything not
looking like an arglist superficially.

(begin (let* (( ... ))))

would be a predicate of "begin" followed by an optional predicate "let*"
with a value of (( and then you are again at a point where clone is
getting called.

define-music-function could possibly try to check for the most likely
programming errors and turn them into an error explicitly.

Frog task.

-- 
David Kastrup



reply via email to

[Prev in Thread] Current Thread [Next in Thread]