[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] master 628a295 014/187: Send data over a pipe, rather than in an
From: |
Michael Albinus |
Subject: |
[elpa] master 628a295 014/187: Send data over a pipe, rather than in an argument |
Date: |
Wed, 30 Dec 2015 11:49:24 +0000 |
branch: master
commit 628a295d7808aeb485f29d3353abaa30ec0b15d3
Author: John Wiegley <address@hidden>
Commit: John Wiegley <address@hidden>
Send data over a pipe, rather than in an argument
---
async.el | 25 +++++++++++++++++++------
1 files changed, 19 insertions(+), 6 deletions(-)
diff --git a/async.el b/async.el
index e5f5f6a..6b3831c 100644
--- a/async.el
+++ b/async.el
@@ -125,18 +125,26 @@
(defun async-batch-invoke ()
"Called from the child Emacs process' command-line."
(condition-case err
- (prin1 (funcall (eval (read (nth 5 command-line-args)))))
+ (prin1 (funcall (eval (read nil))))
(signal
(prin1 `(async-signal . ,err)))
(error
(prin1 `(async-signal . ,err)))))
+(defun async-ready (proc)
+ "Wait until PROC has successfully completed."
+ (and (eq 'exit (process-status proc))
+ async-callback-value-set))
+
+(defun async-wait (proc)
+ "Wait until PROC has successfully completed."
+ (while (not (async-ready proc))
+ (sit-for 0 50)))
+
(defun async-get (proc)
"Wait until PROC has successfully completed."
+ (async-wait proc)
(with-current-buffer (process-buffer proc)
- (while (and (not (eq 'exit (process-status proc)))
- (not async-callback-value-set))
- (sit-for 0 50))
(prog1
async-callback-value
(kill-buffer (current-buffer)))))
@@ -162,11 +170,16 @@ ready to use it."
(expand-file-name invocation-name
invocation-directory)
"-Q" "-l" (find-library-name "async")
- "-batch" "-f" "async-batch-invoke"
- (prin1-to-string (list 'quote ,start-func)))))
+ "-batch" "-f" "async-batch-invoke")))
(with-current-buffer ,bufvar
(set (make-local-variable 'async-callback) ,finish-func)
(set-process-sentinel ,procvar #'async-when-done)
+ (with-temp-buffer
+ (let ((print-escape-newlines t))
+ (prin1 (list 'quote ,start-func) (current-buffer)))
+ (insert ?\n)
+ (process-send-region ,procvar (point-min) (point-max))
+ (process-send-eof ,procvar))
,procvar))))
(defun async-test-1 ()
- [elpa] master 6647749 002/187: Small change, (continued)
- [elpa] master 6647749 002/187: Small change, Michael Albinus, 2015/12/30
- [elpa] master 8d37c00 004/187: Added note to README, Michael Albinus, 2015/12/30
- [elpa] master 4733d1e 001/187: Initial revision, Michael Albinus, 2015/12/30
- [elpa] master 3d388c6 007/187: Added support for signal propagation, Michael Albinus, 2015/12/30
- [elpa] master 0a7f3dd 008/187: Added async-inject-environment, Michael Albinus, 2015/12/30
- [elpa] master 954c865 006/187: Updated README, Michael Albinus, 2015/12/30
- [elpa] master a8ac820 003/187: Renamed emacs-async.el to async.el, Michael Albinus, 2015/12/30
- [elpa] master 63fe7ee 010/187: Updated README, Michael Albinus, 2015/12/30
- [elpa] master c48d3db 009/187: Added smtpmail-async.el, Michael Albinus, 2015/12/30
- [elpa] master 728e791 005/187: Added dired-async, Michael Albinus, 2015/12/30
- [elpa] master 628a295 014/187: Send data over a pipe, rather than in an argument,
Michael Albinus <=
- [elpa] master 190a040 012/187: Fixed async-smtpmail-send-it, Michael Albinus, 2015/12/30
- [elpa] master 4fb51ce 013/187: Corrected a problem with async deletions, Michael Albinus, 2015/12/30
- [elpa] master 1ad2902 011/187: Quiet byte-compiler warnings, Michael Albinus, 2015/12/30
- [elpa] master 742c82e 020/187: Added message passing, but undocumented for now, Michael Albinus, 2015/12/30
- [elpa] master b80f1a5 018/187: Don't use pipes for communication just yet, Michael Albinus, 2015/12/30
- [elpa] master 497e4da 024/187: Fix to dired-async for wdired-mode, Michael Albinus, 2015/12/30
- [elpa] master e08c251 017/187: Added `dired-async-use-native-commands', Michael Albinus, 2015/12/30
- [elpa] master 7ba4f40 022/187: Always base64 encode, Michael Albinus, 2015/12/30
- [elpa] master 1028235 023/187: Don't use lexical-binding in dired-async.el, Michael Albinus, 2015/12/30
- [elpa] master 12ca991 016/187: Made some macros into functions, added debug code, Michael Albinus, 2015/12/30