[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#25154: 25.1; Bindings in cl-letf are in reverse order
From: |
npostavs |
Subject: |
bug#25154: 25.1; Bindings in cl-letf are in reverse order |
Date: |
Sat, 10 Dec 2016 13:14:54 -0500 |
User-agent: |
Gnus/5.13 (Gnus v5.13) Emacs/25.1 (gnu/linux) |
Alex <agrambot@gmail.com> writes:
>>
>> Isn't it true that the order of evaluation in a 'let' is unspecified?
>> If you want a particular order, use 'let*'.
>
> I don't think so. See (info "(elisp) Local Variables"):
>
> All of the VALUE-FORMs in BINDINGS are evaluated in the order they
> appear
>
> I believe it should follow for cl-letf. Besides, even if it was
> unspecified, evaluating in the order they appear would be adhering to
> the principle of least astonishment.
The value forms are evaluated in order, the bindings are not necessarily
in order.
(let ((x 0))
(cl-letf ((a (setq x 1))
(a (setq x 2)))
(list x a))) ;=> (2 1)
Although `let' does happen to perform the bindings in order too.
(let ((x 0))
(let ((a (setq x 1))
(a (setq x 2)))
(list x a))) ;=> (2 2)
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, (continued)
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, Eli Zaretskii, 2016/12/10
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, Tino Calancha, 2016/12/10
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, Philipp Stephani, 2016/12/10
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, Tino Calancha, 2016/12/10
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, Eli Zaretskii, 2016/12/10
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, Philipp Stephani, 2016/12/23
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, Tino Calancha, 2016/12/23
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, Eli Zaretskii, 2016/12/23
- bug#25154: 25.1; Bindings in cl-letf are in reverse order, Philipp Stephani, 2016/12/23
bug#25154: 25.1; Bindings in cl-letf are in reverse order, Alex, 2016/12/10
bug#25154: 25.1; Bindings in cl-letf are in reverse order, Eli Zaretskii, 2016/12/10
bug#25154: 25.1; Bindings in cl-letf are in reverse order, Alex, 2016/12/10
bug#25154: 25.1; Bindings in cl-letf are in reverse order, Tino Calancha, 2016/12/10