emacs-elpa-diffs
[Top][All Lists]
Advanced

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

[elpa] externals/compat 70e5842a99: Fix evaluating after-load-alist for


From: ELPA Syncer
Subject: [elpa] externals/compat 70e5842a99: Fix evaluating after-load-alist for Emacs 24.3
Date: Wed, 16 Nov 2022 09:57:25 -0500 (EST)

branch: externals/compat
commit 70e5842a99c786c6ae1878120ea4c9df45ab15ac
Author: Daanturo <daanturo@gmail.com>
Commit: Philip Kaludercic <philipk@posteo.net>

    Fix evaluating after-load-alist for Emacs 24.3
    
    For Emacs 24.3, `after-load-alist` includes forms (for `eval`) instead
    of functions like 24.4 and above. Also when subr-x, return the feature
    as symbol.
---
 compat-24.el | 14 +++++++++-----
 1 file changed, 9 insertions(+), 5 deletions(-)

diff --git a/compat-24.el b/compat-24.el
index d38f0511b4..51bd31e279 100644
--- a/compat-24.el
+++ b/compat-24.el
@@ -385,15 +385,19 @@ When IGNORE-CASE is non-nil, FUN is expected to be 
case-insensitive."
 
 ;;* UNTESTED
 (compat-advise require (feature &rest args)
-  "Allow for Emacs 24.x to require the inexistent FEATURE subr-x."
+  "Allow for Emacs 24.3 to require the inexistent FEATURE subr-x."
+  :version "24.4"
   ;; As the compatibility advise around `require` is more a hack than
   ;; of of actual value, the highlighting is suppressed.
   :no-highlight t
   (if (eq feature 'subr-x)
-      (let ((entry (assq feature after-load-alist)))
-        (let ((load-file-name nil))
-          (dolist (form (cdr entry))
-            (funcall (eval form t)))))
+      (progn
+        (unless (memq 'subr-x features)
+          (push 'subr-x features)
+          (dolist (a-l-element after-load-alist)
+            (when (eq (car a-l-element) 'subr-x)
+              (mapc #'eval (cdr a-l-element)))))
+        'subr-x)
     (apply oldfun feature args)))
 
 (compat-defun hash-table-keys (hash-table)



reply via email to

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