patch 9.0.1215: using isalpha() adds dependency on current locale
Problem: Using isalpha() adds dependency on current locale.
Solution: Do not use isalpha() for recognizing a URL or the end of an Ex
command. (closes #11835)
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index 64ab247..e51f849 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -2747,7 +2747,7 @@
for (i = 0; cmd[i] != NUL; ++i)
if (((char_u *)cmd)[i] != (*pp)[i])
break;
- if (i >= len && !isalpha((*pp)[i]) && (*pp)[i] != '_'
+ if (i >= len && !ASCII_ISALPHA((*pp)[i]) && (*pp)[i] != '_'
&& (!noparen || ((*pp)[i] != '(' && (*pp)[i] != '.')))
{
*pp = skipwhite(*pp + i);
diff --git a/src/misc1.c b/src/misc1.c
index 019bbaf..d369f2a 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -2699,11 +2699,11 @@
// non-URL text.
// first character must be alpha
- if (!isalpha(*fname))
+ if (!ASCII_ISALPHA(*fname))
return 0;
// check body: alpha or dash
- for (p = fname + 1; (isalpha(*p) || (*p == '-')); ++p)
+ for (p = fname + 1; (ASCII_ISALPHA(*p) || (*p == '-')); ++p)
;
// check last char is not a dash
diff --git a/src/option.c b/src/option.c
index 4afb518..386cf4d 100644
--- a/src/option.c
+++ b/src/option.c
@@ -1684,7 +1684,7 @@
errmsg = NULL;
startarg = arg; // remember for error message
- if (STRNCMP(arg, "all", 3) == 0 && !isalpha(arg[3])
+ if (STRNCMP(arg, "all", 3) == 0 && !ASCII_ISALPHA(arg[3])
&& !(opt_flags & OPT_MODELINE))
{
/*
diff --git a/src/version.c b/src/version.c
index d3eb35a..5565ccb 100644
--- a/src/version.c
+++ b/src/version.c
@@ -696,6 +696,8 @@
static int included_patches[] =
{ /* Add new patch number below this line */
/**/
+ 1215,
+/**/
1214,
/**/
1213,