unofficial mirror of bug-guile@gnu.org 
 help / color / mirror / Atom feed
From: Taylan Kammer <taylan.kammer@gmail.com>
To: Tomas Volf <~@wolfsden.cz>, 72370@debbugs.gnu.org
Subject: bug#72370: srfi-64: test-apply requires at least one specifier
Date: Mon, 30 Sep 2024 20:50:48 +0200	[thread overview]
Message-ID: <fbc96d9c-57b4-434b-a51c-5c21c81c060b@gmail.com> (raw)
In-Reply-To: <ZqlEW2QgZCHSiwHq@ws>

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 says the following regarding the test-apply:
>
>> If one or more specifiers are listed then only tests matching the specifiers
>> are executed.
> That implies that specifiers are optional and the following code should work:
>
>     (use-modules (srfi srfi-64))
>     (test-apply (λ () #t))
>
> However it does not:
>
>     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 7fdf6ecc4300>)
>     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) 7fdf6ecc7c80>)))
>     In ice-9/boot-9.scm:
>        2836:4  4 (save-module-excursion _)
>       4388:12  3 (_)
>     In srfi/srfi-64/testing.scm:
>        947:34  2 (test-apply #<procedure 7fdf63956108 at /home/wolf/src/guile-wolfsden/tests/s…>)
>        938:47  1 (test-apply #<procedure 7fdf63956108 at /home/wolf/src/guile-wolfsden/test…> . _)
>     In unknown file:
>                0 (reverse #t)
>
>     ERROR: In procedure reverse:
>     In procedure reverse: Wrong type argument in position 1: #t
>
> Have a nice day
> Tomas Volf

If anyone's wondering why I don't want to work with the upstream SRFI-64 code, reading the implementation of test-apply is all you need. :-)

It almost makes me think it must be machine-generated code, or intentionally obfuscated. But anyway.

My implementation actually had a similar bug, but it should be fixed now with this commit:

    https://codeberg.org/taylan/scheme-srfis/commit/3091e3b863d53a012b4be4376814bb67bf09020d

I've also noticed the other issue with test-apply that you reported as a separate bug report, and will fix that later.

Thanks a ton for all these reports, because it seems you've really caught a ton of edge-cases, and some glaring issues in seldom-used parts of the API.

- Taylan






  reply	other threads:[~2024-09-30 18:50 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2024-07-30 19:51 bug#72370: srfi-64: test-apply requires at least one specifier Tomas Volf
2024-09-30 18:50 ` Taylan Kammer [this message]
2024-10-01 23:16   ` Taylan Kammer

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=fbc96d9c-57b4-434b-a51c-5c21c81c060b@gmail.com \
    --to=taylan.kammer@gmail.com \
    --cc=72370@debbugs.gnu.org \
    --cc=~@wolfsden.cz \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).