[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/transient e4ffb97a68 018/366: transient--layout-member:
From: |
Jonas Bernoulli |
Subject: |
[elpa] externals/transient e4ffb97a68 018/366: transient--layout-member: Match indirect key bindings |
Date: |
Tue, 25 Jan 2022 18:54:22 -0500 (EST) |
branch: externals/transient
commit e4ffb97a68e4ca4285b26264ccf548c4c85f48e2
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
transient--layout-member: Match indirect key bindings
The key binding may be defined in the suffix object instead in
the suffixes spec.
---
lisp/transient.el | 19 ++++++++++++++++---
1 file changed, 16 insertions(+), 3 deletions(-)
diff --git a/lisp/transient.el b/lisp/transient.el
index 3af24f65a5..2d05406e10 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -860,13 +860,26 @@ PROP has to be a keyword. What keywords and values
(aset layout 3 (delq (car cons) list)))
cons))))
((and (listp layout)
- (if (symbolp loc)
- (eq (plist-get (nth 2 layout) :command) loc)
- (equal (key (plist-get (nth 2 layout) :key)) loc)))
+ (let* ((def (nth 2 layout))
+ (cmd (plist-get def :command)))
+ (if (symbolp loc)
+ (eq cmd loc)
+ (equal (key (or (plist-get def :key)
+ (transient--command-key cmd)))
+ loc))))
layout))))
(mem layout (key loc)))
(error "%s is not a transient command" prefix)))
+(defun transient--command-key (cmd)
+ (when-let ((obj (get cmd 'transient--suffix)))
+ (cond ((slot-boundp obj 'key)
+ (oref obj key))
+ ((slot-exists-p obj 'shortarg)
+ (if (slot-boundp obj 'shortarg)
+ (oref obj shortarg)
+ (transient--derive-shortarg (oref obj argument)))))))
+
;;; Variables
(defvar current-transient-prefix nil
- [elpa] externals/transient 73694be44a 179/366: transient-infix-read: Support use by regular commands, (continued)
- [elpa] externals/transient 73694be44a 179/366: transient-infix-read: Support use by regular commands, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient e2fee19879 204/366: Support using variables in group and suffix specifications, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 9b17afb9a0 214/366: transient-infix-set: Remove outdated claim from doc-string, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient cbc078d84c 215/366: transient--with-emergency-exit: Re-signal errors directly, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient d555d26004 221/366: transient-format-description(lisp-variable): Return string, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 9a1d62699f 222/366: transient-force-fixed-pitch: Fix doc-string, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient d85eb790e8 235/366: transient-read-directory: Pass read value through file-local-name, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 48238bf580 236/366: Allow invoking arbitrary prefixes as non-suffixes, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient a3b442243b 241/366: transient-read-{, existing-}file: New functions, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient c4bf4af655 020/366: transient--show-manpage: Fix jumping to argument, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient e4ffb97a68 018/366: transient--layout-member: Match indirect key bindings,
Jonas Bernoulli <=
- [elpa] externals/transient 2d8ceff408 185/366: transient-setup: Add emergency exit, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 601ebf5547 262/366: Quote value of slots' :initform when defining classes, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient b526b9c735 281/366: transient-infix-set: Consider all incompatibility rules, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 459e28e28a 311/366: Add lisp-imenu-generic-expression entry, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 1a1ae03600 324/366: Remove transient--pre-command later, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient e90f7a165e 335/366: Add support for returning from a sub-prefix to the parent prefix, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 8b1f8dcc51 354/366: transient--minibuffer-depth: Must always be a number, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 5762bd9a06 341/366: transient-hide-during-minibuffer-read: New option, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient de5a325616 349/366: Re-align debug declarations, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 6103f168aa 347/366: transient--describe-function: Deal with anonymous infix arguments, Jonas Bernoulli, 2022/01/25