bug-lilypond
[Top][All Lists]
Advanced

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

Re: Issue 1055 in lilypond: guile 2.0


From: lilypond
Subject: Re: Issue 1055 in lilypond: guile 2.0
Date: Wed, 20 Oct 2010 21:45:33 +0000


Comment #17 on issue 1055 by pnorcks: guile 2.0
http://code.google.com/p/lilypond/issues/detail?id=1055

Yes. This has to do with the markup macros *not* being defined before they are used. They need to be with Guile 1.9.

In my branch (http://repo.or.cz/w/lilypond/patrick.git/shortlog/refs/heads/guile), have a look at the commit

"Move markup macros to new file, and reorder load list."

Somehow my commit summary was lost, but I cited a NEWS entry for Guile 1.9 that explains what is happening:

  ** Macros need to be defined before their first use.

  It used to be that with lazy memoization, this might work:

    (define (foo x)
      (ref x))
    (define-macro (ref x) x)
    (foo 1) => 1

  But now, the body of `foo' is interpreted to mean a call to the toplevel
  `ref' function, instead of a macro expansion. The solution is to define
  macros before code that uses them.





reply via email to

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