summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG3
-rw-r--r--lisp/transient.el7
2 files changed, 9 insertions, 1 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 0d5f40b..705acff 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -79,6 +79,9 @@ not (primarily) concern accessibility.
inconsistent state, because we did not protect all the places where
that could result in an error. 8b142031, #429
+- Restored compatibility with the ~emoji.el~ that ships with Emacs
+ 29.4. #417
+
* v0.12.0 2026-01-01
- Fixed a regression when using the ~transient-value-preset~ class,
diff --git a/lisp/transient.el b/lisp/transient.el
index c5393a8..25bc8f1 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -1652,7 +1652,12 @@ symbol property.")
(transient--set-layout
prefix
(named-let upgrade ((spec layout))
- (cond ((vectorp spec)
+ (cond ((and (vectorp spec)
+ (length= spec 3))
+ ;; This format is used by emoji.el from Emacs <= 29.4.
+ (pcase-let ((`[,class ,args ,children] spec))
+ (vector class args (mapcar #'upgrade children))))
+ ((vectorp spec)
(pcase-let ((`[,level ,class ,args ,children] spec))
(when level
(setq args (plist-put args :level level)))