[Top][All Lists]

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

bug#17096: Guile 1.8: syntax-case messed up when "void" is defined

From: Mark H Weaver
Subject: bug#17096: Guile 1.8: syntax-case messed up when "void" is defined
Date: Tue, 01 Apr 2014 09:44:27 -0400
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

tags 17096 wontfix
close 17096

David Kastrup <address@hidden> writes:

> Mark H Weaver <address@hidden> writes:
>> However, I looked at the implementation of syntax-case in Guile 1.8.8
>> and in short, I think you're stuffed.
> Well, ok.  I thought this would be a nice thing to use syntax-case for,
> but it would have been a first in the LilyPond code base (and obviously
> no users of LilyPond have used anything but procedural macros so far, or
> we'd have heard complaints).


>> * Drop support for Guile 1.8 in the first version of LilyPond that
>>   supports Guile 2.0,
> Guile 2.0 is pretty much ubiquitous by now, so we will not have to
> support multiple versions.  We'll be able to more or less do a hard cut
> here once Guile 2.0 is supported in an acceptable manner.

Sounds good.

> Redefinitions in LilyPond itself have proven infeasible since they
> clashed with the module system, leading to warnings about definitions
> stemming from different modules.

FWIW, you can avoid those warnings by using '#:replace' to export
definitions that are expected to conflict.  See
ice-9/curried-definitions.scm for an example.

Alternatively, as noted in the manual:

  A ‘#:replace’ clause is equivalent to ‘(export! LIST)’
  in the module body.


reply via email to

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