[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/transient a19faa1c71 364/366: Return to outer prefix wh
From: |
Jonas Bernoulli |
Subject: |
[elpa] externals/transient a19faa1c71 364/366: Return to outer prefix when minibuffer is aborted for sub-prefix |
Date: |
Tue, 25 Jan 2022 18:54:55 -0500 (EST) |
branch: externals/transient
commit a19faa1c71428e1f5b2bb548b966e9f9b1a9eca2
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
Return to outer prefix when minibuffer is aborted for sub-prefix
When a suffix is transient and uses the minibuffer, and the user
aborts that, then the transient remains open. If the suffix is
a prefix itself, then that did not happen before this commit.
---
lisp/transient.el | 13 ++++++++++---
1 file changed, 10 insertions(+), 3 deletions(-)
diff --git a/lisp/transient.el b/lisp/transient.el
index 6542ce44f6..db5d0f828e 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -2111,7 +2111,7 @@ value. Otherwise return CHILDREN as is."
(let ((depth (minibuffer-depth))
(command this-command)
(delayed (if transient--exitp
- #'transient--post-exit
+ (apply-partially #'transient--post-exit this-command)
#'transient--resume-override))
post-command abort-minibuffer)
(unless abort-only
@@ -2160,7 +2160,7 @@ value. Otherwise return CHILDREN as is."
(transient--push-keymap 'transient--redisplay-map)))
(transient--redisplay)))))
-(defun transient--post-exit ()
+(defun transient--post-exit (&optional command)
(transient--debug 'post-exit)
(unless (and (eq transient--exitp 'replace)
(or transient--prefix
@@ -2169,7 +2169,14 @@ value. Otherwise return CHILDREN as is."
;; or it is prevented from doing so because it
;; uses the minibuffer and the user aborted
;; that.
- (prog1 nil (transient--stack-zap))))
+ (prog1 nil
+ (if (with-demoted-errors "transient--post-exit: %S"
+ (oref (transient-suffix-object command) transient))
+ ;; This sub-prefix is a transient suffix;
+ ;; go back to outer prefix, by calling
+ ;; `transient--stack-pop' further down.
+ (setq transient--exitp nil)
+ (transient--stack-zap)))))
(remove-hook 'pre-command-hook #'transient--pre-command)
(remove-hook 'post-command-hook #'transient--post-command))
(setq transient-current-prefix nil)
- [elpa] externals/transient 7b8a7d718a 327/366: Use a more targeted approach to suspending transient override, (continued)
- [elpa] externals/transient 7b8a7d718a 327/366: Use a more targeted approach to suspending transient override, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 3c78b10f52 333/366: transient--redisplay: Don't redisplay during mouse-drag-region, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient bf29731a72 332/366: transient--post-command: Don't pop and push equal redisplay maps, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 777a84d26b 339/366: manual: Document all options, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient c19ff84355 338/366: manual: Rearrange and group options, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 9412f26175 356/366: manual: Use more @itemx, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 3de8d9b256 357/366: manual: Fix list item, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient ecb815bcae 353/366: transient--abort-commands: Add keyboard-escape-quit, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 686b7ebc5f 363/366: Fix handling of sub-prefix command that use the minibuffer, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient cda6a12042 342/366: transient-align-variable-pitch: New option, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient a19faa1c71 364/366: Return to outer prefix when minibuffer is aborted for sub-prefix,
Jonas Bernoulli <=
- [elpa] externals/transient 994616d92f 365/366: manual: Fix version macro and prefer PACKAGE_REVDESC, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 3b4202e8ca 358/366: Silence byte-compiler, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient e85b3e5241 007/366: manual: Fix a typo, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient b155eec353 011/366: transient--suffix-command: Fix doc-string typos, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient ebbe32e14d 028/366: transient--insert-groups: New function, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 70729dd620 043/366: transient-set-level: Disallow 0 as prefix level, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 3668aeb81d 053/366: transient--history-key: New generic function, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient e627d45166 054/366: transient-prefix: Add new history-key slot, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 8a0428e037 056/366: transient-args: Remove unnecessary form, Jonas Bernoulli, 2022/01/25
- [elpa] externals/transient 47b79754e3 055/366: transient--history-push: Define as generic function, Jonas Bernoulli, 2022/01/25