patch 9.1.0705: Sorting of fuzzy filename completion is not stable

Commit: 
https://github.com/vim/vim/commit/58d705238c0794ee3baa4173831ab157e709a48a
Author: zeertzjq <zeert...@outlook.com>
Date:   Sat Aug 31 17:05:39 2024 +0200

    patch 9.1.0705: Sorting of fuzzy filename completion is not stable
    
    Problem:  Sorting of fuzzy filename completion is not stable
    Solution: Compare indexes when scores are equal.  Fix some typos.
              (zeertzjq)
    
    closes: #15593
    
    Signed-off-by: zeertzjq <zeert...@outlook.com>
    Signed-off-by: Christian Brabandt <c...@256bit.org>

diff --git a/src/insexpand.c b/src/insexpand.c
index af818d4ad..d424fff00 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -3546,7 +3546,8 @@ static int compare_scores(const void *a, const void *b)
     int idx_b = *(const int *)b;
     int score_a = compl_fuzzy_scores[idx_a];
     int score_b = compl_fuzzy_scores[idx_b];
-    return (score_a > score_b) ? -1 : (score_a < score_b) ? 1 : 0;
+    return score_a == score_b ? (idx_a == idx_b ? 0 : (idx_a < idx_b ? -1 : 1))
+                       : (score_a > score_b ? -1 : 1);
 }
 
 /*
diff --git a/src/search.c b/src/search.c
index e5936d829..a7fd44e68 100644
--- a/src/search.c
+++ b/src/search.c
@@ -5217,7 +5217,7 @@ search_for_fuzzy_match(
 {
     pos_T      current_pos = *pos;
     pos_T      circly_end;
-    int                found_new_match = FAIL;
+    int                found_new_match = FALSE;
     int                looped_around = FALSE;
 
     if (whole_line)
diff --git a/src/testdir/dumps/Test_pum_highlights_15.dump 
b/src/testdir/dumps/Test_pum_highlights_15.dump
index e923b439a..199f753af 100644
--- a/src/testdir/dumps/Test_pum_highlights_15.dump
+++ b/src/testdir/dumps/Test_pum_highlights_15.dump
@@ -1,4 +1,4 @@
-|/+0&#ffffff0|n|o|n|_|e|x|i|t|_|f|o|l|d|e|r> @58
+|/+0&#ffffff0|n|o|n|_|e|x|i|s|t|i|n|g|_|f|o|l|d|e|r> @54
 |~+0#4040ff13&| @73
 |~| @73
 |~| @73
diff --git a/src/testdir/test_popup.vim b/src/testdir/test_popup.vim
index fe958da0e..caec8ff0f 100644
--- a/src/testdir/test_popup.vim
+++ b/src/testdir/test_popup.vim
@@ -1494,7 +1494,7 @@ func Test_pum_highlights_match()
   call VerifyScreenDump(buf, 'Test_pum_highlights_11', {})
 
   " issue #15357
-  call term_sendkeys(buf, "\<ESC>S/non_exit_folder\<C-X>\<C-F>")
+  call term_sendkeys(buf, "\<ESC>S/non_existing_folder\<C-X>\<C-F>")
   call TermWait(buf, 50)
   call VerifyScreenDump(buf, 'Test_pum_highlights_15', {})
 
diff --git a/src/version.c b/src/version.c
index 44137b736..6d374eb78 100644
--- a/src/version.c
+++ b/src/version.c
@@ -704,6 +704,8 @@ static char *(features[]) =
 
 static int included_patches[] =
 {   /* Add new patch number below this line */
+/**/
+    705,
 /**/
     704,
 /**/

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to vim_dev+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/vim_dev/E1skPoe-002bzb-8m%40256bit.org.

Raspunde prin e-mail lui