GNU bug report logs - #43875
feature/native-comp; Fix another failure when eln-cache is removed

Previous Next

Package: emacs;

Reported by: Andrew Whatson <whatson <at> gmail.com>

Date: Fri, 9 Oct 2020 01:41:02 UTC

Severity: normal

Done: Andrea Corallo <akrl <at> sdf.org>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: help-debbugs <at> gnu.org (GNU bug Tracking System)
To: Andrea Corallo <akrl <at> sdf.org>
Cc: tracker <at> debbugs.gnu.org
Subject: bug#43875: closed (feature/native-comp; Fix another failure when
 eln-cache is removed)
Date: Sat, 10 Oct 2020 08:46:02 +0000
[Message part 1 (text/plain, inline)]
Your message dated Sat, 10 Oct 2020 08:45:09 +0000
with message-id <xjfeem6qxka.fsf <at> 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 <at> gnu.org.)


-- 
43875: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=43875
GNU Bug Tracking System
Contact help-debbugs <at> gnu.org with problems
[Message part 2 (message/rfc822, inline)]
From: Andrew Whatson <whatson <at> gmail.com>
To: bug-gnu-emacs <at> gnu.org
Cc: Andrew Whatson <whatson <at> gmail.com>
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



[Message part 3 (message/rfc822, inline)]
From: Andrea Corallo <akrl <at> sdf.org>
To: Andrew Whatson <whatson <at> gmail.com>
Cc: 43875-done <at> debbugs.gnu.org
Subject: Re: bug#43875: feature/native-comp; Fix another failure when
 eln-cache is removed
Date: Sat, 10 Oct 2020 08:45:09 +0000
Andrew Whatson <whatson <at> 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


This bug report was last modified 4 years and 225 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.