[frogs] Lilypond and Guile forward compatibility (was RE: %module-public-interface) |
[ Thread Index | Date Index | More lilynet.net/frogs Archives ]
Hi Patrick, On 02/04/10 19:50, Patrick McCarty wrote:
I've clone the LilyPond git repo so I can play with the lily Scheme scripts which barf with Guile 1.9.x. If you've got any C++ patches I can use so I can debug the .scm files I'd be grateful. I've already got a version of lily.scm which gets round the stuff with testing PLATFORM to see if it's running on Windows, but I'm getting crashes during initialization running with Guile V2.0 which I'm finding difficult to debug.On 2010-04-02, Ian Hulin wrote:3. There's a restriction introduced in Guile V2.0 whereby dynamic use of define, define-public and variants will cause the guile compilation to fail with diagnostics. We have these in our basic Scheme files (lily.scm and lily-library.scm). These compilation failures currently stop Lilypond building altogether.This is really just a stricter adherence to the Scheme R5RS. (if ...) can only contain *expressions*, IIUC, and (define ...) is a top-level definition, not an expression. But yes, either LilyPond will need to adapt to these stricter guidelines, or Guile will loosen its policy with respect to (if ...) statements.4. We've already seen the %module-public-interface thing in the Lily C++. There's probably more smelly stuff lurking in the C++ interface, which won't surface until we start trying to use Guile 2.0 more.I think almost everything is fixed on the C++ side now.
I'm trying to run lily in a $meta/uninstalled-env bash environment.If I build Lilypond in a normal Guile V1.8.7 environment, and then run it under Guile V1.9.10, I get this
ian@nanny-ogg:~/usr/src/lilypond$ out/bin/lilypond GNU LilyPond 2.13.18 ERROR: Unbound variable: eval-when ^C ian@nanny-ogg:~/usr/src/lilypond$ --- ---- Join the Frogs!
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |