Handle empty strings in compare_completions_by_tilde

Fixes #5895.
This commit is contained in:
Fabian Homborg 2019-05-27 08:15:08 +02:00
parent d5f2d472d0
commit 9ae3b345c8

View File

@ -243,7 +243,7 @@ static bool compare_completions_by_duplicate_arguments(const completion_t &a,
} }
static bool compare_completions_by_tilde(const completion_t &a, const completion_t &b) { static bool compare_completions_by_tilde(const completion_t &a, const completion_t &b) {
return (a.completion.back() == L'~') < (b.completion.back() == L'~'); return (a.completion.empty() < b.completion.empty()) || (a.completion.back() == L'~') < (b.completion.back() == L'~');
} }
/// Unique the list of completions, without perturbing their order. /// Unique the list of completions, without perturbing their order.
static void unique_completions_retaining_order(std::vector<completion_t> *comps) { static void unique_completions_retaining_order(std::vector<completion_t> *comps) {