patch 9.1.1017: Vim9: Patch 9.1.1013 causes a few problems

Problem:  Vim9: Patch 9.1.1013 causes a few problems
Solution: Translate the function name only when it is a string
          (Yegappan Lakshmanan)

fixes: #16453
closes: #16450

Signed-off-by: Yegappan Lakshmanan <yegappan@yahoo.com>
Signed-off-by: Christian Brabandt <cb@256bit.org>
diff --git a/src/evalfunc.c b/src/evalfunc.c
index 6314252..71e3448 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -3769,14 +3769,17 @@
     if (func == NULL || *func == NUL)
 	return;		// type error, empty name or null function
 
-    char_u	*p = func;
-    tofree = trans_function_name(&p, NULL, FALSE, TFN_INT|TFN_QUIET);
-    if (tofree == NULL)
+    if (argvars[0].v_type == VAR_STRING)
     {
-	emsg_funcname(e_unknown_function_str, func);
-	return;
+	char_u	*p = func;
+	tofree = trans_function_name(&p, NULL, FALSE, TFN_INT|TFN_QUIET);
+	if (tofree == NULL)
+	{
+	    emsg_funcname(e_unknown_function_str, func);
+	    return;
+	}
+	func = tofree;
     }
-    func = tofree;
 
     if (argvars[2].v_type != VAR_UNKNOWN)
     {