Multiple values returned from PROG1 when body is empty
(prog1 (values 1 2 3))
is supposed to return only the primary value.
Possible fix at https://gitlab.common-lisp.net/ecl/ecl/-/blob/develop/src/lsp/evalmacros.lsp#L233-239:
(defmacro prog1 (first &rest body &aux (sym (gensym)))
"Syntax: (prog1 first-form {form}*)
Evaluates FIRST-FORM and FORMs in order. Returns the value of FIRST-FORM."
(if (null body) `(values ,first)
`(LET ((,sym ,first))
; (DECLARE (:READ-ONLY ,sym)) ; Beppe
,@body ,sym)))