diff --git a/src/eval.c b/src/eval.c
index bc5eaa4..61bbb1d 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -1071,7 +1071,7 @@
 	    if (*p != ']')
 	    {
 		if (!quiet)
-		    emsg(_(e_missbrac));
+		    emsg(_(e_missing_closing_square_brace));
 		clear_tv(&var1);
 		clear_tv(&var2);
 		return NULL;
@@ -2375,7 +2375,7 @@
 	    p = eval_next_non_blank(*arg, evalarg_used, &getnext);
 	    if (*p != ':')
 	    {
-		emsg(_(e_missing_colon));
+		emsg(_(e_missing_colon_after_questionmark));
 		if (evaluate && result)
 		    clear_tv(rettv);
 		evalarg_used->eval_flags = orig_flags;
@@ -3568,7 +3568,7 @@
 			++*arg;
 		    else if (ret == OK)
 		    {
-			emsg(_(e_missing_close));
+			emsg(_(e_missing_closing_paren));
 			clear_tv(rettv);
 			ret = FAIL;
 		    }
@@ -3854,7 +3854,7 @@
 	*arg = skipwhite_and_linebreak(*arg, evalarg);
 	if (**arg != ')')
 	{
-	    emsg(_(e_missing_close));
+	    emsg(_(e_missing_closing_paren));
 	    ret = FAIL;
 	}
 	++*arg;
@@ -3868,7 +3868,7 @@
 	    if (*skipwhite(*arg) == '(')
 		emsg(_(e_nowhitespace));
 	    else
-		semsg(_(e_missing_paren), "lambda");
+		semsg(_(e_missing_parenthesis_str), "lambda");
 	}
 	clear_tv(rettv);
 	ret = FAIL;
@@ -3923,7 +3923,7 @@
 	if (**arg != '(')
 	{
 	    if (verbose)
-		semsg(_(e_missing_paren), name);
+		semsg(_(e_missing_parenthesis_str), name);
 	    ret = FAIL;
 	}
 	else if (VIM_ISWHITE((*arg)[-1]))
@@ -4061,7 +4061,7 @@
 	if (**arg != ']')
 	{
 	    if (verbose)
-		emsg(_(e_missbrac));
+		emsg(_(e_missing_closing_square_brace));
 	    clear_tv(&var1);
 	    if (range)
 		clear_tv(&var2);
