[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Emacs-diffs] master 1758951: lisp/let-alist.el (let-alist): Evaluate `a
From: |
Artur Malabarba |
Subject: |
[Emacs-diffs] master 1758951: lisp/let-alist.el (let-alist): Evaluate `alist' only once. |
Date: |
Thu, 18 Dec 2014 20:34:09 +0000 |
branch: master
commit 17589518728e247e7574e9b61502c3ff5cf9dc67
Author: Artur Malabarba <address@hidden>
Commit: Artur Malabarba <address@hidden>
lisp/let-alist.el (let-alist): Evaluate `alist' only once.
---
lisp/ChangeLog | 5 +++++
lisp/let-alist.el | 8 +++++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/lisp/ChangeLog b/lisp/ChangeLog
index 8978bde..9828b84 100644
--- a/lisp/ChangeLog
+++ b/lisp/ChangeLog
@@ -1,3 +1,8 @@
+2014-12-18 Artur Malabarba <address@hidden>
+
+ * let-alist.el (let-alist): Evaluate the `alist' argument only
+ once.
+
2014-12-18 Sam Steingold <address@hidden>
* emacs-lisp/package.el: Avoid compilation warning by declaring
diff --git a/lisp/let-alist.el b/lisp/let-alist.el
index 2efa027..8f02404 100644
--- a/lisp/let-alist.el
+++ b/lisp/let-alist.el
@@ -94,9 +94,11 @@ expands to
.body
.site))"
(declare (indent 1) (debug t))
- `(let ,(mapcar (lambda (x) `(,(car x) (cdr (assq ',(cdr x) ,alist))))
- (delete-dups (let-alist--deep-dot-search body)))
- ,@body))
+ (let ((var (gensym "let-alist")))
+ `(let ((,var ,alist)
+ (let ,(mapcar (lambda (x) `(,(car x) (cdr (assq ',(cdr x) ,var))))
+ (delete-dups (let-alist--deep-dot-search body)))
+ ,@body)))))
(provide 'let-alist)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Emacs-diffs] master 1758951: lisp/let-alist.el (let-alist): Evaluate `alist' only once.,
Artur Malabarba <=