Oops. Thanks for the report. It was caused by a missing closing paren introduced just recently. (I really should set up CI for this.) Sorry about that.
Fixed in commit [cc42b6e7]
Raymond Toy (cc42b6e7) at 23 Jul 02:27
Add missing closing paren
http://report.quicklisp.org/2023-07-22/failure-report/f2cl.html#blas
I get this:
;
; caught ERROR:
; READ error during COMPILE-FILE: end of file on #<SB-INT:FORM-TRACKING-STREAM for "file /home/quicklisp/quicklisp-controller/dist/build-cache/f2cl/c5347146987ed4677a5ed0babc6e4511647a44ee/f2cl-20230722-git/src/f2cl2.l" {1004DD2E53}>(in form starting at line: 16, column: 0, position: 504)
This seems to break pretty much every system.
f2cl/src/f2cl2.l#L16 The eval-when when includes load evaluates the form at load time, which in this case means doing the call ** (proclaim '(optimize (speed 3) (safety 1)))** at load time. That is a bad idea, because it means that after loading this fiile, anything that doesn't explicitly sets the optimize safety and speed level will be compiled with these setting rather than the default settings.
The other sub-form in the same eval-when form, the call to optimize with special, should happen at load time. So the right fix is to split these to two forms:
(eval-when (compile) (proclaim '(optimize (speed 3) (safety 1))))
(eval-when (compile load eval)
(proclaim '(special *intrinsic-function-names* *external-function-names*
*subprog_name* *subprog-stmt-fns*
*functions-used*)))
Raymond Toy (a3dabbe4) at 16 Jul 14:10
Fix #8: Don't leak optimization changes
This comes from https://github.com/rtoy/f2cl/issues/1, which I've just copied and pasted here to create this issue.
f2cl/src/f2cl2.l#L16 The eval-when when includes load evaluates the form at load time, which in this case means doing the call ** (proclaim '(optimize (speed 3) (safety 1)))** at load time. That is a bad idea, because it means that after loading this fiile, anything that doesn't explicitly sets the optimize safety and speed level will be compiled with these setting rather than the default settings.
The other sub-form in the same eval-when form, the call to optimize with special, should happen at load time. So the right fix is to split these to two forms:
(eval-when (compile) (proclaim '(optimize (speed 3) (safety 1))))
(eval-when (compile load eval)
(proclaim '(special *intrinsic-function-names* *external-function-names*
*subprog_name* *subprog-stmt-fns*
*functions-used*)))