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

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

[elpa] master 3fbc21c 1/4: Allow passing any value to async-let bindings


From: Thierry Volpiatto
Subject: [elpa] master 3fbc21c 1/4: Allow passing any value to async-let bindings.
Date: Thu, 3 Nov 2016 18:45:07 +0000 (UTC)

branch: master
commit 3fbc21cb084e49aa2a990c40938fceea01422f4f
Author: Thierry Volpiatto <address@hidden>
Commit: Thierry Volpiatto <address@hidden>

    Allow passing any value to async-let bindings.
    
    * async.el (async-let): Do it, also allow indenting properly.
---
 async.el |   13 +++++++++----
 1 file changed, 9 insertions(+), 4 deletions(-)

diff --git a/async.el b/async.el
index c074a4a..8bfd62d 100644
--- a/async.el
+++ b/async.el
@@ -319,12 +319,17 @@ For example:
      (async-start (bar)
       (lambda (y)
         (message \"%s %s\" x y)))))"
+  (declare (indent 1))
   (async--fold-left
    (lambda (acc binding)
-     `(async-start ,(cadr binding)
-                   (lambda (,(car binding))
-                     ,acc)))
-   forms (reverse bindings)))
+     (let ((fun (pcase (cadr binding)
+                  ((and (pred functionp) f) f)
+                  (f `(lambda () ,f)))))
+       `(async-start ,fun
+                     (lambda (,(car binding))
+                       ,acc))))
+   forms
+   (reverse bindings)))
 
 (provide 'async)
 



reply via email to

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