|
From: | Alex |
Subject: | bug#25154: 25.1; Bindings in cl-letf are in reverse order |
Date: | Fri, 09 Dec 2016 17:36:15 -0600 |
Compare the following: (let ((x 5) (x 6)) (+ x 10)) => 16 (cl-letf ((x 5) (x 6)) (+ x 10)) => 15 This also occurs when using non-trivial places: (setq v (vector 1 2 3 4 5)) (cl-letf (((aref v 1) 10) ((aref v 1) 20)) (aref v 1)) => 10 I ran into this when using two different setters that sometimes indirectly modify the same variable. The current behaviour makes the result of that unexpected.
[Prev in Thread] | Current Thread | [Next in Thread] |