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

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

[elpa] externals/consult 65c15951fa 1/2: consult-kmacro: Fix for Emacs 2


From: ELPA Syncer
Subject: [elpa] externals/consult 65c15951fa 1/2: consult-kmacro: Fix for Emacs 29, OClosures
Date: Sat, 24 Dec 2022 11:57:31 -0500 (EST)

branch: externals/consult
commit 65c15951fa6131a21db973ba62b39a6a38424ab5
Author: Daniel Mendler <mail@daniel-mendler.de>
Commit: Daniel Mendler <mail@daniel-mendler.de>

    consult-kmacro: Fix for Emacs 29, OClosures
---
 consult.el | 19 ++++++++++++++++---
 1 file changed, 16 insertions(+), 3 deletions(-)

diff --git a/consult.el b/consult.el
index ab4891192c..bb4360e089 100644
--- a/consult.el
+++ b/consult.el
@@ -4425,13 +4425,26 @@ outside a project. See `consult-buffer' for more 
details."
 
 ;;;;; Command: consult-kmacro
 
+(declare-function kmacro--keys "kmacro")
+(declare-function kmacro--counter "kmacro")
+(declare-function kmacro--format "kmacro")
+
 (defun consult--kmacro-candidates ()
   "Return alist of kmacros and indices."
   (thread-last
     ;; List of macros
-    (append (when last-kbd-macro
-              `((,last-kbd-macro ,kmacro-counter ,kmacro-counter-format)))
-            kmacro-ring)
+    (append
+     (when last-kbd-macro
+       (list (list last-kbd-macro kmacro-counter kmacro-counter-format)))
+     ;; Emacs 29 uses OClosures. I like OClosures but it would have been better
+     ;; if public APIs wouldn't change like that.
+     (if (> emacs-major-version 28)
+         (mapcar (lambda (x)
+                   (list (kmacro--keys x)
+                         (kmacro--counter x)
+                         (kmacro--format x)))
+                 kmacro-ring)
+       kmacro-ring))
     ;; Add indices
     (seq-map-indexed #'cons)
     ;; Filter mouse clicks



reply via email to

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