slime 2.30: Error when evaluating multi-dimensional array literals.
Mark Harig <[email protected]> Thu, 30 Jan 2025 18:20:02 +0000 (UTC)
| Newsgroups | gmane.lisp.slime.devel |
|---|---|
| Message-ID | <[email protected]> |
Slime Developers,
There appears to be a problem with Slime=E2=80=99s evaluation of
multi-dimensional array literals in some buffers.
Evaluation of 1-dimensional array literals does not trigger
this problem.
1. At the Slime REPL, no error:
CL-USER> #(1 2 3)
#(1 2 3)
CL-USER> #2A((1 2 3) (4 5 6))
#2A((1 2 3) (4 5 6))
2. Using the Slime command =E2=80=98slime-interactive-eval=E2=80=99, no =
error:
M-x slime-interactive-eval
Slime Eval: #(1 2 3)
=3D> #(1 2 3)
M-x slime-interactive-eval
Slime Eval: #2A((1 2 3) (4 5 6))
=3D> #2A((1 2 3) (4 5 6))
However, if these array literals are evaluated in the
*slime-scratch* buffer using C-x C-e (bound to
=E2=80=98slime-eval-last-expression=E2=80=99), then the 1-D array litera=
l is
evaluated as expected, while the 2-D array literal triggers
an error.
3. *slime-scratch* buffer (or any Lisp buffer associated
with a Lisp source file):
#(x y z)
=3D> #(x y z)
#2A((1 2) (3 4))
=3D>
Execution of a form compiled with errors.
Form:
((1 2) (3 4))
Compile-time error:
illegal function call
[Condition of type SB-INT:COMPILED-PROGRAM-ERROR]
Note that if the multi-dimensional array literal is
marked in an Emacs buffer and the command
=E2=80=98slime-eval-region=E2=80=99 is invoked, then the evaluation does no=
t
not trigger the error, above.
This problem is occurring with slime 2.30, Emacs 29.4,
and SBCL 2.3.11.
--