From: Andrea Corallo Date: Tue, 18 Oct 2022 13:14:32 +0000 (+0200) Subject: Set `comp-no-spawn' earlier using -no-comp-spawn X-Git-Tag: emacs-29.0.90~1616^2~463 X-Git-Url: http://git.eshelyaron.com/gitweb/?a=commitdiff_plain;h=5ad5b797f78dacb9c901d3c63bee05b1762fa94f;p=emacs.git Set `comp-no-spawn' earlier using -no-comp-spawn * src/emacs.c (standard_args): Add '-no-comp-spawn' cmd line option. * lisp/startup.el (command-line): Parse '-no-comp-spawn' cmd line option. * lisp/emacs-lisp/comp.el (comp-run-async-workers, comp-final): Use '-no-comp-spawn'. --- diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el index 5a05fe4854b..3987692f6f9 100644 --- a/lisp/emacs-lisp/comp.el +++ b/lisp/emacs-lisp/comp.el @@ -3689,8 +3689,7 @@ Prepare every function for final compilation and drive the C back-end." (print-circle t) (print-escape-multibyte t) (expr `((require 'comp) - (setf comp-no-spawn t - native-comp-verbose ,native-comp-verbose + (setf native-comp-verbose ,native-comp-verbose comp-libgccjit-reproducer ,comp-libgccjit-reproducer comp-ctxt ,comp-ctxt native-comp-eln-load-path ',native-comp-eln-load-path @@ -3716,7 +3715,8 @@ Prepare every function for final compilation and drive the C back-end." (if (zerop (call-process (expand-file-name invocation-name invocation-directory) - nil t t "--batch" "-l" temp-file)) + nil t t "-no-comp-spawn" "--batch" "-l" + temp-file)) (progn (delete-file temp-file) output) @@ -3948,7 +3948,6 @@ display a message." source-file (comp-el-to-eln-filename source-file)))) do (let* ((expr `((require 'comp) (setq comp-async-compilation t - comp-no-spawn t warning-fill-column most-positive-fixnum) ,(let ((set (list 'setq))) (dolist (var '(comp-file-preloaded-p @@ -4005,7 +4004,8 @@ display a message." :command (list (expand-file-name invocation-name invocation-directory) - "--batch" "-l" temp-file) + "-no-comp-spawn" "--batch" "-l" + temp-file) :sentinel (lambda (process _event) (run-hook-with-args diff --git a/lisp/startup.el b/lisp/startup.el index 725984b815b..70267fc857d 100644 --- a/lisp/startup.el +++ b/lisp/startup.el @@ -1198,7 +1198,7 @@ please check its value") ("--user") ("--iconic") ("--icon-type") ("--quick") ("--no-blinking-cursor") ("--basic-display") ("--dump-file") ("--temacs") ("--seccomp") - ("--init-directory"))) + ("--init-directory" "--no-comp-spawn"))) (argi (pop args)) (orig-argi argi) argval) @@ -1255,6 +1255,9 @@ please check its value") ((equal argi "-no-site-file") (setq site-run-file nil) (put 'site-run-file 'standard-value '(nil))) + ((equal argi "-no-comp-spawn") + (defvar comp-no-spawn) + (setq comp-no-spawn t)) ((equal argi "-debug-init") (setq init-file-debug t)) ((equal argi "-iconic") diff --git a/src/emacs.c b/src/emacs.c index 43e81b912c6..8ad70fecd41 100644 --- a/src/emacs.c +++ b/src/emacs.c @@ -2564,6 +2564,7 @@ static const struct standard_args standard_args[] = { "-init-directory", "--init-directory", 30, 1 }, { "-no-x-resources", "--no-x-resources", 40, 0 }, { "-no-site-file", "--no-site-file", 40, 0 }, + { "-no-comp-spawn", "--no-comp-spawn", 60, 0 }, { "-u", "--user", 30, 1 }, { "-user", 0, 30, 1 }, { "-debug-init", "--debug-init", 20, 0 },