emacs-elpa-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[elpa] externals/dash 1c4e5d7 125/439: Remove eval from --reduce, it is


From: Phillip Lord
Subject: [elpa] externals/dash 1c4e5d7 125/439: Remove eval from --reduce, it is evil.
Date: Tue, 04 Aug 2015 20:27:07 +0000

branch: externals/dash
commit 1c4e5d7d623d78fdfe20fbe588d37af59b6f1f2f
Author: Magnar Sveen <address@hidden>
Commit: Magnar Sveen <address@hidden>

    Remove eval from --reduce, it is evil.
---
 dash.el |    8 +++++---
 1 files changed, 5 insertions(+), 3 deletions(-)

diff --git a/dash.el b/dash.el
index 3b870f4..b579013 100644
--- a/dash.el
+++ b/dash.el
@@ -107,9 +107,11 @@ exposed as `acc`."
 
 (defmacro --reduce (form list)
   "Anaphoric form of `-reduce'."
-  (if (eval list)
-      `(--reduce-from ,form ,(car (eval list)) ',(cdr (eval list)))
-    `(let (acc it) ,form)))
+  (let ((lv (make-symbol "list-value")))
+    `(let ((,lv ,list))
+       (if ,lv
+           (--reduce-from ,form (car ,lv) (cdr ,lv))
+         (let (acc it) ,form)))))
 
 (defun -reduce (fn list)
   "Returns the result of applying FN to the first 2 items in LIST,



reply via email to

[Prev in Thread] Current Thread [Next in Thread]