[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP
From: |
Stefan Monnier |
Subject: |
Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP |
Date: |
Tue, 02 Mar 2021 09:31:00 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux) |
> That testcase comes from this code (src/eval.c:L1014) which we already had.
>
> else if (! NILP (Fcdr (Fcdr (elt))))
> signal_error ("`let' bindings can have only one value-form", elt);
Yes, some people disagree with my me ;-)
> I tried to remove this, my temp Emacs works like this in *scratch* buffer.
>
> (let ((a 1 2))
> a) ; Type C-j
> 1
>
> This is very strange I think. I still think it's important for
> Emacs, even as an interpreter, to produce errors.
I view the ELisp interpreter as a crutch to bootstrap the system.
AFAIK the only really good reason why we still have it is for the
benefit of debugging: debugging byte-compiled code (whether with Edebug
or with the backtrace debugger) is a lot more constraining than
debugging interpreted code, mostly because it loses the information
about the currently bound lexical variables. All other uses of it could
be replaced by something like
(defun eval (exp) (funcall (byte-compile `(lambda () ,exp))))
Stefan
- [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Naoya Yamashita, 2021/03/01
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Stefan Monnier, 2021/03/01
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Naoya Yamashita, 2021/03/01
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP,
Stefan Monnier <=
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Pip Cet, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Stefan Monnier, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Pip Cet, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Stefan Monnier, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Pip Cet, 2021/03/02
- Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Stefan Monnier, 2021/03/02
Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Pip Cet, 2021/03/02
Re: [PATCH] * src/eval.c: Stop checking for nvars, and use only CONSP, Eli Zaretskii, 2021/03/02