David Kastrup <d...@gnu.org> writes: > Thomas Morley <thomasmorle...@gmail.com> 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 _______________________________________________ lilypond-devel mailing list lilypond-devel@gnu.org https://lists.gnu.org/mailman/listinfo/lilypond-devel