* lisp/emacs-lisp/comp.el (comp-run-async-workers): Fail more gracefully

Otherwise Emacs may fail to start if it can't find a writable
`~/.emacs.d/eln-cache` directory.
Fixes bug#57562.  See also Debian's bug #1017739.
This commit is contained in:
Stefan Monnier 2022-09-03 11:03:01 -04:00
parent f9f92772dc
commit aad38d6010

View file

@ -3927,8 +3927,11 @@ display a message."
when (or native-comp-always-compile
load ; Always compile when the compilation is
; commanded for late load.
(file-newer-than-file-p
source-file (comp-el-to-eln-filename source-file)))
;; Skip compilation if `comp-el-to-eln-filename' fails
;; to find a writable directory.
(with-demoted-errors "Async compilation :%S"
(file-newer-than-file-p
source-file (comp-el-to-eln-filename source-file))))
do (let* ((expr `((require 'comp)
,(when (boundp 'backtrace-line-length)
`(setf backtrace-line-length ,backtrace-line-length))