summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp/comp.el
diff options
context:
space:
mode:
authorAndrea Corallo <akrl@sdf.org>2020-10-10 10:15:21 +0200
committerAndrea Corallo <akrl@sdf.org>2020-10-10 10:29:17 +0200
commit138990bbda7ab228e3fde44710426c474b2c1086 (patch)
treeb09a04c578cb95f4b9620333ccbe594d3d395d58 /lisp/emacs-lisp/comp.el
parent85450f03be6cbb3e09964ce62e1f63875f0848a3 (diff)
downloademacs-138990bbda7ab228e3fde44710426c474b2c1086.tar.gz
emacs-138990bbda7ab228e3fde44710426c474b2c1086.tar.bz2
emacs-138990bbda7ab228e3fde44710426c474b2c1086.zip
* Fix failure when compiling a trampoline with no eln-cache dir (bug#43875)
* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Try to create the eln-cache dir if this is not existing, if fails to do that move on to the next one.
Diffstat (limited to 'lisp/emacs-lisp/comp.el')
-rw-r--r--lisp/emacs-lisp/comp.el10
1 files changed, 7 insertions, 3 deletions
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 0445fc085e1..dbd4cef1fc7 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -2603,11 +2603,15 @@ Return the its filename if found or nil otherwise."
(native-compile
trampoline-sym nil
(cl-loop
- for dir in comp-eln-load-path
+ for load-dir in comp-eln-load-path
+ for dir = (concat load-dir comp-native-version-dir)
for f = (expand-file-name
(comp-trampoline-filename subr-name)
- (concat dir
- comp-native-version-dir))
+ dir)
+ unless (file-exists-p dir)
+ do (ignore-errors
+ (make-directory dir t)
+ (cl-return f))
when (file-writable-p f)
do (cl-return f)
finally (error "Cannot find suitable directory for output in \