diff --git a/src/errors.h b/src/errors.h
index a30ddca..9513a42 100644
--- a/src/errors.h
+++ b/src/errors.h
@@ -22,27 +22,27 @@
 EXTERN char e_invalid_command_str[]
 	INIT(= N_("E476: Invalid command: %s"));
 EXTERN char e_cannot_slice_dictionary[]
-	INIT(= N_("E719: cannot slice a Dictionary"));
+	INIT(= N_("E719: Cannot slice a Dictionary"));
 EXTERN char e_assert_fails_second_arg[]
-	INIT(= N_("E856: assert_fails() second argument must be a string or a list with one or two strings"));
+	INIT(= N_("E856: \"assert_fails()\" second argument must be a string or a list with one or two strings"));
 EXTERN char e_cannot_index_special_variable[]
 	INIT(= N_("E909: Cannot index a special variable"));
 EXTERN char e_missing_let_str[]
 	INIT(= N_("E1100: Missing :let: %s"));
 EXTERN char e_variable_not_found_str[]
-	INIT(= N_("E1001: variable not found: %s"));
+	INIT(= N_("E1001: Variable not found: %s"));
 EXTERN char e_syntax_error_at_str[]
 	INIT(= N_("E1002: Syntax error at %s"));
 EXTERN char e_missing_return_value[]
 	INIT(= N_("E1003: Missing return value"));
 EXTERN char e_white_space_required_before_and_after_str[]
-	INIT(= N_("E1004: white space required before and after '%s'"));
+	INIT(= N_("E1004: White space required before and after '%s'"));
 EXTERN char e_too_many_argument_types[]
 	INIT(= N_("E1005: Too many argument types"));
 EXTERN char e_str_is_used_as_argument[]
 	INIT(= N_("E1006: %s is used as an argument"));
 EXTERN char e_mandatory_argument_after_optional_argument[]
-	INIT(= N_("E1007: mandatory argument after optional argument"));
+	INIT(= N_("E1007: Mandatory argument after optional argument"));
 EXTERN char e_missing_type[]
 	INIT(= N_("E1008: Missing <type>"));
 EXTERN char e_missing_gt_after_type[]
@@ -50,11 +50,11 @@
 EXTERN char e_type_not_recognized_str[]
 	INIT(= N_("E1010: Type not recognized: %s"));
 EXTERN char e_name_too_long_str[]
-	INIT(= N_("E1011: name too long: %s"));
+	INIT(= N_("E1011: Name too long: %s"));
 EXTERN char e_type_mismatch_expected_str_but_got_str[]
 	INIT(= N_("E1012: Type mismatch; expected %s but got %s"));
 EXTERN char e_argument_nr_type_mismatch_expected_str_but_got_str[]
-	INIT(= N_("E1013: argument %d: type mismatch, expected %s but got %s"));
+	INIT(= N_("E1013: Argument %d: type mismatch, expected %s but got %s"));
 EXTERN char e_invalid_key_str[]
 	INIT(= N_("E1014: Invalid key: %s"));
 EXTERN char e_name_expected[]
@@ -70,23 +70,23 @@
 EXTERN char e_can_only_concatenate_to_string[]
 	INIT(= N_("E1019: Can only concatenate to string"));
 EXTERN char e_cannot_use_operator_on_new_variable[]
-	INIT(= N_("E1020: cannot use an operator on a new variable: %s"));
+	INIT(= N_("E1020: Cannot use an operator on a new variable: %s"));
 EXTERN char e_const_requires_a_value[]
-	INIT(= N_("E1021: const requires a value"));
+	INIT(= N_("E1021: Const requires a value"));
 EXTERN char e_type_or_initialization_required[]
-	INIT(= N_("E1022: type or initialization required"));
+	INIT(= N_("E1022: Type or initialization required"));
 EXTERN char e_using_number_as_bool_nr[]
 	INIT(= N_("E1023: Using a Number as a Bool: %d"));
 EXTERN char e_using_number_as_string[]
 	INIT(= N_("E1024: Using a Number as a String"));
 EXTERN char e_using_rcurly_outside_if_block_scope[]
-	INIT(= N_("E1025: using } outside of a block scope"));
+	INIT(= N_("E1025: Using } outside of a block scope"));
 EXTERN char e_missing_rcurly[]
 	INIT(= N_("E1026: Missing }"));
 EXTERN char e_missing_return_statement[]
 	INIT(= N_("E1027: Missing return statement"));
 EXTERN char e_compile_def_function_failed[]
-	INIT(= N_("E1028: compile_def_function failed"));
+	INIT(= N_("E1028: Compiling :def function failed"));
 EXTERN char e_expected_str_but_got_str[]
 	INIT(= N_("E1029: Expected %s but got %s"));
 EXTERN char e_using_string_as_number[]
@@ -94,9 +94,9 @@
 EXTERN char e_cannot_use_void_value[]
 	INIT(= N_("E1031: Cannot use void value"));
 EXTERN char e_missing_catch_or_finally[]
-	INIT(= N_("E1032: missing :catch or :finally"));
+	INIT(= N_("E1032: Missing :catch or :finally"));
 EXTERN char e_catch_unreachable_after_catch_all[]
-	INIT(= N_("E1033: catch unreachable after catch-all"));
+	INIT(= N_("E1033: Catch unreachable after catch-all"));
 EXTERN char e_cannot_use_reserved_name[]
 	INIT(= N_("E1034: Cannot use reserved name %s"));
 EXTERN char e_percent_requires_number_arguments[]
@@ -106,25 +106,25 @@
 EXTERN char e_cannot_use_str_with_str[]
 	INIT(= N_("E1037: Cannot use \"%s\" with %s"));
 EXTERN char e_vim9script_can_only_be_used_in_script[]
-	INIT(= N_("E1038: vim9script can only be used in a script"));
+	INIT(= N_("E1038: \"vim9script\" can only be used in a script"));
 EXTERN char e_vim9script_must_be_first_command_in_script[]
-	INIT(= N_("E1039: vim9script must be the first command in a script"));
+	INIT(= N_("E1039: \"vim9script\" must be the first command in a script"));
 EXTERN char e_cannot_use_scriptversion_after_vim9script[]
 	INIT(= N_("E1040: Cannot use :scriptversion after :vim9script"));
 EXTERN char e_redefining_script_item_str[]
 	INIT(= N_("E1041: Redefining script item %s"));
 EXTERN char e_export_can_only_be_used_in_vim9script[]
-	INIT(= N_("E1042: export can only be used in vim9script"));
+	INIT(= N_("E1042: Export can only be used in vim9script"));
 EXTERN char e_invalid_command_after_export[]
 	INIT(= N_("E1043: Invalid command after :export"));
 EXTERN char e_export_with_invalid_argument[]
-	INIT(= N_("E1044: export with invalid argument"));
+	INIT(= N_("E1044: Export with invalid argument"));
 EXTERN char e_missing_as_after_star[]
 	INIT(= N_("E1045: Missing \"as\" after *"));
 EXTERN char e_missing_comma_in_import[]
 	INIT(= N_("E1046: Missing comma in import"));
 EXTERN char e_syntax_error_in_import[]
-	INIT(= N_("E1047: syntax error in import"));
+	INIT(= N_("E1047: Syntax error in import"));
 EXTERN char e_item_not_found_in_script_str[]
 	INIT(= N_("E1048: Item not found in script: %s"));
 EXTERN char e_item_not_exported_in_script_str[]
@@ -132,7 +132,7 @@
 EXTERN char e_colon_required_before_a_range[]
 	INIT(= N_("E1050: Colon required before a range"));
 EXTERN char e_wrong_argument_type_for_plus[]
-	INIT(= N_("E1051: wrong argument type for +"));
+	INIT(= N_("E1051: Wrong argument type for +"));
 EXTERN char e_cannot_declare_an_option[]
 	INIT(= N_("E1052: Cannot declare an option: %s"));
 EXTERN char e_could_not_import_str[]
@@ -142,21 +142,21 @@
 EXTERN char e_missing_name_after_dots[]
 	INIT(= N_("E1055: Missing name after ..."));
 EXTERN char e_expected_type_str[]
-	INIT(= N_("E1056: expected a type: %s"));
+	INIT(= N_("E1056: Expected a type: %s"));
 EXTERN char e_missing_enddef[]
 	INIT(= N_("E1057: Missing :enddef"));
 EXTERN char e_function_nesting_too_deep[]
-	INIT(= N_("E1058: function nesting too deep"));
+	INIT(= N_("E1058: Function nesting too deep"));
 EXTERN char e_no_white_space_allowed_before_colon_str[]
 	INIT(= N_("E1059: No white space allowed before colon: %s"));
 EXTERN char e_expected_dot_after_name_str[]
-	INIT(= N_("E1060: expected dot after name: %s"));
+	INIT(= N_("E1060: Expected dot after name: %s"));
 EXTERN char e_cannot_find_function_str[]
 	INIT(= N_("E1061: Cannot find function %s"));
 EXTERN char e_cannot_index_number[]
 	INIT(= N_("E1062: Cannot index a Number"));
 EXTERN char e_type_mismatch_for_v_variable[]
-	INIT(= N_("E1063: type mismatch for v: variable"));
+	INIT(= N_("E1063: Type mismatch for v: variable"));
 // E1064 unused
 // E1065 unused
 EXTERN char e_cannot_declare_a_register_str[]
@@ -166,7 +166,7 @@
 EXTERN char e_no_white_space_allowed_before_str[]
 	INIT(= N_("E1068: No white space allowed before '%s'"));
 EXTERN char e_white_space_required_after_str[]
-	INIT(= N_("E1069: white space required after '%s'"));
+	INIT(= N_("E1069: White space required after '%s'"));
 EXTERN char e_missing_from[]
 	INIT(= N_("E1070: Missing \"from\""));
 EXTERN char e_invalid_string_after_from[]
@@ -174,9 +174,9 @@
 EXTERN char e_cannot_compare_str_with_str[]
 	INIT(= N_("E1072: Cannot compare %s with %s"));
 EXTERN char e_name_already_defined_str[]
-	INIT(= N_("E1073: name already defined: %s"));
+	INIT(= N_("E1073: Name already defined: %s"));
 EXTERN char e_no_white_space_allowed_after_dot[]
-	INIT(= N_("E1074: no white space allowed after dot"));
+	INIT(= N_("E1074: No white space allowed after dot"));
 EXTERN char e_namespace_not_supported_str[]
 	INIT(= N_("E1075: Namespace not supported: %s"));
 EXTERN char e_this_vim_is_not_compiled_with_float_support[]
@@ -191,7 +191,7 @@
 EXTERN char e_cannot_use_namespaced_variable[]
 	INIT(= N_("E1082: Cannot use a namespaced variable: %s"));
 EXTERN char e_missing_backtick[]
-	INIT(= N_("E1083: missing backtick"));
+	INIT(= N_("E1083: Missing backtick"));
 EXTERN char e_cannot_delete_vim9_script_function_str[]
 	INIT(= N_("E1084: Cannot delete Vim9 script function %s"));
 EXTERN char e_not_callable_type_str[]
@@ -199,10 +199,10 @@
 EXTERN char e_cannot_use_function_inside_def[]
 	INIT(= N_("E1086: Cannot use :function inside :def"));
 EXTERN char e_cannot_use_index_when_declaring_variable[]
-	INIT(= N_("E1087: cannot use an index when declaring a variable"));
+	INIT(= N_("E1087: Cannot use an index when declaring a variable"));
 // E1088 unused
 EXTERN char e_unknown_variable_str[]
-	INIT(= N_("E1089: unknown variable: %s"));
+	INIT(= N_("E1089: Unknown variable: %s"));
 EXTERN char e_cannot_assign_to_argument[]
 	INIT(= N_("E1090: Cannot assign to argument %s"));
 EXTERN char e_function_is_not_compiled_str[]
@@ -212,20 +212,20 @@
 EXTERN char e_expected_nr_items_but_got_nr[]
 	INIT(= N_("E1093: Expected %d items but got %d"));
 EXTERN char e_import_can_only_be_used_in_script[]
-	INIT(= N_("E1094: import can only be used in a script"));
+	INIT(= N_("E1094: Import can only be used in a script"));
 EXTERN char e_unreachable_code_after_return[]
 	INIT(= N_("E1095: Unreachable code after :return"));
 EXTERN char e_returning_value_in_function_without_return_type[]
 	INIT(= N_("E1096: Returning a value in a function without a return type"));
 EXTERN char e_line_incomplete[]
-	INIT(= N_("E1097: line incomplete"));
+	INIT(= N_("E1097: Line incomplete"));
 // E1098 unused
 EXTERN char e_unknown_error_while_executing_str[]
 	INIT(= N_("E1099: Unknown error while executing %s"));
 EXTERN char e_cannot_declare_script_variable_in_function[]
 	INIT(= N_("E1101: Cannot declare a script variable in a function: %s"));
 EXTERN char e_lambda_function_not_found_str[]
-	INIT(= N_("E1102: lambda function not found: %s"));
+	INIT(= N_("E1102: Lambda function not found: %s"));
 EXTERN char e_dictionary_not_set[]
 	INIT(= N_("E1103: Dictionary not set"));
 EXTERN char e_missing_gt[]
@@ -233,7 +233,7 @@
 EXTERN char e_cannot_convert_str_to_string[]
 	INIT(= N_("E1105: Cannot convert %s to string"));
 EXTERN char e_one_argument_too_many[]
-	INIT(= N_("E1106: one argument too many"));
+	INIT(= N_("E1106: One argument too many"));
 EXTERN char e_nr_arguments_too_many[]
 	INIT(= N_("E1106: %d arguments too many"));
 EXTERN char e_string_list_dict_or_blob_required[]
@@ -253,9 +253,9 @@
 EXTERN char e_only_values_of_0x100_and_higher_supported[]
 	INIT(= N_("E1114: Only values of 0x100 and higher supported"));
 EXTERN char e_assert_fails_fourth_argument[]
-	INIT(= N_("E1115: assert_fails() fourth argument must be a number"));
+	INIT(= N_("E1115: \"assert_fails()\" fourth argument must be a number"));
 EXTERN char e_assert_fails_fifth_argument[]
-	INIT(= N_("E1116: assert_fails() fifth argument must be a string"));
+	INIT(= N_("E1116: \"assert_fails()\" fifth argument must be a string"));
 EXTERN char e_cannot_use_bang_with_nested_def[]
 	INIT(= N_("E1117: Cannot use ! with nested :def"));
 EXTERN char e_cannot_change_list[]
diff --git a/src/testdir/test_assert.vim b/src/testdir/test_assert.vim
index 47dcc1f..04fde2d 100644
--- a/src/testdir/test_assert.vim
+++ b/src/testdir/test_assert.vim
@@ -254,35 +254,35 @@
   catch
     let exp = v:exception
   endtry
-  call assert_match("E856: assert_fails() second argument", exp)
+  call assert_match("E856: \"assert_fails()\" second argument", exp)
 
   try
     call assert_equal(1, assert_fails('xxx', ['1', '2', '3']))
   catch
     let exp = v:exception
   endtry
-  call assert_match("E856: assert_fails() second argument", exp)
+  call assert_match("E856: \"assert_fails()\" second argument", exp)
 
   try
     call assert_equal(1, assert_fails('xxx', #{one: 1}))
   catch
     let exp = v:exception
   endtry
-  call assert_match("E856: assert_fails() second argument", exp)
+  call assert_match("E856: \"assert_fails()\" second argument", exp)
 
   try
     call assert_equal(1, assert_fails('xxx', 'E492', '', 'burp'))
   catch
     let exp = v:exception
   endtry
-  call assert_match("E1115: assert_fails() fourth argument must be a number", exp)
+  call assert_match("E1115: \"assert_fails()\" fourth argument must be a number", exp)
 
   try
     call assert_equal(1, assert_fails('xxx', 'E492', '', 54, 123))
   catch
     let exp = v:exception
   endtry
-  call assert_match("E1116: assert_fails() fifth argument must be a string", exp)
+  call assert_match("E1116: \"assert_fails()\" fifth argument must be a string", exp)
 endfunc
 
 func Test_assert_fails_in_try_block()
diff --git a/src/testdir/test_vim9_expr.vim b/src/testdir/test_vim9_expr.vim
index ff0c75d..d79e2cd 100644
--- a/src/testdir/test_vim9_expr.vim
+++ b/src/testdir/test_vim9_expr.vim
@@ -143,12 +143,12 @@
 func Test_expr1_fails()
   call CheckDefFailure(["let x = 1 ? 'one'"], "Missing ':' after '?'", 1)
 
-  let msg = "white space required before and after '?'"
+  let msg = "White space required before and after '?'"
   call CheckDefFailure(["let x = 1? 'one' : 'two'"], msg, 1)
   call CheckDefFailure(["let x = 1 ?'one' : 'two'"], msg, 1)
   call CheckDefFailure(["let x = 1?'one' : 'two'"], msg, 1)
 
-  let msg = "white space required before and after ':'"
+  let msg = "White space required before and after ':'"
   call CheckDefFailure(["let x = 1 ? 'one': 'two'"], msg, 1)
   call CheckDefFailure(["let x = 1 ? 'one' :'two'"], msg, 1)
   call CheckDefFailure(["let x = 1 ? 'one':'two'"], msg, 1)
@@ -276,7 +276,7 @@
 enddef
 
 func Test_expr2_fails()
-  let msg = "white space required before and after '||'"
+  let msg = "White space required before and after '||'"
   call CheckDefFailure(["let x = 1||2"], msg, 1)
   call CheckDefFailure(["let x = 1 ||2"], msg, 1)
   call CheckDefFailure(["let x = 1|| 2"], msg, 1)
@@ -401,7 +401,7 @@
 enddef
 
 func Test_expr3_fails()
-  let msg = "white space required before and after '&&'"
+  let msg = "White space required before and after '&&'"
   call CheckDefFailure(["let x = 1&&2"], msg, 1)
   call CheckDefFailure(["let x = 1 &&2"], msg, 1)
   call CheckDefFailure(["let x = 1&& 2"], msg, 1)
@@ -861,22 +861,22 @@
 enddef
 
 func Test_expr4_fails()
-  let msg = "white space required before and after '>'"
+  let msg = "White space required before and after '>'"
   call CheckDefFailure(["let x = 1>2"], msg, 1)
   call CheckDefFailure(["let x = 1 >2"], msg, 1)
   call CheckDefFailure(["let x = 1> 2"], msg, 1)
 
-  let msg = "white space required before and after '=='"
+  let msg = "White space required before and after '=='"
   call CheckDefFailure(["let x = 1==2"], msg, 1)
   call CheckDefFailure(["let x = 1 ==2"], msg, 1)
   call CheckDefFailure(["let x = 1== 2"], msg, 1)
 
-  let msg = "white space required before and after 'is'"
+  let msg = "White space required before and after 'is'"
   call CheckDefFailure(["let x = '1'is'2'"], msg, 1)
   call CheckDefFailure(["let x = '1' is'2'"], msg, 1)
   call CheckDefFailure(["let x = '1'is '2'"], msg, 1)
 
-  let msg = "white space required before and after 'isnot'"
+  let msg = "White space required before and after 'isnot'"
   call CheckDefFailure(["let x = '1'isnot'2'"], msg, 1)
   call CheckDefFailure(["let x = '1' isnot'2'"], msg, 1)
   call CheckDefFailure(["let x = '1'isnot '2'"], msg, 1)
@@ -1151,17 +1151,17 @@
 enddef
 
 func Test_expr5_fails()
-  let msg = "white space required before and after '+'"
+  let msg = "White space required before and after '+'"
   call CheckDefFailure(["let x = 1+2"], msg, 1)
   call CheckDefFailure(["let x = 1 +2"], msg, 1)
   call CheckDefFailure(["let x = 1+ 2"], msg, 1)
 
-  let msg = "white space required before and after '-'"
+  let msg = "White space required before and after '-'"
   call CheckDefFailure(["let x = 1-2"], msg, 1)
   call CheckDefFailure(["let x = 1 -2"], msg, 1)
   call CheckDefFailure(["let x = 1- 2"], msg, 1)
 
-  let msg = "white space required before and after '..'"
+  let msg = "White space required before and after '..'"
   call CheckDefFailure(["let x = '1'..'2'"], msg, 1)
   call CheckDefFailure(["let x = '1' ..'2'"], msg, 1)
   call CheckDefFailure(["let x = '1'.. '2'"], msg, 1)
@@ -1306,17 +1306,17 @@
 enddef
 
 func Test_expr6_fails()
-  let msg = "white space required before and after '*'"
+  let msg = "White space required before and after '*'"
   call CheckDefFailure(["let x = 1*2"], msg, 1)
   call CheckDefFailure(["let x = 1 *2"], msg, 1)
   call CheckDefFailure(["let x = 1* 2"], msg, 1)
 
-  let msg = "white space required before and after '/'"
+  let msg = "White space required before and after '/'"
   call CheckDefFailure(["let x = 1/2"], msg, 1)
   call CheckDefFailure(["let x = 1 /2"], msg, 1)
   call CheckDefFailure(["let x = 1/ 2"], msg, 1)
 
-  let msg = "white space required before and after '%'"
+  let msg = "White space required before and after '%'"
   call CheckDefFailure(["let x = 1%2"], msg, 1)
   call CheckDefFailure(["let x = 1 %2"], msg, 1)
   call CheckDefFailure(["let x = 1% 2"], msg, 1)
@@ -1658,7 +1658,7 @@
   assert_equal('xxxyyy', 'xxx'->{a, b -> a .. b}('yyy'))
 
   CheckDefExecFailure(["let s = 'asdf'->{a -> a}('x')"],
-        'E1106: one argument too many')
+        'E1106: One argument too many')
   CheckDefExecFailure(["let s = 'asdf'->{a -> a}('x', 'y')"],
         'E1106: 2 arguments too many')
   CheckDefFailure(["echo 'asdf'->{a -> a}(x)"], 'E1001:', 1)
diff --git a/src/testdir/test_vim9_func.vim b/src/testdir/test_vim9_func.vim
index f0c5e91..dcdef80 100644
--- a/src/testdir/test_vim9_func.vim
+++ b/src/testdir/test_vim9_func.vim
@@ -119,7 +119,7 @@
   MyDefaultSecond('test', false)->assert_equal('none')
 
   CheckScriptFailure(['def Func(arg: number = asdf)', 'enddef', 'defcompile'], 'E1001:')
-  CheckScriptFailure(['def Func(arg: number = "text")', 'enddef', 'defcompile'], 'E1013: argument 1: type mismatch, expected number but got string')
+  CheckScriptFailure(['def Func(arg: number = "text")', 'enddef', 'defcompile'], 'E1013: Argument 1: type mismatch, expected number but got string')
 enddef
 
 def Test_nested_function()
@@ -279,7 +279,7 @@
     enddef
     Func([])
   END
-  CheckScriptFailure(lines, 'E1013: argument 1: type mismatch, expected string but got list<unknown>', 5)
+  CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected string but got list<unknown>', 5)
 enddef
 
 " Default arg and varargs
@@ -297,9 +297,9 @@
   MyDefVarargs('one', 'two')->assert_equal('one,two')
   MyDefVarargs('one', 'two', 'three')->assert_equal('one,two,three')
   CheckDefFailure(['MyDefVarargs("one", 22)'],
-      'E1013: argument 2: type mismatch, expected string but got number')
+      'E1013: Argument 2: type mismatch, expected string but got number')
   CheckDefFailure(['MyDefVarargs("one", "two", 123)'],
-      'E1013: argument 3: type mismatch, expected string but got number')
+      'E1013: Argument 3: type mismatch, expected string but got number')
 
   let lines =<< trim END
       vim9script
@@ -335,7 +335,7 @@
       enddef
       Func(1, 2, 3)
   END
-  CheckScriptFailure(lines, 'E1013: argument 1: type mismatch')
+  CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch')
 
   lines =<< trim END
       vim9script
@@ -344,7 +344,7 @@
       enddef
       Func('a', 9)
   END
-  CheckScriptFailure(lines, 'E1013: argument 2: type mismatch')
+  CheckScriptFailure(lines, 'E1013: Argument 2: type mismatch')
 
   lines =<< trim END
       vim9script
@@ -353,7 +353,7 @@
       enddef
       Func(1, 'a')
   END
-  CheckScriptFailure(lines, 'E1013: argument 1: type mismatch')
+  CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch')
 enddef
 
 def Test_call_call()
@@ -412,8 +412,8 @@
   MyVarargsOnly()->assert_equal('')
   MyVarargsOnly('one')->assert_equal('one')
   MyVarargsOnly('one', 'two')->assert_equal('one,two')
-  CheckDefFailure(['MyVarargsOnly(1)'], 'E1013: argument 1: type mismatch, expected string but got number')
-  CheckDefFailure(['MyVarargsOnly("one", 2)'], 'E1013: argument 2: type mismatch, expected string but got number')
+  CheckDefFailure(['MyVarargsOnly(1)'], 'E1013: Argument 1: type mismatch, expected string but got number')
+  CheckDefFailure(['MyVarargsOnly("one", 2)'], 'E1013: Argument 2: type mismatch, expected string but got number')
 enddef
 
 def Test_using_var_as_arg()
@@ -748,7 +748,7 @@
     enddef
     MyFunc(1234)
   END
-  CheckScriptFailure(lines, 'E1013: argument 1: type mismatch, expected string but got number')
+  CheckScriptFailure(lines, 'E1013: Argument 1: type mismatch, expected string but got number')
 enddef
 
 def Test_vim9script_call_fail_const()
diff --git a/src/testdir/test_vim9_script.vim b/src/testdir/test_vim9_script.vim
index bb2bfaf..c400e82 100644
--- a/src/testdir/test_vim9_script.vim
+++ b/src/testdir/test_vim9_script.vim
@@ -1974,7 +1974,7 @@
     source Ximport.vim
   catch /E1001/
     # Error should be fore the Xexported.vim file.
-    assert_match('E1001: variable not found: notDefined', v:exception)
+    assert_match('E1001: Variable not found: notDefined', v:exception)
     assert_match('function <SNR>\d\+_ImpFunc\[1\]..<SNR>\d\+_ExpFunc, line 1', v:throwpoint)
   endtry
 
diff --git a/src/version.c b/src/version.c
index b503f3c..4418790 100644
--- a/src/version.c
+++ b/src/version.c
@@ -751,6 +751,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1697,
+/**/
     1696,
 /**/
     1695,
