Re: master: sb-eval: check eval-when syntax

Christophe Rhodes via Sbcl-commits <[email protected]> Wed, 29 Apr 2026 22:08:01 +0100
Newsgroups gmane.lisp.steel-bank.cvs,gmane.lisp.steel-bank.devel
Message-ID <[email protected]>
stassats via Sbcl-commits <[email protected]> writes:

>  (defun eval-eval-when (body env)
> -  (program-destructuring-bind ((&rest situation) &body body) body
> -    ;; FIXME: check that SITUATION only contains valid situations
> -    (if (or (member :execute situation)
> -            (member 'eval situation))
> -        (eval-progn body env))))
> +  (program-destructuring-bind ((&rest situations) &body body) body
> +    (let (execute)
> +      (loop for situation in situations

I wonder if we should also check SITUATIONS for properness?  Or at least
non-dottedness?

> diff --git a/src/compiler/arm64/float.lisp b/src/compiler/arm64/float.lisp
> index acbb7aaa0..7d20ce1f0 100644
> --- a/src/compiler/arm64/float.lisp
> +++ b/src/compiler/arm64/float.lisp
> @@ -704,7 +704,7 @@
>        (signed-stack
>         (sc-case res
>           (single-reg
> -          (loadw res (current-nfp-tn vop) (tn-offset bits)))
> +          (loadw res (current-nfp-tn vop) (tn-offset res)))
>           (single-stack
>            (unless (location= bits res)
>              (loadw temp (current-nfp-tn vop) (tn-offset bits))

This doesn't look right to me.  Even if it's right, it doesn't belong in
this change, and if it is a correct change (fixing a breakage in
MAKE-SINGLE-FLOAT?) it should come with a test.

Christophe