[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: case-lambda* question
From: |
Ludovic Courtès |
Subject: |
Re: case-lambda* question |
Date: |
Mon, 14 Jan 2013 13:22:28 +0100 |
User-agent: |
Gnus/5.130005 (Ma Gnus v0.5) Emacs/24.2 (gnu/linux) |
Hi!
Andy Wingo <address@hidden> skribis:
> So, the story here is fairly simple, but the result is complicated.
Woow, thanks for the clear and thorough explanation!
[...]
> Again, considering the first clause:
>
> ((lambda* (a #:key x) 3) 1 2 3)
>
> Does it apply? It shouldn't: there are three positional arguments,
> whereas only one is expected. However, Guile currently thinks that it
> does, in the case-lambda* context, because it only checks that there is
> at least one positional argument. This is probably a bug.
>
> The attached patch fixes the problem. If there are no comments against
> it, I will apply it to stable-2.0. It does introduce a slight
> incompatibility, but I don't think there are many case-lambda* users,
> and it makes cases work that previously failed to work.
Yes, makes sense to me.
Ludo’.