diff --git a/src/clientserver.c b/src/clientserver.c
index 793570a..caa6fdc 100644
--- a/src/clientserver.c
+++ b/src/clientserver.c
@@ -651,7 +651,7 @@
     ga_concat(&ga, (char_u *)":");
     if (inicmd != NULL)
     {
-	// Can't use <CR> after "inicmd", because an "startinsert" would cause
+	// Can't use <CR> after "inicmd", because a "startinsert" would cause
 	// the following commands to be inserted as text.  Use a "|",
 	// hopefully "inicmd" does allow this...
 	ga_concat(&ga, inicmd);
diff --git a/src/eval.c b/src/eval.c
index b5ccc4b..7ab05be 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -629,10 +629,10 @@
  */
     static char_u *
 deref_function_name(
-	    char_u **arg,
-	    char_u **tofree,
-	    evalarg_T *evalarg,
-	    int verbose)
+	    char_u	**arg,
+	    char_u	**tofree,
+	    evalarg_T	*evalarg,
+	    int		verbose)
 {
     typval_T	ref;
     char_u	*name = *arg;
@@ -2955,7 +2955,7 @@
 
 /*
  * Handle fourth level expression:
- *	+	number addition
+ *	+	number addition, concatenation of list or blob
  *	-	number subtraction
  *	.	string concatenation (if script version is 1)
  *	..	string concatenation
diff --git a/src/evalvars.c b/src/evalvars.c
index b343606..994b979 100644
--- a/src/evalvars.c
+++ b/src/evalvars.c
@@ -3461,7 +3461,8 @@
 	semsg(_(e_illegal_variable_name_str), name);
 	goto failed;
     }
-    is_script_local = ht == get_script_local_ht() || sid != 0 || var_in_autoload;
+    is_script_local = ht == get_script_local_ht() || sid != 0
+							    || var_in_autoload;
 
     if (vim9script
 	    && !is_script_local
diff --git a/src/version.c b/src/version.c
index 956df65..f30ba25 100644
--- a/src/version.c
+++ b/src/version.c
@@ -747,6 +747,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    4318,
+/**/
     4317,
 /**/
     4316,
diff --git a/src/vim9cmds.c b/src/vim9cmds.c
index 90b61db..b9a0293 100644
--- a/src/vim9cmds.c
+++ b/src/vim9cmds.c
@@ -1420,7 +1420,7 @@
 	{
 	    semsg(_(e_separator_mismatch_str), p);
 	    vim_free(tofree);
-	    return FAIL;
+	    return NULL;
 	}
 	if (tofree == NULL)
 	    len = (int)(end - (p + 1));
@@ -1430,9 +1430,9 @@
 	vim_free(tofree);
 	p += len + 2 + dropped;
 	if (pat == NULL)
-	    return FAIL;
+	    return NULL;
 	if (generate_PUSHS(cctx, &pat) == FAIL)
-	    return FAIL;
+	    return NULL;
 
 	if (generate_COMPARE(cctx, EXPR_MATCH, FALSE) == FAIL)
 	    return NULL;
diff --git a/src/window.c b/src/window.c
index f80334d..4fb92e0 100644
--- a/src/window.c
+++ b/src/window.c
@@ -766,7 +766,7 @@
 }
 
 /*
- * If "split_disallowed" is set given an error and return FAIL.
+ * If "split_disallowed" is set give an error and return FAIL.
  * Otherwise return OK.
  */
     static int
