emacs-diffs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

emacs-28 aad38d6010: * lisp/emacs-lisp/comp.el (comp-run-async-workers):


From: Stefan Monnier
Subject: emacs-28 aad38d6010: * lisp/emacs-lisp/comp.el (comp-run-async-workers): Fail more gracefully
Date: Sat, 3 Sep 2022 15:15:28 -0400 (EDT)

branch: emacs-28
commit aad38d6010d9eef07685fa52ce93bcf70512f88b
Author: Stefan Monnier <monnier@iro.umontreal.ca>
Commit: Stefan Monnier <monnier@iro.umontreal.ca>

    * 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.
---
 lisp/emacs-lisp/comp.el | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 374b39e999..a5ab12ae38 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -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))



reply via email to

[Prev in Thread] Current Thread [Next in Thread]