updated for version 7.0106
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index ebfac55..4a83ca0 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -3252,7 +3252,7 @@
 		++xp->xp_pattern;
 #if defined(FEAT_USR_CMDS) && defined(FEAT_CMDL_COMPL)
 		/* Avoid that the assignment uses EXPAND_FILES again. */
-		if (compl != EXPAND_USER_DEFINED)
+		if (compl != EXPAND_USER_DEFINED && compl != EXPAND_USER_LIST)
 		    compl = EXPAND_ENV_VARS;
 #endif
 	    }
@@ -4992,6 +4992,7 @@
     {EXPAND_COMMANDS, "command"},
 #if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
     {EXPAND_USER_DEFINED, "custom"},
+    {EXPAND_USER_LIST, "customlist"},
 #endif
     {EXPAND_DIRECTORIES, "dir"},
     {EXPAND_ENV_VARS, "environment"},
@@ -5301,7 +5302,8 @@
 		return FAIL;
 	    }
 #if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
-	    if (*compl != EXPAND_USER_DEFINED && arg != NULL)
+	    if (*compl != EXPAND_USER_DEFINED && *compl != EXPAND_USER_LIST &&
+		arg != NULL)
 #else
 	    if (arg != NULL)
 #endif
@@ -5310,7 +5312,8 @@
 		return FAIL;
 	    }
 #if defined(FEAT_EVAL) && defined(FEAT_CMDL_COMPL)
-	    if (*compl == EXPAND_USER_DEFINED && arg == NULL)
+	    if ((*compl == EXPAND_USER_DEFINED || *compl == EXPAND_USER_LIST) &&
+		arg == NULL)
 	    {
 		EMSG(_("E467: Custom completion requires a function argument"));
 		return FAIL;