[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#43875: feature/native-comp; Fix another failure when eln-cache is re
From: |
Andrew Whatson |
Subject: |
bug#43875: feature/native-comp; Fix another failure when eln-cache is removed |
Date: |
Fri, 9 Oct 2020 11:38:09 +1000 |
* lisp/emacs-lisp/comp.el (comp-trampoline-compile): Fix typo in
name. Attempt to create eln-cache directory before failing
with writability error. Change error to be consistent.
---
lisp/emacs-lisp/comp.el | 12 ++++++++----
1 file changed, 8 insertions(+), 4 deletions(-)
diff --git a/lisp/emacs-lisp/comp.el b/lisp/emacs-lisp/comp.el
index 763d44a23e..78f2ca696c 100644
--- a/lisp/emacs-lisp/comp.el
+++ b/lisp/emacs-lisp/comp.el
@@ -2580,7 +2580,7 @@ comp-search-trampoline
when (file-exists-p filename)
do (cl-return filename)))
-(defun comp-tampoline-compile (subr-name)
+(defun comp-trampoline-compile (subr-name)
"Synthesize and compile a trampoline for SUBR-NAME and return its filename."
(let ((trampoline-sym (comp-trampoline-sym subr-name))
(lambda-list (comp-make-lambda-list-from-subr
@@ -2608,9 +2608,13 @@ comp-tampoline-compile
(comp-trampoline-filename subr-name)
(concat dir
comp-native-version-dir))
- when (file-writable-p f)
+ when (or (file-writable-p f)
+ (unwind-protect
+ (progn
+ (make-directory (file-name-directory f) t)
+ t)))
do (cl-return f)
- finally (error "Can't find a writable directory in \
+ finally (error "Cannot find suitable directory for output in \
`comp-eln-load-path'")))))
;;;###autoload
@@ -2621,7 +2625,7 @@ comp-subr-trampoline-install
(let ((trampoline-sym (comp-trampoline-sym subr-name)))
(cl-assert (subr-primitive-p (symbol-function subr-name)))
(load (or (comp-search-trampoline subr-name)
- (comp-tampoline-compile subr-name))
+ (comp-trampoline-compile subr-name))
nil t)
(cl-assert
(subr-native-elisp-p (symbol-function trampoline-sym)))
--
2.28.0
- bug#43875: feature/native-comp; Fix another failure when eln-cache is removed,
Andrew Whatson <=