branch: externals/el-job commit edb0a16b716a4f3bda3aeea7308f188fe07e5e71 Author: Martin Edström <meedstro...@gmail.com> Commit: Martin Edström <meedstro...@gmail.com>
Remove :eval-once --- el-job-child.el | 2 +- el-job.el | 37 +++++++++++++++---------------------- 2 files changed, 16 insertions(+), 23 deletions(-) diff --git a/el-job-child.el b/el-job-child.el index c3c5611e00..6e8c80f425 100644 --- a/el-job-child.el +++ b/el-job-child.el @@ -35,7 +35,7 @@ and each element in them must be a proper list or nil." (nreverse merged))) (defun el-job-child--receive-injection () - "Handle :inject-vars, :load and :eval-once." + "Handle :inject-vars and :load." (let ((vars (read-minibuffer "")) (libs (read-minibuffer "")) (eval (read-minibuffer ""))) diff --git a/el-job.el b/el-job.el index 3374f8103c..73089b3e0f 100644 --- a/el-job.el +++ b/el-job.el @@ -310,7 +310,6 @@ Usually the number of logical cores on your machine minus 1.") (defun el-job--launch-anonymous ( load inject-vars - eval-once funcall inputs wrapup ) @@ -324,7 +323,7 @@ See `el-job-launch' for arguments." :wrapup wrapup :queue inputs) el-jobs))) - (el-job--spawn-processes job load inject-vars eval-once funcall) + (el-job--spawn-processes job load inject-vars funcall) (el-job--exec job))) (defmacro el-job--with (job slots &rest body) @@ -367,16 +366,14 @@ with one character of your choosing, such as a dot." ;;;###autoload (cl-defun el-job-launch (&key load inject-vars - eval-once + eval-once ;; REMOVED 2025-02-24 funcall inputs wrapup id if-busy - method - ;; transitional due to removed arguments: - ;; 2025-02-24 skip-benchmark - &allow-other-keys) + skip-benchmark ;; REMOVED 2025-02-24 + method) "Run FUNCALL in one or more headless Elisp processes. Then merge the return values \(lists of N lists) into one list \(of N lists) and pass it to WRAPUP. @@ -461,12 +458,11 @@ still at work. IF-BUSY may take on one of three symbols: - `wait' \(default): append the inputs to a queue, to be handled after all children are ready - `noop': do nothing, drop inputs -- `takeover': kill and restart with the new inputs - - -EVAL-ONCE is a string containing a Lisp form. It is evaluated in the -child just before FUNCALL, but only once, even though FUNCALL may be -evaluated many times." +- `takeover': kill and restart with the new inputs" + (when skip-benchmark + (message "el-job-launch: Obsolete argument :skip-benchmark does nothing")) + (when eval-once + (message "el-job-launch: Obsolete argument :eval-once does nothing")) (unless el-job--cores (setq el-job--cores (max 1 (1- (num-processors))))) (setq load (ensure-list load)) @@ -477,16 +473,15 @@ evaluated many times." (unless (and (symbolp wrapup) (functionp wrapup)) (error "Argument WRAPUP must be a symbol with a function definition"))) (if (null id) - (el-job--launch-anonymous load inject-vars eval-once funcall inputs wrapup) + (el-job--launch-anonymous load inject-vars funcall inputs wrapup) (let ((arg-signature (+ (sxhash load) (sxhash inject-vars) - (sxhash eval-once) (sxhash wrapup) ;; TODO: permit changing it (sxhash method) (sxhash funcall))) (job (or (gethash id el-jobs) - (puthash id (el-job--make :id id - :method (or method el-job-default-method)) + (puthash id (el-job--make + :id id :method (or method el-job-default-method)) el-jobs))) (respawn nil) (exec nil)) @@ -521,7 +516,7 @@ evaluated many times." (setq arg-signature (+ arg-signature .cores)) (when (/= .sig arg-signature) (setf .sig arg-signature) - (setf .spawn-args (list job load inject-vars eval-once funcall)) + (setf .spawn-args (list job load inject-vars funcall)) (el-job--dbg 2 "New arguments, resetting job %s" id) (setq respawn t)) (setf .wrapup wrapup) @@ -529,12 +524,12 @@ evaluated many times." (el-job--terminate job) (when method (setf .method method)) - (el-job--spawn-processes job load inject-vars eval-once funcall)) + (el-job--spawn-processes job load inject-vars funcall)) (el-job--exec job) t)))))) (defvar-local el-job-here nil) -(defun el-job--spawn-processes (job load inject-vars eval-once funcall) +(defun el-job--spawn-processes (job load inject-vars funcall) "Spin up processes for JOB, standing by for input. For the rest of the arguments, see `el-job-launch'." (el-job--with job (.stderr .id .cores .ready .method) @@ -589,8 +584,6 @@ For the rest of the arguments, see `el-job-launch'." (process-send-string proc "\n") (process-send-string proc libs) (process-send-string proc "\n") - (process-send-string proc (or eval-once "nil")) - (process-send-string proc "\n") (push proc .ready)) ;; https://github.com/meedstrom/org-node/issues/75 (( file-error )