bug-guile
[Top][All Lists]
Advanced

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

bug#72366: srfi-64: on-bad-end-name-function has swapped arguments


From: Taylan Kammer
Subject: bug#72366: srfi-64: on-bad-end-name-function has swapped arguments
Date: Mon, 30 Sep 2024 16:04:57 +0200
User-agent: Mozilla Thunderbird

On 30.07.2024 21:51, Tomas Volf wrote:
> Hello,
>
> I think I found a bug in (srfi srfi-64) module shipped with GNU Guile.
>
> The specification describes the on-bad-end-name-function like this:
>
>     (on-bad-end-name-function runner begin-name end-name)
>
> Thus the following should print `x':
>
>     (use-modules (srfi srfi-64))
>     (let ((r (test-runner-null)))
>       (test-runner-current r)
>       (test-runner-on-bad-end-name! r
>         (λ (runner begin-name end-name)
>           (pk begin-name)))
>       (test-begin "x")
>       (test-assert #t)
>       (test-end   "y"))
>
> But it does not:
>
>     ;;; ("y")
>
> Have a nice day
> Tomas Volf
>
>
This is clearly a bug IMO and I've now fixed it in my implementation.

I've also decided to remove the check on whether the begin-name is true, 
because as per spec it's not allowed to be false anyway, and IMO it should call 
the bad-end-name callback if the begin-name was explicitly passed as #f but the 
end-name is not also #f.

- Taylan






reply via email to

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