diff src/eval.c @ 1383:6fdbaf2bba04 v7.1.098

updated for version 7.1-098
author vimboss
date Thu, 06 Sep 2007 12:26:44 +0000
parents 99a9e42e5688
children 45898756e059
line wrap: on
line diff
--- a/src/eval.c
+++ b/src/eval.c
@@ -19371,6 +19371,28 @@ trans_function_name(pp, skip, flags, fdp
 	goto theend;
     }
 
+    /* Check if the name is a Funcref.  If so, use the value. */
+    if (lv.ll_exp_name != NULL)
+    {
+	len = (int)STRLEN(lv.ll_exp_name);
+	name = deref_func_name(lv.ll_exp_name, &len);
+	if (name == lv.ll_exp_name)
+	    name = NULL;
+    }
+    else
+    {
+	len = (int)(end - *pp);
+	name = deref_func_name(*pp, &len);
+	if (name == *pp)
+	    name = NULL;
+    }
+    if (name != NULL)
+    {
+	name = vim_strsave(name);
+	*pp = end;
+	goto theend;
+    }
+
     if (lv.ll_exp_name != NULL)
     {
 	len = (int)STRLEN(lv.ll_exp_name);