# HG changeset patch # User Bram Moolenaar # Date 1673991902 -3600 # Node ID 9f1504e36ae9c3b72f3e0082182615660b891874 # Parent 63f5423aac6895b973d71c2f8ce680bf500d770c patch 9.0.1215: using isalpha() adds dependency on current locale Commit: https://github.com/vim/vim/commit/0ef9a5c09482649cf0cc6768ed6fc640b4ed2a0a Author: zeertzjq Date: Tue Jan 17 21:38:25 2023 +0000 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 --- a/src/ex_docmd.c +++ b/src/ex_docmd.c @@ -2747,7 +2747,7 @@ checkforcmd_opt( 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 --- a/src/misc1.c +++ b/src/misc1.c @@ -2699,11 +2699,11 @@ path_with_url(char_u *fname) // 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 --- a/src/option.c +++ b/src/option.c @@ -1684,7 +1684,7 @@ do_set( 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 --- a/src/version.c +++ b/src/version.c @@ -696,6 +696,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 1215, +/**/ 1214, /**/ 1213,