summaryrefslogtreecommitdiff
path: root/lisp/emacs-lisp
diff options
context:
space:
mode:
Diffstat (limited to 'lisp/emacs-lisp')
-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 \