summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG5
-rw-r--r--lisp/transient.el10
2 files changed, 10 insertions, 5 deletions
diff --git a/CHANGELOG b/CHANGELOG
index 25d50e7..f157110 100644
--- a/CHANGELOG
+++ b/CHANGELOG
@@ -1,4 +1,9 @@
# -*- mode: org -*-
+* v0.9.2 UNRELEASED
+
+- Fixed a regression in v0.9.0, which made it impossible to change the
+ level of a suffix if that was set inline in the prefix definition.
+
* v0.9.1 2025-06-03
- As an additional safety measure, unconditionally reset ~inhibit-quit~
diff --git a/lisp/transient.el b/lisp/transient.el
index 29388a9..a56774c 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2511,16 +2511,16 @@ value. Otherwise return CHILDREN as is.")
(alist-get cmd levels)
(plist-get args :level)
(and proto (oref proto level))
- transient--default-child-level)))
+ transient--default-child-level))
+ (args (plist-put (copy-list plist) :level level)))
(when (transient--use-level-p level)
(let ((obj (if (child-of-class-p class 'transient-information)
- (apply class :parent parent :level level args)
+ (apply class :parent parent args)
(unless (and cmd (symbolp cmd))
(error "BUG: Non-symbolic suffix command: %s" cmd))
(if proto
- (apply #'clone proto :parent parent :level level args)
- (apply class :command cmd :parent parent :level level
- args)))))
+ (apply #'clone proto :parent parent args)
+ (apply class :command cmd :parent parent args)))))
(cond ((not cmd))
((commandp cmd))
((or (cl-typep obj 'transient-switch)