Hello,
I think I found a bug in (srfi srfi-64) module shipped with GNU Guile.
The specification says that:
> The test also fails if an exception is raised, assuming the implementation has
> a way to catch exceptions.
Guile has a way to catch exceptions. However nevertheless the following does
not lead to 'fail, but an exception being raised:
(use-modules (srfi srfi-64))
(test-begin "x")
(test-approximate 1 (throw 'foo) 1)
Leading to:
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 7fd834112300>)
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) 7fd834115c80>)))
In ice-9/boot-9.scm:
2836:4 4 (save-module-excursion _)
4388:12 3 (_)
In
/home/wolf/src/guile-wolfsden/tests/srfi-64/test-approximate-throw.srfi64test:
7:0 2 (_)
In srfi/srfi-64/testing.scm:
677:16 1 (_ _ #f)
In unknown file:
0 (real-part #f)
ERROR: In procedure real-part:
In procedure real-part: Wrong type argument in position 1: #f
Have a nice day
Tomas Volf