[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/compat 5607bec3c2 07/10: Do not modify load-suffixes du
From: |
ELPA Syncer |
Subject: |
[elpa] externals/compat 5607bec3c2 07/10: Do not modify load-suffixes during loading |
Date: |
Sun, 17 Jul 2022 17:57:25 -0400 (EDT) |
branch: externals/compat
commit 5607bec3c2b58b868a9128d6d5f6bfb32d352e47
Author: Philip Kaludercic <philipk@posteo.net>
Commit: Philip Kaludercic <philipk@posteo.net>
Do not modify load-suffixes during loading
It appears that even this is too risky, and can cause issues recursive
loading (from what I understand loading the non-byte compiled
jka-compr.el causes this issue). Instead we will check if
`compat-testing' is bound and true, in which case we explicitly load
the .el file, and otherwise keep the file without a specific suffix.
---
compat.el | 17 +++++++----------
1 file changed, 7 insertions(+), 10 deletions(-)
diff --git a/compat.el b/compat.el
index b0996f272e..b1e1261ce5 100644
--- a/compat.el
+++ b/compat.el
@@ -48,21 +48,18 @@
;; and do nothing when loading each sub-feature manually.
(defvar compat--inhibit-prefixed)
-(let ((compat--inhibit-prefixed (not (bound-and-true-p compat-testing)))
- (load-suffixes
- (if (bound-and-true-p compat-testing)
- (cons ".el" (remove ".el" load-suffixes))
- load-suffixes)))
+(let ((compat--inhibit-prefixed (not (bound-and-true-p compat-testing))))
;; Instead of using `require', we manually check `features' and call
;; `load' to avoid the issue of not using `provide' at the end of
;; the file (which is disabled by `compat--inhibit-prefixed', so
;; that the file can be loaded again at some later point when the
;; prefixed definitions are needed).
- (unless (memq 'compat-24 features) (load "compat-24"))
- (unless (memq 'compat-25 features) (load "compat-25"))
- (unless (memq 'compat-26 features) (load "compat-26"))
- (unless (memq 'compat-27 features) (load "compat-27"))
- (unless (memq 'compat-28 features) (load "compat-28")))
+ (dolist (vers '(24 25 26 27 28))
+ (unless (memq (intern (format "compat-%d" vers)) features)
+ (load (format "compat-%d%s" vers
+ (if (bound-and-true-p compat-testing)
+ ".el" ""))
+ nil t))))
(provide 'compat)
;;; compat.el ends here
- [elpa] externals/compat updated (93dc61d64f -> bddb17d378), ELPA Syncer, 2022/07/17
- [elpa] externals/compat 0cda922177 02/10: Rename compat-deftest to compat-tests, ELPA Syncer, 2022/07/17
- [elpa] externals/compat 02bbef139c 04/10: Require sub-features instead of loading them, ELPA Syncer, 2022/07/17
- [elpa] externals/compat 73832a8d0f 09/10: Add a declare-function for json-serialize, ELPA Syncer, 2022/07/17
- [elpa] externals/compat cdc842459e 03/10: Respect compat-testing during loading, ELPA Syncer, 2022/07/17
- [elpa] externals/compat c50b6e0b9a 06/10: Wrap provide calls in `compat--inhibit-prefixed', ELPA Syncer, 2022/07/17
- [elpa] externals/compat 72f1789e6b 08/10: Print version before starting tests, ELPA Syncer, 2022/07/17
- [elpa] externals/compat 03a4cdd528 05/10: Prepend ".el" to load-suffixes during testing, ELPA Syncer, 2022/07/17
- [elpa] externals/compat 5607bec3c2 07/10: Do not modify load-suffixes during loading,
ELPA Syncer <=
- [elpa] externals/compat 9e40cf3c3a 01/10: Simplify loading and compiling of Compat, ELPA Syncer, 2022/07/17
- [elpa] externals/compat bddb17d378 10/10: Merge branch 'simple-load', ELPA Syncer, 2022/07/17