"m...@apollinemike.com" <m...@apollinemike.com> writes:

> Le Dec 6, 2011 à 2:01 PM, David Kastrup a écrit :
>
>> "m...@apollinemike.com" <m...@apollinemike.com> 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

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to