diff options
Diffstat (limited to 'lisp/emacs-lisp')
-rw-r--r-- | lisp/emacs-lisp/comp.el | 10 |
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 \ |