mirror of
https://github.com/neovim/neovim.git
synced 2025-10-01 15:38:33 +00:00
keymap: Do not use vim_isIDc in keymap.c
Note: there are three changes to ascii_isident. Reverting first two (in find_special_key and first in get_special_key_code) normally fails the new test with empty &isident, but reverting the third does not. Hence adding `>` to &isident. Ref vim/vim#2389.
This commit is contained in:
@@ -567,7 +567,7 @@ int find_special_key(const char_u **srcp, const size_t src_len, int *const modp,
|
||||
|
||||
// Find end of modifier list
|
||||
last_dash = src;
|
||||
for (bp = src + 1; bp <= end && (*bp == '-' || vim_isIDc(*bp)); bp++) {
|
||||
for (bp = src + 1; bp <= end && (*bp == '-' || ascii_isident(*bp)); bp++) {
|
||||
if (*bp == '-') {
|
||||
last_dash = bp;
|
||||
if (bp + 1 <= end) {
|
||||
@@ -721,12 +721,12 @@ int get_special_key_code(const char_u *name)
|
||||
for (int i = 0; key_names_table[i].name != NULL; i++) {
|
||||
const char *const table_name = key_names_table[i].name;
|
||||
int j;
|
||||
for (j = 0; vim_isIDc(name[j]) && table_name[j] != NUL; j++) {
|
||||
for (j = 0; ascii_isident(name[j]) && table_name[j] != NUL; j++) {
|
||||
if (TOLOWER_ASC(table_name[j]) != TOLOWER_ASC(name[j])) {
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!vim_isIDc(name[j]) && table_name[j] == NUL) {
|
||||
if (!ascii_isident(name[j]) && table_name[j] == NUL) {
|
||||
return key_names_table[i].key;
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user