[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 8e05e02 070/187: Prevent accidental creation of lexical cl
From: |
Michael Albinus |
Subject: |
[elpa] master 8e05e02 070/187: Prevent accidental creation of lexical closures. |
Date: |
Wed, 30 Dec 2015 11:49:45 +0000 |
branch: master
commit 8e05e0208cb91d44c4e10ac6f9532d3cfcd04fe9
Author: Ryan C. Thompson <address@hidden>
Commit: Ryan C. Thompson <address@hidden>
Prevent accidental creation of lexical closures.
Fixes #17. (Try async-test-7)
---
async.el | 7 +++++--
1 files changed, 5 insertions(+), 2 deletions(-)
diff --git a/async.el b/async.el
index 4c79816..8f893b9 100644
--- a/async.el
+++ b/async.el
@@ -260,8 +260,11 @@ passed to FINISH-FUNC). Call `async-get' on such a future
always
returns nil. It can still be useful, however, as an argument to
`async-ready' or `async-wait'."
(require 'find-func)
- (let ((procvar (make-symbol "proc")))
- `(let* ((sexp ,start-func)
+ (let ((procvar (make-symbol "proc"))
+ ;; Avoid accidental lexical closures by evaluating START-FUNC
+ ;; in an empty lexical environment.
+ (start-func (eval start-func t)))
+ `(let* ((sexp #',start-func)
(,procvar
(async-start-process
"emacs" (file-truename
- [elpa] master dc69911 059/187: Merge branch 'master' of github.com:jwiegley/emacs-async, (continued)
- [elpa] master dc69911 059/187: Merge branch 'master' of github.com:jwiegley/emacs-async, Michael Albinus, 2015/12/30
- [elpa] master c9a0724 061/187: Update copyrights., Michael Albinus, 2015/12/30
- [elpa] master cf12552 062/187: * helm-async.el: Fix mode-line updating for emacs-24.3.50., Michael Albinus, 2015/12/30
- [elpa] master 3ac941a 042/187: Move async.el testing code into its own module, Michael Albinus, 2015/12/30
- [elpa] master 9585ae1 058/187: * helm-async.el (helm-async-env-variables-regexp): Fix for copying from android devices., Michael Albinus, 2015/12/30
- [elpa] master 3544948 064/187: * helm-async.el (dired-create-files): No need to backquote callback., Michael Albinus, 2015/12/30
- [elpa] master 8d38306 063/187: * helm-async.el: Untabify and reindent., Michael Albinus, 2015/12/30
- [elpa] master c029934 066/187: * helm-async.el: Add comments about incompatibility with dired-async.el and async-file.el., Michael Albinus, 2015/12/30
- [elpa] master fb8f10b 065/187: * helm-async.el (dired-create-files): Handle `dired-recursive-copies' when async too., Michael Albinus, 2015/12/30
- [elpa] master bcffaeb 067/187: * helm-async.el (dired-create-file): Revert changes in fb8f10b., Michael Albinus, 2015/12/30
- [elpa] master 8e05e02 070/187: Prevent accidental creation of lexical closures.,
Michael Albinus <=
- [elpa] master 9c02acd 069/187: Add test for #17., Michael Albinus, 2015/12/30
- [elpa] master 5ef546a 071/187: Have test file add its own directory to load path, Michael Albinus, 2015/12/30
- [elpa] master 242ae73 068/187: * helm-async.el: Fix error handling., Michael Albinus, 2015/12/30
- [elpa] master 93b05a9 073/187: More robust evaluation and closure-protection of start-func, Michael Albinus, 2015/12/30
- [elpa] master ba705c6 076/187: Add test for handling different ways of passing a function, Michael Albinus, 2015/12/30
- [elpa] master b6d990d 075/187: Add lexbind test, Michael Albinus, 2015/12/30
- [elpa] master f6d7a74 074/187: Merge pull request #18 from DarwinAwardWinner/lexbind-fix, Michael Albinus, 2015/12/30
- [elpa] master 9b5bb5c 072/187: Add more comprehensive testing for anti-closure feature, Michael Albinus, 2015/12/30
- [elpa] master 204750d 081/187: Revert "* helm-async.el: Fix error handling.", Michael Albinus, 2015/12/30
- [elpa] master b05c63a 083/187: Don't rely on async.el being in load-path., Michael Albinus, 2015/12/30