url-mode: for some reason we sorted the label letters before assigning them

Don't do this. Now that we **don't** sort them, the first letter
chosen by the user is always assigned to the bottom most URL.

Closes #2140 (again)
This commit is contained in:
Daniel Eklöf 2025-07-29 11:18:49 +02:00
parent f873aa904d
commit 83303bd2a4
No known key found for this signature in database
GPG key ID: 5BBD4992C116573F
2 changed files with 5 additions and 12 deletions

View file

@ -68,6 +68,11 @@
## Unreleased
### Added
### Changed
* The label letters are no longer sorted before being assigned to URLs
([#2140]2140[]).
### Deprecated
### Removed
### Fixed

View file

@ -557,14 +557,6 @@ urls_collect(const struct terminal *term, enum url_action action,
remove_overlapping(urls, term->grid->num_cols);
}
static int
c32cmp_qsort_wrapper(const void *_a, const void *_b)
{
const char32_t *a = *(const char32_t **)_a;
const char32_t *b = *(const char32_t **)_b;
return c32cmp(a, b);
}
static void
generate_key_combos(const struct config *conf,
size_t count, char32_t *combos[static count])
@ -607,10 +599,6 @@ generate_key_combos(const struct config *conf,
}
free(hints);
/* Sorting is a kind of shuffle, since we're sorting on the
* *reversed* strings */
qsort(combos, count, sizeof(char32_t *), &c32cmp_qsort_wrapper);
/* Reverse all strings */
for (size_t i = 0; i < count; i++) {
const size_t len = c32len(combos[i]);