[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)