patch 8.2.2728: special key names don't work if 'isident' is cleared
Problem: Special key names don't work if 'isident' is cleared.
Solution: Add vim_isNormalIDc() and use it for special key names.
(closes #2389)
diff --git a/src/charset.c b/src/charset.c
index db0c146..10aa2e8 100644
--- a/src/charset.c
+++ b/src/charset.c
@@ -835,6 +835,16 @@
}
/*
+ * Like vim_isIDc() but not using the 'isident' option: letters, numbers and
+ * underscore.
+ */
+ int
+vim_isNormalIDc(int c)
+{
+ return ASCII_ISALNUM(c) || c == '_';
+}
+
+/*
* return TRUE if 'c' is a keyword character: Letters and characters from
* 'iskeyword' option for the current buffer.
* For multi-byte characters mb_get_class() is used (builtin rules).