[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/transient 6ff5c51f26: transient-isearch-abort: Fix part
From: |
Jonas Bernoulli |
Subject: |
[elpa] externals/transient 6ff5c51f26: transient-isearch-abort: Fix partial match case |
Date: |
Mon, 8 May 2023 17:37:02 -0400 (EDT) |
branch: externals/transient
commit 6ff5c51f26fdc9c2d4fba1a0c5e7f728bb911f8e
Author: Jonas Bernoulli <jonas@bernoul.li>
Commit: Jonas Bernoulli <jonas@bernoul.li>
transient-isearch-abort: Fix partial match case
If the search is successful, then `isearch-abort' cancels, and we
have to additionally call `transient--isearch-exit' as we already
do.
However, if the search is unsuccessful, then `isearch-abort' only
rubs out input until the search becomes successful. This does not
exit the search, so we must not call `transient--isearch-exit'.
---
lisp/transient.el | 9 +++++++--
1 file changed, 7 insertions(+), 2 deletions(-)
diff --git a/lisp/transient.el b/lisp/transient.el
index 952cfb8233..6e8f9ebf05 100644
--- a/lisp/transient.el
+++ b/lisp/transient.el
@@ -3934,8 +3934,13 @@ search instead."
(defun transient-isearch-abort ()
"Like `isearch-abort' but adapted for `transient'."
(interactive)
- (condition-case nil (isearch-abort) (quit))
- (transient--isearch-exit))
+ (let ((around (lambda (fn)
+ (condition-case nil (funcall fn) (quit))
+ (transient--isearch-exit))))
+ (advice-add 'isearch-cancel :around around)
+ (unwind-protect
+ (isearch-abort)
+ (advice-remove 'isearch-cancel around))))
(defun transient--isearch-setup ()
(select-window transient--window)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [elpa] externals/transient 6ff5c51f26: transient-isearch-abort: Fix partial match case,
Jonas Bernoulli <=