[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
thanks
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).
Okay.
>> * 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.
Mark