[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: T1247 - Conditionally do (use-modules (ice-9 curried-definitions)) i
From: |
Ian Hulin |
Subject: |
Re: T1247 - Conditionally do (use-modules (ice-9 curried-definitions)) if running with Guile V2, (issue2219044) |
Date: |
Thu, 21 Oct 2010 21:11:52 +0100 |
User-agent: |
Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.11) Gecko/20101013 Lightning/1.0b3pre Thunderbird/3.1.5 |
Hi Patrick,
On 21/10/10 01:12, address@hidden wrote:
> Hi Ian,
>
> I just tested your patch.
>
> In addition to the small tweak that is needed (see my comment below), it
> seems that the `(use-modules (ice-9 curried-definitions))' statement
> does not carry over to display-lily.scm. I am a bit puzzled by this.
>
> This is the error message, in context:
>
> ;;; compiling
> /home/pnorcks/usr/share/lilypond/2.13.37/scm/music-functions.scm
> ;;; compiling
> /home/pnorcks/usr/share/lilypond/2.13.37/scm/display-lily.scm
> ;;; WARNING: compilation of
> /home/pnorcks/usr/share/lilypond/2.13.37/scm/display-lily.scm failed:
> ;;; key syntax-error, throw args (macroexpand "~a in ~a" ("source
> expression failed to match any pattern" (define
> ((make-music-type-predicate-aux mtypes) expr) (if (null? mtypes) #f (or
> (eqv? (car mtypes) (ly:music-property expr (quote name)))
> ((make-music-type-predicate-aux (cdr mtypes)) expr))))) #f)
> ;;; WARNING: compilation of
> /home/pnorcks/usr/share/lilypond/2.13.37/scm/music-functions.scm failed:
> ;;; key wrong-type-arg, throw args (#f "Wrong type to apply: ~S" (#f)
> (#f))
>
>
> Fortunately, it seems that the Scheme interpreter in Guile 1.9 is used
> as a fallback when compilation fails, since this doesn't interpret the
> make process.
>
> Can you reproduce this with Guile 1.9.13?
>
Rats! I had a patched version of display-lily.scm with this as the star
of the module on my VM with guile 1.9 installed:
(define-module (scm display-lily)
#:use-module (ice-9 optargs)
#:use-module (ice-9 format)
#:use-module (ice-9 regex)
#:use-module (ice-9 pretty-print)
#:use-module (srfi srfi-1)
#:use-module (srfi srfi-13)
#:use-module (srfi srfi-39)
#:use-module (lily)
#:use-syntax (srfi srfi-39)
#:use-syntax (ice-9 optargs))
;;; (ice-9 curried-definitions) does not exist in Guile V1.8,7
;;; TODO change this to
;;; #:use-module (ice-9 curried-definitions)
;;; once Guile V1.8 support is dropped so it's consistent
(if (string>? (version) "1.9.10")
(use-modules (ice-9 curried-definitions)))
I'd obviously got to this bit and forgot to copy it back to my main
machine's environment and retest before my recent dose of flu.
> Thanks,
> Patrick
>
>
> http://codereview.appspot.com/2219044/diff/15001/scm/lily.scm
> File scm/lily.scm (right):
>
> http://codereview.appspot.com/2219044/diff/15001/scm/lily.scm#newcode227
> scm/lily.scm:227: (use-modules (ice-9 curried-definitions))))
> In this section, the parenthesis nesting needs some adjustment.
>
> It should be
>
> ((guile-v2)
> (if (ly:get-option 'verbose)
> (ly:message (_ "Using (ice-9 curried-definitions) module\n")))
> (use-modules (ice-9 curried-definitions)))
>
> http://codereview.appspot.com/2219044/
Nice catch, ta.
Cheers,
Ian
- Re: T1247 - Conditionally do (use-modules (ice-9 curried-definitions)) if running with Guile V2, (issue2219044), ianhulin44, 2010/10/20
- Re: T1247 - Conditionally do (use-modules (ice-9 curried-definitions)) if running with Guile V2, (issue2219044), ianhulin44, 2010/10/20
- Re: T1247 - Conditionally do (use-modules (ice-9 curried-definitions)) if running with Guile V2, (issue2219044), pnorcks, 2010/10/20
- Re: T1247 - Conditionally do (use-modules (ice-9 curried-definitions)) if running with Guile V2, (issue2219044), pnorcks, 2010/10/20
- Re: T1247 - Conditionally do (use-modules (ice-9 curried-definitions)) if running with Guile V2, (issue2219044),
Ian Hulin <=
- Re: T1247 - Conditionally do (use-modules (ice-9 curried-definitions)) if running with Guile V2, (issue2219044), ianhulin44, 2010/10/27