[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[elpa] externals/ivy-hydra bd9945b 243/395: Fix recent regression in ivy
From: |
Basil L. Contovounesios |
Subject: |
[elpa] externals/ivy-hydra bd9945b 243/395: Fix recent regression in ivy--preselect-index |
Date: |
Thu, 25 Feb 2021 08:32:12 -0500 (EST) |
branch: externals/ivy-hydra
commit bd9945b91b64304f1ae87fe2e8eb479590e5dad8
Author: Basil L. Contovounesios <contovob@tcd.ie>
Commit: Basil L. Contovounesios <contovob@tcd.ie>
Fix recent regression in ivy--preselect-index
* ivy.el (ivy--preselect-index): Always return an index, never nil.
* ivy-test.el (ivy--preselect-index): New test.
---
ivy-test.el | 18 ++++++++++++++++++
ivy.el | 16 ++++++++--------
2 files changed, 26 insertions(+), 8 deletions(-)
diff --git a/ivy-test.el b/ivy-test.el
index c55ac2d..e24477b 100644
--- a/ivy-test.el
+++ b/ivy-test.el
@@ -1538,6 +1538,24 @@ a buffer visiting a file."
(counsel--split-command-args "counsel--format")
'("" . "counsel--format"))))
+(ert-deftest ivy--preselect-index ()
+ "Test `ivy--preselect-index' behavior."
+ (should (eql (ivy--preselect-index nil ()) 0))
+ (should (eql (ivy--preselect-index nil '(nil)) 0))
+ (should (eql (ivy--preselect-index nil '(t)) 0))
+ (should (eql (ivy--preselect-index nil '(t nil)) 1))
+ (should (eql (ivy--preselect-index 0 ()) 0))
+ (should (eql (ivy--preselect-index 0 '(0)) 0))
+ (should (eql (ivy--preselect-index 0 '(1)) 0))
+ (should (eql (ivy--preselect-index 0 '(1 0)) 1))
+ (should (eql (ivy--preselect-index 0 '(a)) 0))
+ (should (eql (ivy--preselect-index 1 '(a)) 1))
+ (should (eql (ivy--preselect-index "" ()) 0))
+ (should (eql (ivy--preselect-index "" '("")) 0))
+ (should (eql (ivy--preselect-index "" '("a")) 0))
+ (should (eql (ivy--preselect-index "a+" '("a")) 0))
+ (should (eql (ivy--preselect-index "a+" '("b" "a")) 1)))
+
(defun ivy-test-run-tests ()
(let ((test-sets
'(
diff --git a/ivy.el b/ivy.el
index a4d1352..bf01f20 100644
--- a/ivy.el
+++ b/ivy.el
@@ -2746,14 +2746,14 @@ Minibuffer bindings:
(defun ivy--preselect-index (preselect candidates)
"Return the index of PRESELECT in CANDIDATES."
- (cond ((integerp preselect)
- (if (integerp (car candidates))
- (cl-position preselect candidates)
- preselect))
- ((cl-position preselect candidates :test #'equal))
- ((and (ivy--regex-p preselect)
- (cl-position preselect candidates :test #'string-match-p)))
- (t 0)))
+ (or (cond ((integerp preselect)
+ (if (integerp (car candidates))
+ (cl-position preselect candidates)
+ preselect))
+ ((cl-position preselect candidates :test #'equal))
+ ((ivy--regex-p preselect)
+ (cl-position preselect candidates :test #'string-match-p)))
+ 0))
;;* Implementation
;;** Regex
- [elpa] externals/ivy-hydra 47ec37b 203/395: ivy.el: Fix some string predicates, (continued)
- [elpa] externals/ivy-hydra 47ec37b 203/395: ivy.el: Fix some string predicates, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 1883499 217/395: ivy.el (ivy-auto-shrink-minibuffer-alist): Extend from ivy-auto-shrink-minibuffer, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra c5517fc 228/395: ivy.el: Trim grep line numbers for "M-o w" and "M-o i", Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra f2852fc 207/395: Clean up compatibility code, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 1d25cdd 209/395: Revert ".dir-locals.el: Simplify outline-regexp", Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra dc60eac 201/395: ivy.el (ivy-read-action-by-key): Fix keys to quit action selection, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 251c219 193/395: Enable setting the display function with ivy-configure, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra ee2a537 204/395: * counsel.el (counsel-mark--get-evil-candidates): Fix typo, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra eeb14b1 213/395: ivy-test.el (ivy-read-history): Add a test, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 1bf5b98 234/395: ivy.el: Fix next-error randomly jumping to previous match, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra bd9945b 243/395: Fix recent regression in ivy--preselect-index,
Basil L. Contovounesios <=
- [elpa] externals/ivy-hydra 0ecc41c 240/395: * ivy.el (ivy-occur-next-error): Use dolist., Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra ec16352 253/395: ivy.el (ivy-resume): Check that :action is not identity, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra f3f4c8c 246/395: Fix ivy-auto-shrink-minibuffer regression, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 57c7d7c 259/395: Call actions with default-directory bound to last state dir, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 92e5a95 252/395: Add command counsel-describe-symbol, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 16d391d 263/395: ivy.el (ivy--done): Handle ivy-text being a full path when on remote, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra ce5b20a 283/395: counsel.el (counsel-grep-like-occur): Fix for a list arg, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra db5a894 327/395: ivy-test.el (ivy-with): Don't use counsel-locate-git-root, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra 0b5c08a 308/395: counsel.el (counsel-grep-like-occur): Fix copy-sequence for cl-mapcan, Basil L. Contovounesios, 2021/02/25
- [elpa] externals/ivy-hydra aef1d4d 302/395: ivy.el (ivy-configure): Add :parent keyword, Basil L. Contovounesios, 2021/02/25