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