emacs-bug-tracker
[Top][All Lists]
Advanced

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

bug#43875: closed (feature/native-comp; Fix another failure when eln-cac


From: GNU bug Tracking System
Subject: bug#43875: closed (feature/native-comp; Fix another failure when eln-cache is removed)
Date: Sat, 10 Oct 2020 08:46:02 +0000

Your message dated Sat, 10 Oct 2020 08:45:09 +0000
with message-id <xjfeem6qxka.fsf@sdf.org>
and subject line Re: bug#43875: feature/native-comp; Fix another failure when 
eln-cache is removed
has caused the debbugs.gnu.org bug report #43875,
regarding feature/native-comp; Fix another failure when eln-cache is removed
to be marked as done.

(If you believe you have received this mail in error, please contact
help-debbugs@gnu.org.)


-- 
43875: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=43875
GNU Bug Tracking System
Contact help-debbugs@gnu.org with problems
--- Begin Message --- Subject: 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




--- End Message ---
--- Begin Message --- Subject: Re: bug#43875: feature/native-comp; Fix another failure when eln-cache is removed Date: Sat, 10 Oct 2020 08:45:09 +0000 User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)
Andrew Whatson <whatson@gmail.com> writes:

> Yep it's all sorted!

Wonderful!

I've applied the patch as for the part related to the typo fix and
making the error homogeneous (85450f03be).

I've made a slightly different one (138990bbda) to address the problem
of the missing directory as it looks more correct to me (unwind-protect
would have not prevented the error to be catch-ed).

I've test it, as it works for me I'm closing.

Thanks for looking into this and submitting the patch!

  Andrea


--- End Message ---

reply via email to

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