[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