lilypond-devel
[Top][All Lists]
Advanced

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

Re: T1055: Avoid using deprecated %module-public-interface in guile init


From: Ian Hulin
Subject: Re: T1055: Avoid using deprecated %module-public-interface in guile initialisation. (issue1160044)
Date: Sun, 01 Aug 2010 01:11:41 +0100
User-agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.7) Gecko/20100713 Thunderbird/3.1.1

Hi Patrick, Neil and all,

On 29/07/10 20:24, address@hidden wrote:
On 2010/07/29 00:55:35, Patrick McCarty wrote:

With your patchset, I am getting a compile failure with the regression
test
`profile-property-access.ly':

Same here.

How did you guys track it down to this module?  I only get from the
regression test is this message (this is the tail of the log file).
<snip>

Processing 59/lily-af159abe
Processing 4f/lily-cdefb8cf
Processing 52/lily-23a75a14
command failed: /home/ian/lilypond/out/bin/lilypond -I ./ -I ./out-test
-I ../../input -I /home/ian/lilypond/Documentation -I
/home/ian/lilypond/Documentation/snippets -I ../../input/regression/ -I
/home/ian/lilypond/Documentation/included/ -I /home/ian/lilypond/mf/out/
-I /home/ian/lilypond/mf/out/ -I
/home/ian/lilypond/Documentation/pictures -I
/home/ian/lilypond/Documentation/pictures/./out-test -dbackend=eps
--formats=ps  -dseparate-log-files -dinclude-eps-fonts
-dgs-load-lily-fonts --header=texidoc -I
/home/ian/lilypond/Documentation/included/ -ddump-profile
-dcheck-internal-types -ddump-signatures -danti-alias-factor=1 -I
"/home/ian/lilypond/out/lybook-testdb"  -I
"/home/ian/lilypond/input/regression"  -I
"/home/ian/lilypond/input/regression"  -I
"/home/ian/lilypond/input/regression/out-test"  -I
"/home/ian/lilypond/input"  -I  "/home/ian/lilypond/Documentation"  -I
"/home/ian/lilypond/Documentation/snippets"  -I
"/home/ian/lilypond/input/regression"  -I
"/home/ian/lilypond/Documentation/included"  -I
"/home/ian/lilypond/mf/out"  -I  "/home/ian/lilypond/mf/out"  -I
"/home/ian/lilypond/Documentation/pictures"  -I
"/home/ian/lilypond/Documentation/pictures/out-test" --formats=eps
-deps-box-padding=3.000000  -dread-file-list -dno-strip-output-dir
"/home/ian/lilypond/out/lybook-testdb/snippet-names--1834923873.ly"
Child returned 1
make[2]: *** [out-test/collated-files.texi] Error 1
make[1]: *** [local-test] Error 2
make: *** [test] Error 2



+ = scm_list_3 (ly_symbol2scm ("module-use!"), mod, used);

This effectively exports all bindings, so all local defines are now
exported.


Unless I misunderstood Han-Wen,that's why we were jerking around with
%module-public-interface in the first place.

In the case of `profile-property-access.ly', the format call ends up
using `ergonomic-simple-format' from lily.scm.

O.K. I reckon this will do the biz. in lily.scm

(use-modules (ice-9 regex)
              (ice-9 safe)
              (ice-9 format)
              (ice-9 rdelim)
              (ice-9 optargs)
              (oop goops)
              (srfi srfi-1)
              (srfi srfi-13)
              (srfi srfi-14)
              (scm clip-region)
              (scm memory-trace)
              (scm coverage))

(define-public fancy-format
  format)

(define (simple-format-handler dest . rest);
    (if (string? dest)
        (apply fancy-format (cons #f (cons dest . rest)))
        (apply fancy-format (cons dest . rest))))

(define-public (ergonomic-simple-format dest . rest)
  "Like ice-9 format, but without the memory consumption."
  (catch 'format
  (lambda () (if (string? dest)
      (apply simple-format (cons #f (cons dest rest)))
      (apply simple-format (cons dest rest))))
  (lambda (key dest . rest) (simple-format-handler dest . rest)))

(define format
  ergonomic-simple-format)

It works OK in guile REPL, I'll try another regression test run.

Cheers,

Ian



reply via email to

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