[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/transient 0ad64ddc5d 010/366: transient-remove-suffix:
From: |
Jonas Bernoulli |
Subject: |
[elpa] externals/transient 0ad64ddc5d 010/366: transient-remove-suffix: Fix removal of last child of a group |
Date: |
Tue, 25 Jan 2022 18:54:22 -0500 (EST) |
branch: externals/transient
commit 0ad64ddc5db466fb3bcac67b931b30393cdbc0a5
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
transient-remove-suffix: Fix removal of last child of a group
Fixes #6.
---
lisp/transient.el | 16 +++++++++-------
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/lisp/transient.el b/lisp/transient.el
index 1dc8158eca..8420485096 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -812,9 +812,7 @@ PREFIX is a prefix command, a symbol.
LOC is a command, a key vector or a key description
(a string as returned by `key-description')."
(declare (indent defun))
- (when-let ((mem (transient--layout-member prefix loc)))
- (setcar mem (cadr mem))
- (setcdr mem (cddr mem))))
+ (transient--layout-member prefix loc 'remove))
(defun transient-get-suffix (prefix loc)
"Return the suffix at LOC from PREFIX.
@@ -836,7 +834,7 @@ PROP has to be a keyword. What keywords and values
(setf (nth 2 elt)
(plist-put (nth 2 elt) prop value))))
-(defun transient--layout-member (prefix loc)
+(defun transient--layout-member (prefix loc &optional remove)
(if-let ((layout (get prefix 'transient--layout)))
(cl-labels
((key (loc)
@@ -854,9 +852,13 @@ PROP has to be a keyword. What keywords and values
(if (vectorp (car (aref layout 3)))
(--any (mem it loc)
(aref layout 3))
- (cl-member-if (lambda (suffix)
- (mem suffix loc))
- (aref layout 3))))
+ (let* ((list (aref layout 3))
+ (cons (cl-member-if (lambda (suffix) (mem suffix
loc))
+ list)))
+ (if remove
+ (prog1 nil
+ (aset layout 3 (delq (car cons) list)))
+ cons))))
((and (listp layout)
(if (symbolp loc)
(eq (plist-get (nth 2 layout) :command) loc)
- [elpa] externals/transient b526b9c735 281/366: transient-infix-set: Consider all incompatibility rules, (continued)
- [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
- [elpa] externals/transient 4477555b17 366/366: transient--post-exit: Deal with unbound transient slot properly, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient ad7f255308 116/366: For popups set tab-line-format to nil, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 0ad64ddc5d 010/366: transient-remove-suffix: Fix removal of last child of a group,
Jonas Bernoulli <=
- [elpa] externals/transient f2ef69cfcc 176/366: transient--get-predicate-for: New function, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient f2252d53b6 188/366: Support delaying setup of suffixes until prefix invocation, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient a3e536333e 189/366: Support anonymous non-infix suffixes, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient aaac13bb9d 193/366: transient--make-transient-map: Don't explicitly take emergency exit, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 313eee0f1c 196/366: manual: Document more infix slots, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 1b9929eca9 197/366: Add new `unsavable' infix slot, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 8b22b52b83 211/366: Support defining a per-prefix fallback suffix description function, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 7065e1ce86 229/366: manual: Various small improvements, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 030d0fe56b 251/366: Rearrange library header, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 779b847c20 252/366: make: Update path to ox-extra, Jonas Bernoulli, 2022/01/25