lilypond-devel
[Top][All Lists]
Advanced

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

Re: guilev2 problem (user-markup-command sometimes not accepted)


From: David Kastrup
Subject: Re: guilev2 problem (user-markup-command sometimes not accepted)
Date: Sun, 11 Nov 2018 21:14:08 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/27.0.50 (gnu/linux)

David Kastrup <address@hidden> writes:

> Thomas Morley <address@hidden> writes:
>
>> Hi,
>>
>> the following works fine with current master (and every tested lily-version):
>> #(begin
>>  (define-markup-command (dummy layout props arg) (markup?)
>>    (interpret-markup layout props arg))
>>  (display-scheme-music (markup #:dummy "foo")))
>> #(display "whatever")
>>
>> With guilev2 I get:
>> $ lilypond-git-guile-2.2 atest-85.ly
>> GNU LilyPond 2.21.0
>> Processing `atest-85.ly'
>> Parsing...
>> fatal error: Not a markup command: dummy
>>
>> Not even the later 'display' is reached.
>>
>> Though this works:
>> #(define-markup-command (dummy layout props arg) (markup?)
>>    (interpret-markup layout props arg)
>> #(display-scheme-music (markup #:dummy "foo")))
>> #(display "whatever")
>>
>>
>> I'm not able to track this down, anyone with some insight?
>
> I think that Guilev2 may do the syntax form expansion concerning
> "markup" before executing the define-markup-command when both are
> contained in one begin form.  Macros are executed a bit differently in
> Guilev2 than in Guilev1.

The markup macro is a piece of crock anyway.  Use
(display-scheme-music (make-dummy-markup "foo"))
or
(display-scheme-music #{ \markup \dummy foo #})
here to get out of that predicament.

-- 
David Kastrup



reply via email to

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