patch 8.2.4740: when expand() fails there is no error message

Problem:    When expand() fails there is no error message.
Solution:   When 'verbose' is set give an error message.
diff --git a/src/evalfunc.c b/src/evalfunc.c
index e56b505..e30186b 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -4065,7 +4065,6 @@
 {
     char_u	*s;
     int		len;
-    char	*errormsg;
     int		options = WILD_SILENT|WILD_USE_NL|WILD_LIST_NOTFOUND;
     expand_T	xpc;
     int		error = FALSE;
@@ -4096,9 +4095,15 @@
     s = tv_get_string(&argvars[0]);
     if (*s == '%' || *s == '#' || *s == '<')
     {
-	++emsg_off;
+	char	*errormsg = NULL;
+
+	if (p_verbose == 0)
+	    ++emsg_off;
 	result = eval_vars(s, s, &len, NULL, &errormsg, NULL);
-	--emsg_off;
+	if (p_verbose == 0)
+	    --emsg_off;
+	else if (errormsg != NULL)
+	    emsg(errormsg);
 	if (rettv->v_type == VAR_LIST)
 	{
 	    if (rettv_list_alloc(rettv) != FAIL && result != NULL)