Add early-init-file support to doom/profile-emacs #788

And fix wrong-type-argument: stringp errors when running esup.

Also ensure that doom|run-all-startup-hooks sets after-init-time.
This commit is contained in:
Henrik Lissner 2018-08-13 03:45:58 +02:00
parent 7d617f1541
commit 25d9786edf
No known key found for this signature in database
GPG key ID: 5F6C0EA160557395
2 changed files with 19 additions and 12 deletions

View file

@ -290,17 +290,22 @@ If INIT-FILE is non-nil, profile that instead of USER-INIT-FILE."
(setq esup-server-process (esup-server-create (esup-select-port)))
(setq esup-server-port (process-contact esup-server-process :service))
(message "esup process started on port %s" esup-server-port)
(let ((process-args `("*esup-child*"
(let ((process-args
(append `("*esup-child*"
"*esup-child*"
,esup-emacs-path
"-q"
"-L" ,esup-load-path
"-l" "esup-child"
,(format "--eval=(esup-child-run \"%s\" \"%s\" %d)"
"-Q"
"--eval=(setq after-init-time nil)"
"-L" ,esup-load-path)
(when (bound-and-true-p early-init-file)
`("-l" ,early-init-file))
`("-l" "esup-child"
,(format "--eval=(let ((load-file-name \"%s\")) (esup-child-run \"%s\" \"%s\" %d))"
init-file
init-file
esup-server-port
esup-depth)
"--eval=(doom|run-all-startup-hooks)")))
"--eval=(doom|run-all-startup-hooks)"))))
(when esup-run-as-batch-p
(setq process-args (append process-args '("--batch"))))
(setq esup-child-process (apply #'start-process process-args)))

View file

@ -300,7 +300,9 @@ If RETURN-P, return the message as a string instead of displaying it."
-q or -Q, for example:
emacs -Q -l init.el -f doom|run-all-startup-hooks"
(dolist (hook (list 'after-init-hook 'delayed-warnings-hook
(run-hook-wrapped 'after-init-hook #'doom-try-run-hook)
(setq after-init-time (current-time))
(dolist (hook (list 'delayed-warnings-hook
'emacs-startup-hook 'term-setup-hook
'window-setup-hook))
(run-hook-wrapped hook #'doom-try-run-hook)))