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
