changeset 31766:9f1504e36ae9 v9.0.1215

patch 9.0.1215: using isalpha() adds dependency on current locale Commit: https://github.com/vim/vim/commit/0ef9a5c09482649cf0cc6768ed6fc640b4ed2a0a Author: zeertzjq <zeertzjq@outlook.com> 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)
author Bram Moolenaar <Bram@vim.org>
date Tue, 17 Jan 2023 22:45:02 +0100
parents 63f5423aac68
children 29e0a0f7160f
files src/ex_docmd.c src/misc1.c src/option.c src/version.c
diffstat 4 files changed, 6 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- 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);
--- 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
--- 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))
 	{
 	    /*
--- 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,