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;
diff --git a/src/gui_at_fs.c b/src/gui_at_fs.c
index 474967e..3ded711 100644
--- a/src/gui_at_fs.c
+++ b/src/gui_at_fs.c
@@ -2855,7 +2855,7 @@
     SFdirModTimerId = XtAppAddTimeOut(SFapp, (unsigned long) 1000,
 	    SFdirModTimer, (XtPointer) NULL);
 
-    while (1)
+    for (;;)
     {
 	XtAppNextEvent(SFapp, &event);
 	XtDispatchEvent(&event);
diff --git a/src/os_vms.c b/src/os_vms.c
index 6fd05d5..ff3bf2c 100644
--- a/src/os_vms.c
+++ b/src/os_vms.c
@@ -317,7 +317,7 @@
     function = (IO$_READLBLK | IO$M_EXTEND);
     memset(inbuf, 0, nbytes);
 
-    while (1)
+    for (;;)
     {
 	status = sys$qiow(0, iochan, function, &iosb, 0, 0, inbuf, nbytes - 1,
 					       0, 0, &itmlst, sizeof(itmlst));
diff --git a/src/os_win32.c b/src/os_win32.c
index 77a96c9..6ad674e 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -4828,7 +4828,7 @@
 	 * committed block. */
 	BYTE *pBlock = pStackBase;
 
-	while (1)
+	for (;;)
 	{
 	    if (VirtualQuery(pBlock, &mbi, sizeof mbi) == 0)
 		return 0;
diff --git a/src/po/Make_cyg.mak b/src/po/Make_cyg.mak
index f39368f..e306ccb 100644
--- a/src/po/Make_cyg.mak
+++ b/src/po/Make_cyg.mak
@@ -13,10 +13,12 @@
 endif
 
 LANGUAGES =	af ca cs de en_GB es fr ga it ja ko no pl ru sk sv uk vi zh_TW \
-		zh_TW.UTF-8 zh_CN zh_CN.UTF-8
+		cs.cp1250 ja.sjis pl.cp1250 ru.cp1251 sk.cp1250 uk.cp1251 \
+		zh_TW.UTF-8 zh_CN zh_CN.cp936 zh_CN.UTF-8
 MOFILES =	af.mo ca.mo cs.mo de.mo en_GB.mo es.mo fr.mo ga.mo it.mo ja.mo \
 		ko.mo no.mo pl.mo ru.mo sk.mo sv.mo uk.mo vi.mo \
-		zh_TW.mo zh_TW.UTF-8.mo zh_CN.mo zh_CN.UTF-8.mo
+		cs.cp1250.mo ja.sjis.mo pl.cp1250.mo ru.cp1251.mo sk.cp1250.mo uk.cp1251.mo \
+		zh_TW.mo zh_TW.UTF-8.mo zh_CN.mo zh_CN.cp936.mo zh_CN.UTF-8.mo
 
 PACKAGE = vim
 
diff --git a/src/vim.h b/src/vim.h
index c8a4b63..20273b3 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -648,6 +648,7 @@
 #define EXPAND_COLORS		28
 #define EXPAND_COMPILER		29
 #define EXPAND_USER_DEFINED	30
+#define EXPAND_USER_LIST	31
 
 /* Values for exmode_active (0 is no exmode) */
 #define EXMODE_NORMAL		1