lilypond-devel
[Top][All Lists]
Advanced

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

Re: regtest bombs out with guilev2


From: David Kastrup
Subject: Re: regtest bombs out with guilev2
Date: Sat, 03 Feb 2018 23:52:05 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/26.0.50 (gnu/linux)

Thomas Morley <address@hidden> writes:

> 2018-02-03 23:21 GMT+01:00 David Kastrup <address@hidden>:
>
>>
>> Ok, then it's the primitive-eval crapping out.  parser.yy has
>>
>>         | markup_mode_word '=' identifier_init
>>         {
>>                 if (scm_is_false (Lily::markup_function_p ($3)))
>>                 {
>>                         parser->parser_error (@3, _ ("Not a markup 
>> function"));
>>                 } else {
>>                         scm_primitive_eval
>>                                 (scm_list_3
>>                                  (Lily::define_markup_command,
>>                                   scm_string_to_symbol ($1),
>>                                   ly_quote_scm ($3)));
>>                 }
>>                 $$ = SCM_UNSPECIFIED;
>>         }
>>         ;
>>
>> So basically
>
> Compiling a file with nothing else then:
>
>> #(primitive-eval (list define-markup-command 'bold-red
>>                        #{ \markup \bold \with-color #red \etc #}))
>
> returns:
>
> error: GUILE signaled an error for the expression beginning here
> #
>  (primitive-eval (list define-markup-command 'bold-red
> source expression failed to match any pattern
> fatal error: failed files: "atest-70.ly"

Ugh.  Ok, I think I got this.  I'll split define-markup-command into a
macro just calling an internal function, and I'll use the internal
function inside of the parser.  Calling macros from C++ seems to be a
bad idea.

-- 
David Kastrup



reply via email to

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