[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ivy-hydra f50104c 021/395: ivy.el (ivy--cd-maybe): Exit
From: |
Basil L. Contovounesios |
Subject: |
[elpa] externals/ivy-hydra f50104c 021/395: ivy.el (ivy--cd-maybe): Exit with 'no-update-history |
Date: |
Thu, 25 Feb 2021 08:31:22 -0500 (EST) |
branch: externals/ivy-hydra
commit f50104c76cccfbe4d31e72d8ad11748e168bbd67
Author: Oleh Krehel <ohwoeowho@gmail.com>
Commit: Oleh Krehel <ohwoeowho@gmail.com>
ivy.el (ivy--cd-maybe): Exit with 'no-update-history
* ivy.el (ivy-exit-with-action): Add optional exit code.
(ivy-read): Explicitly remove whatever `read-from-minibuffer' adds to the
history.
Then add it ourselves, but only if `ivy-exit' was 'done.
(ivy--update-history): Extract.
Fixes #2306
---
ivy.el | 26 +++++++++++++++-----------
1 file changed, 15 insertions(+), 11 deletions(-)
diff --git a/ivy.el b/ivy.el
index 466b3f6..660a5bb 100644
--- a/ivy.el
+++ b/ivy.el
@@ -709,13 +709,13 @@ N is obtained from `ivy-more-chars-alist'."
,@body)))
(abort-recursive-edit)))
-(defun ivy-exit-with-action (action)
+(defun ivy-exit-with-action (action &optional exit-code)
"Quit the minibuffer and call ACTION afterwards."
(ivy-set-action
`(lambda (x)
(funcall ',action x)
(ivy-set-action ',(ivy-state-action ivy-last))))
- (setq ivy-exit 'done)
+ (setq ivy-exit (or exit-code 'done))
(exit-minibuffer))
(defmacro with-ivy-window (&rest body)
@@ -1532,7 +1532,8 @@ If so, move to that directory, while keeping only the
file name."
:initial-value nil))))
(ivy-exit-with-action
(lambda (_)
- (ivy-ffap-url-fetcher url)))
+ (ivy-ffap-url-fetcher url))
+ 'no-update-history)
(setq input (expand-file-name input))
(let ((file (file-name-nondirectory input))
(dir (expand-file-name (file-name-directory input))))
@@ -2132,21 +2133,24 @@ customizations apply to the current completion session."
(ivy-state-initial-input ivy-last)
(make-composed-keymap keymap ivy-minibuffer-map)
nil
- hist))
+ hist)
+ (pop (symbol-value hist)))
(when (eq ivy-exit 'done)
- (let ((item (if ivy--directory
- (ivy-state-current ivy-last)
- ivy-text)))
- (unless (equal item "")
- (set hist (cons (propertize item 'ivy-index ivy--index)
- (delete item
- (cdr (symbol-value hist))))))))
+ (ivy--update-history hist))
(setq result (ivy-state-current ivy-last))))
(ivy--cleanup))
(ivy-call)
(ivy--remove-props (ivy-state-current ivy-last) 'idx)
result))
+(defun ivy--update-history (hist)
+ (let ((item (if ivy--directory
+ (ivy-state-current ivy-last)
+ ivy-text)))
+ (unless (equal item "")
+ (set hist (cons (propertize item 'ivy-index ivy--index)
+ (delete item (symbol-value hist)))))))
+
(defun ivy--cleanup ()
;; Fixes a bug in ESS, #1660
(put 'post-command-hook 'permanent-local nil)
- [elpa] externals/ivy-hydra f6b3b29 011/395: counsel.el (counsel-compile-forget-command): Add, (continued)
- [elpa] externals/ivy-hydra f6b3b29 011/395: counsel.el (counsel-compile-forget-command): Add, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 7b1af79 012/395: counsel.el (counsel--projectile-root): Add, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 32c097a 004/395: counsel.el (counsel-search): Rename from counsel-google and add DDG, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 884dd9e 025/395: counsel.el (counsel--git-grep-occur-cmd): Handle case folding, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 9666820 037/395: swiper.el (swiper--add-overlays): Don't miss highlights when at eol, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra ad00c47 039/395: swiper.el (swiper--re-builder): Treat "\n" in input as a newline, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 64d18d1 002/395: counsel.el (counsel-ag): Respect case sensitivity settings, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra b0029ca 010/395: Make casefold settings for counsel-git-grep work., Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra a2a3263 014/395: ivy.el (ivy-initial-inputs-alist): Add default behavior, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 2fe64cd 036/395: swiper.el (swiper--isearch-highlight): Don't hang on empty match data, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra f50104c 021/395: ivy.el (ivy--cd-maybe): Exit with 'no-update-history,
Basil L. Contovounesios <=
- [elpa] externals/ivy-hydra 3b35b45 015/395: counsel.el (counsel-ack): Fix, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 47e5046 027/395: swiper.el (swiper--isearch-function-1): Don't skip match at eobp, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 43daeb1 029/395: counsel.el (counsel-git-grep): Set :require-match to t in `ivy-read', Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra d28cd03 048/395: ivy.el (file-local-name): Define unless already defined, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra e1cfd32 052/395: ivy.el (ivy-use-group-face-if-no-groups): New defcustom, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 4f81b22 006/395: counsel.el (counsel-search-engines-alist): Fix, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 096ff2a 020/395: counsel.el: Fix compiler warning, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 6ed0ad4 032/395: counsel.el (counsel-ag): Set :require-match to t., Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 03fb20e 033/395: ivy.el (ivy-help): Insert "describe-mode" outline, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 66a8b1b 031/395: ivy.el (ivy--reset-state): Bind ivy-recursive-restore to nil, Basil L. Contovounesios, 2021/02/25