[Top][All Lists]

[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
Subject: Re: T1055: Avoid using deprecated %module-public-interface in guile initialisation. (issue1160044)
Date: Mon, 09 Aug 2010 20:01:10 +0000
File input/regression/ (right):
input/regression/ #(use-modules (scm clip-region))
On 2010/08/09 19:08:58, Neil Puttock wrote:
This is fine for a regression test, but not very user-friendly (don't
you'd also have to add it to the docs snippet from LSR, otherwise a
docs build
will fail.)

Presumably this means make a parallel change to
Documentation/snippets/ OK.
Rather than make clipping systems even more esoteric, I'd be happier
moving the
rhythmic-location code out of clip-region.scm and into output-lib.scm

Valid point, but I'd rather do the work for clip-region as a separate
tracker item. Raise the tracker and I'll start work on it as soon as
this one's finished.
File lily/ (right):
lily/ scm_c_export (symstr.c_str(), NULL);
On 2010/08/09 19:08:58, Neil Puttock wrote:
Can you give an example justifying this addition?

I can't think of any identifier set in a .ly file which would need
It was an answer from Han-Wen about how we'd got into using
%module-public-interface in the first place:

"I think %public-interface hack is to force all of the definitions
including future ones to be public;  the code that executes the
assignments just does

      scm_module_define (mod, sym, val);  --

without doing anything to export sym."
File lily/ (right):
lily/ SCM maker =
On 2010/08/09 19:08:58, Neil Puttock wrote:
ly_lily_module_constant (

lily/ Guile V1.9/2.0
On 2010/08/09 19:08:58, Neil Puttock wrote:
Is it?

If it isn't, they forgot to forward-port "the-scm-module" as a synonym
for "the-root-module".
It's easier for us change our code base to avoid the problem than wait
for guile to change theirs.
File scm/define-grob-properties.scm (right):
scm/define-grob-properties.scm:19: (use-modules (scm clip-region))
On 2010/08/09 19:08:58, Neil Puttock wrote:
Why not leave this in lily.scm?

Because it doesn't work.
It used to pick up the definition in as a beneficial side-effect
of using %module-public-interface in ly_make_module when defining
This change makes things cleaner all round because only things needing
this module use it and reference it specifically.
The other alternative was to dump all the definitions from the module
into lily.scm, Han-Wen said this had been on his to-do list for a while.
and favoured this approach.
File scm/lily.scm (right):
scm/lily.scm:215: (apply fancy-format (cons dest . rest))))
On 2010/08/09 18:35:54, Patrick McCarty wrote:
`cons' only works with two concrete arguments, like

   (cons dest rest)
Generally it will get two arguments, but I was modeling this on the
ergonomic-simple-format procedure.
See below for the reasons for doing this, but I don't think it will get
here if rest isn't defined, as 'format only gets thrown if there's a
formatting string to have a directive in.
scm/lily.scm:219: (catch 'format
On 2010/08/09 18:35:54, Patrick McCarty wrote:
Is this change supposed to be part of the patchset?

Also, I don't understand the logic here.  Is 'format ever thrown?  If
so, which
procedure does this?
Yes,  If we don't have this handler, scm/define-grob-properties barfs
during initialization.  Procedure simple-format only handles a subset of
format directives, and throws 'format if it sees one it can't handle.
It kills the build and the regtests if we don't handle it here. The
other option is to change define-grob-properties to use fancy-format
(a.k.a the definition from module (ice-9 format)).

reply via email to

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