emacs-diffs
[Top][All Lists]
Advanced

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

master bf695b937e 2/2: Move native-comp-eln-load-path setting earlier ag


From: Lars Ingebrigtsen
Subject: master bf695b937e 2/2: Move native-comp-eln-load-path setting earlier again
Date: Fri, 28 Jan 2022 09:27:12 -0500 (EST)

branch: master
commit bf695b937e17068a1bc278c018235317fff787d8
Author: Lars Ingebrigtsen <larsi@gnus.org>
Commit: Lars Ingebrigtsen <larsi@gnus.org>

    Move native-comp-eln-load-path setting earlier again
    
    * lisp/startup.el (normal-top-level): Move
    `native-comp-eln-load-path' earlier because hooks called may need
    the setting (bug#53596).
---
 lisp/startup.el | 79 ++++++++++++++++++++++++++++++---------------------------
 1 file changed, 41 insertions(+), 38 deletions(-)

diff --git a/lisp/startup.el b/lisp/startup.el
index 60aaa76002..66dd726ae9 100644
--- a/lisp/startup.el
+++ b/lisp/startup.el
@@ -693,6 +693,47 @@ It is the default value of the variable `top-level'."
     (let ((old-face-font-rescale-alist face-font-rescale-alist))
       (unwind-protect
          (command-line)
+
+        ;; Do this after `command-line', since it may alter
+        ;; `user-emacs-directory'.
+        (when (featurep 'native-compile)
+          ;; Form `native-comp-eln-load-path'.
+          (let ((path-env (getenv "EMACSNATIVELOADPATH")))
+            (when path-env
+              (dolist (path (split-string path-env path-separator))
+                (unless (string= "" path)
+                  (push path native-comp-eln-load-path)))))
+          (push (expand-file-name "eln-cache/" user-emacs-directory)
+                native-comp-eln-load-path)
+          ;; When $HOME is set to '/nonexistent' means we are running the
+          ;; testsuite, add a temporary folder in front to produce there
+          ;; new compilations.
+          (when (and (equal (getenv "HOME") "/nonexistent")
+                     ;; We may be running in a chroot environment where we
+                     ;; can't write anything.
+                     (file-writable-p (expand-file-name
+                                       (or temporary-file-directory ""))))
+            (let ((tmp-dir (make-temp-file "emacs-testsuite-" t)))
+              (add-hook 'kill-emacs-hook
+                        (lambda ()
+                          (delete-directory tmp-dir t)))
+              (push tmp-dir native-comp-eln-load-path)))
+          (when locale-coding-system
+            (let ((coding (if (eq system-type 'windows-nt)
+                             ;; MS-Windows build converts all file names to
+                             ;; UTF-8 during startup.
+                             'utf-8
+                           locale-coding-system))
+                  (npath (symbol-value 'native-comp-eln-load-path)))
+              (set 'native-comp-eln-load-path
+                   (mapcar (lambda (dir)
+                             ;; Call expand-file-name to remove all the
+                             ;; pesky ".." from the directyory names in
+                             ;; native-comp-eln-load-path.
+                             (expand-file-name
+                              (decode-coding-string dir coding t)))
+                           npath)))))
+
        ;; Do this again, in case .emacs defined more abbreviations.
        (if default-directory
            (setq default-directory (abbreviate-file-name default-directory)))
@@ -760,44 +801,6 @@ It is the default value of the variable `top-level'."
        (unless inhibit-startup-hooks
          (run-hooks 'window-setup-hook))))
 
-    ;; Do this after `command-line', since it may alter
-    ;; `user-emacs-directory'.
-    (when (featurep 'native-compile)
-      ;; Form `native-comp-eln-load-path'.
-      (let ((path-env (getenv "EMACSNATIVELOADPATH")))
-        (when path-env
-          (dolist (path (split-string path-env path-separator))
-            (unless (string= "" path)
-              (push path native-comp-eln-load-path)))))
-      (push (expand-file-name "eln-cache/" user-emacs-directory)
-            native-comp-eln-load-path)
-      ;; When $HOME is set to '/nonexistent' means we are running the
-      ;; testsuite, add a temporary folder in front to produce there
-      ;; new compilations.
-      (when (and (equal (getenv "HOME") "/nonexistent")
-                 ;; We may be running in a chroot environment where we
-                 ;; can't write anything.
-                 (file-writable-p (expand-file-name
-                                   (or temporary-file-directory ""))))
-        (let ((tmp-dir (make-temp-file "emacs-testsuite-" t)))
-          (add-hook 'kill-emacs-hook (lambda () (delete-directory tmp-dir t)))
-          (push tmp-dir native-comp-eln-load-path)))
-      (when locale-coding-system
-        (let ((coding (if (eq system-type 'windows-nt)
-                         ;; MS-Windows build converts all file names to
-                         ;; UTF-8 during startup.
-                         'utf-8
-                       locale-coding-system))
-              (npath (symbol-value 'native-comp-eln-load-path)))
-          (set 'native-comp-eln-load-path
-               (mapcar (lambda (dir)
-                         ;; Call expand-file-name to remove all the
-                         ;; pesky ".." from the directyory names in
-                         ;; native-comp-eln-load-path.
-                         (expand-file-name
-                          (decode-coding-string dir coding t)))
-                       npath)))))
-
     ;; Subprocesses of Emacs do not have direct access to the terminal, so
     ;; unless told otherwise they should only assume a dumb terminal.
     ;; We are careful to do it late (after term-setup-hook), although the



reply via email to

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