From 767a52ba308655f72ac4d255b4f13fd2c635f6d1 Mon Sep 17 00:00:00 2001 From: zeertzjq Date: Sun, 1 Sep 2024 06:22:37 +0800 Subject: vim-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: vim/vim#15593 https://github.com/vim/vim/commit/58d705238c0794ee3baa4173831ab157e709a48a --- src/nvim/insexpand.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/nvim/insexpand.c b/src/nvim/insexpand.c index af26e882dc..f2ad4c0757 100644 --- a/src/nvim/insexpand.c +++ b/src/nvim/insexpand.c @@ -3306,7 +3306,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); } /// Get the next set of filename matching "compl_pattern". -- cgit