My bad. That was not the problem, but still my bad in the original case. MA On Sat, Mar 7, 2026 at 3:19 PM Pascal Costanza <pc@p-cos.net> wrote:
You’re binding *evfoo*, not *ewfoo*. ;)
Pascal
On 7 Mar 2026, at 13:49, Marco Antoniotti <marco.antoniotti@unimib.it> wrote:
Hi
I have a test file that contains the following (and nothing more)
(eval-when (:load-toplevel :execute) (format t "It's eval time~%") (defparameter *evfoo* "eval-when foo"))
This is what happens in SBCL.
CL-USER> *(load "ew.lisp")* It's eval time *T* CL-USER> **evfoo** *"eval-when foo"* CL-USER>
While in LW (and, similarly, in ECL) this happens
CL-USER 20 > *(load "ew.lisp")* ; Loading text file /Users/marcoxa/Projects/Lang/CL/Temp/ew.lisp It's eval time #P"/Users/marcoxa/Projects/Lang/CL/Temp/ew.lisp"
CL-USER 21 > **ewfoo**
Error: The variable *EWFOO* is unbound. 1 (continue) Try evaluating *EWFOO* again. 2 Specify a value to use this time instead of evaluating *EWFOO*. 3 Specify a value to set *EWFOO* to. 4 (abort) Return to top loop level 0.
Type :b for backtrace, or :c <option number> to proceed, or :a to abort. Type :bug-form "<subject>" for a bug report template or :? for other options.
CL-USER 22 : 1 >
Any hermeneutics about this?
Cheers
-- Marco Antoniotti, Professor, Director tel. +39 - 02 64 48 79 01 DISCo, University of Milan-Bicocca U14 2043 http://dcb.disco.unimib.it Viale Sarca 336 I-20126 Milan (MI) ITALY
REGAINS: https://regains.disco.unimib.it/
-- Marco Antoniotti, Professor, Director tel. +39 - 02 64 48 79 01 DISCo, University of Milan-Bicocca U14 2043 http://dcb.disco.unimib.it Viale Sarca 336 I-20126 Milan (MI) ITALY REGAINS: https://regains.disco.unimib.it/