GNU bug report logs -
#72381
srfi-64: test-result-remove fails to remove property
Previous Next
Reported by: Tomas Volf <~@wolfsden.cz>
Date: Tue, 30 Jul 2024 19:53:16 UTC
Severity: normal
Done: Tomas Volf <~@wolfsden.cz>
Bug is archived. No further changes may be made.
Full log
Message #8 received at 72381 <at> debbugs.gnu.org (full text, mbox):
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.
>
> When I try to remove a property from the result alist using this code:
>
> (use-modules (srfi srfi-64))
> (let ((r (test-runner-null)))
> (test-result-set! r 'arstars 'a)
> (test-result-remove r 'arstars))
>
> I get the following error:
>
> Backtrace:
> In ice-9/boot-9.scm:
> 1752:10 8 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
> In unknown file:
> 7 (apply-smob/0 #<thunk 7f0fcff80300>)
> In ice-9/boot-9.scm:
> 724:2 6 (call-with-prompt _ _ #<procedure default-prompt-handler (k proc)>)
> In ice-9/eval.scm:
> 619:8 5 (_ #(#(#<directory (guile-user) 7f0fcff83c80>)))
> In ice-9/boot-9.scm:
> 2836:4 4 (save-module-excursion _)
> 4388:12 3 (_)
> In srfi/srfi-64/testing.scm:
> 546:35 2 (test-result-remove #<test-runner pass-count: 0 fail-count: 0 xpass-count: 0…> …)
> 548:55 1 (loop ((arstars . a)))
> 548:47 0 (loop ())
>
> srfi/srfi-64/testing.scm:548:47: In procedure loop:
> In procedure car: Wrong type argument in position 1 (expecting pair): ()
>
> From cursory look at the `test-result-remove' source, is seems that the named
> let `loop' is missing a stop condition?
>
> Have a nice day
> Tomas Volf
>
>
Your diagnosis sounds correct to me. A null check should fix it.
However, it's already fixed in my SRFI-64 implementation, thanks to using clean coding practices such as: "Don't reinvent SRFI-1." :-)
- Taylan
This bug report was last modified 298 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.