patch 7.4.1106
Problem:    The nsis script can't be used from the appveyor build.
Solution:   Add "ifndef" to allow for variables to be set from the command
            line. Remove duplicate SetCompressor command. Support using other
            gettext binaries. (Ken Takata)  Update build instructions to use
            libintl-8.dll.
diff --git a/Makefile b/Makefile
index 710e59f..8e54a32 100644
--- a/Makefile
+++ b/Makefile
@@ -131,6 +131,9 @@
 #
 # MS-Windows:
 # - Run make on Unix to update the ".mo" files.
+# - Get libintl-8.dll and libiconv-2.dll. E.g. from
+#   https://mlocati.github.io/gettext-iconv-windows/ .
+#   Put them in the top directory, "make dosrt" uses them.
 # - > make dossrc
 #   > make dosrt
 #   Unpack dist/vim##rt.zip and dist/vim##src.zip on an MS-Windows PC.
@@ -493,7 +496,8 @@
 		cp $$i dist/vim/$(VIMRTDIR)/lang/$$n/LC_MESSAGES/vim.mo; \
 	      fi \
 	    done
-	cp libintl.dll dist/vim/$(VIMRTDIR)/
+	cp libintl-8.dll dist/vim/$(VIMRTDIR)/
+	cp libiconv-2.dll dist/vim/$(VIMRTDIR)/
 
 
 # Used before uploading.  Don't delete the AAPDIR/sign files!
diff --git a/nsis/gvim.nsi b/nsis/gvim.nsi
index 7c8d4ba..0bc9d4c 100644
--- a/nsis/gvim.nsi
+++ b/nsis/gvim.nsi
@@ -6,13 +6,19 @@
 # because uninstall deletes most files in $0.
 
 # Location of gvim_ole.exe, vimw32.exe, GvimExt/*, etc.
-!define VIMSRC "..\src"
+!ifndef VIMSRC
+  !define VIMSRC "..\src"
+!endif
 
 # Location of runtime files
-!define VIMRT ".."
+!ifndef VIMRT
+  !define VIMRT ".."
+!endif
 
 # Location of extra tools: diff.exe
-!define VIMTOOLS ..\..
+!ifndef VIMTOOLS
+  !define VIMTOOLS ..\..
+!endif
 
 # Comment the next line if you don't have UPX.
 # Get it at http://upx.sourceforge.net
@@ -32,9 +38,10 @@
 Name "Vim ${VER_MAJOR}.${VER_MINOR}"
 OutFile gvim${VER_MAJOR}${VER_MINOR}.exe
 CRCCheck force
-SetCompressor lzma
+SetCompressor /SOLID lzma
 SetDatablockOptimize on
 RequestExecutionLevel highest
+XPStyle on
 
 ComponentText "This will install Vim ${VER_MAJOR}.${VER_MINOR} on your computer."
 DirText "Choose a directory to install Vim (should contain 'vim')"
@@ -55,9 +62,6 @@
   !packhdr temp.dat "upx --best --compress-icons=1 temp.dat"
 !endif
 
-SetCompressor /SOLID lzma
-XPStyle on
-
 # This adds '\vim' to the user choice automagically.  The actual value is
 # obtained below with ReadINIStr.
 InstallDir "$PROGRAMFILES\Vim"
@@ -355,7 +359,9 @@
 		File ${VIMRT}\keymap\README.txt
 		File ${VIMRT}\keymap\*.vim
 		SetOutPath $0
-		File ${VIMRT}\libintl.dll
+		File ${VIMRT}\libintl-8.dll
+		File ${VIMRT}\libiconv-2.dll
+		File /nonfatal ${VIMRT}\libwinpthread-1.dll
 	SectionEnd
 !endif
 
diff --git a/src/main.c b/src/main.c
index d7723d2..175bbde 100644
--- a/src/main.c
+++ b/src/main.c
@@ -1580,7 +1580,7 @@
 
 #  ifdef DYNAMIC_GETTEXT
 	/* Initialize the gettext library */
-	dyn_libintl_init(NULL);
+	dyn_libintl_init();
 #  endif
 	/* expand_env() doesn't work yet, because chartab[] is not initialized
 	 * yet, call vim_getenv() directly */
diff --git a/src/os_w32exe.c b/src/os_w32exe.c
index 93a1389..d8fa2bf 100644
--- a/src/os_w32exe.c
+++ b/src/os_w32exe.c
@@ -69,7 +69,7 @@
 
 #ifdef DYNAMIC_GETTEXT
     /* Initialize gettext library */
-    dyn_libintl_init(NULL);
+    dyn_libintl_init();
 #endif
 
 #ifdef VIMDLL
diff --git a/src/os_win32.c b/src/os_win32.c
index 69623f9..c5b23ca 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -463,6 +463,7 @@
 #if defined(DYNAMIC_GETTEXT) || defined(PROTO)
 # ifndef GETTEXT_DLL
 #  define GETTEXT_DLL "libintl.dll"
+#  define GETTEXT_DLL_ALT "libintl-8.dll"
 # endif
 /* Dummy functions */
 static char *null_libintl_gettext(const char *);
@@ -479,7 +480,7 @@
 				       = null_libintl_bind_textdomain_codeset;
 
     int
-dyn_libintl_init(char *libname)
+dyn_libintl_init()
 {
     int i;
     static struct
@@ -498,7 +499,9 @@
     if (hLibintlDLL)
 	return 1;
     /* Load gettext library (libintl.dll) */
-    hLibintlDLL = vimLoadLib(libname != NULL ? libname : GETTEXT_DLL);
+    hLibintlDLL = vimLoadLib(GETTEXT_DLL);
+    if (!hLibintlDLL)
+	hLibintlDLL = vimLoadLib(GETTEXT_DLL_ALT);
     if (!hLibintlDLL)
     {
 	if (p_verbose > 0)
diff --git a/src/proto/os_win32.pro b/src/proto/os_win32.pro
index 5816fc9..e6fce88 100644
--- a/src/proto/os_win32.pro
+++ b/src/proto/os_win32.pro
@@ -1,6 +1,6 @@
 /* os_win32.c */
 HINSTANCE vimLoadLib __ARGS((char *name));
-int dyn_libintl_init __ARGS((char *libname));
+int dyn_libintl_init __ARGS((void));
 void dyn_libintl_end __ARGS((void));
 void PlatformId __ARGS((void));
 int mch_windows95 __ARGS((void));
diff --git a/src/version.c b/src/version.c
index f74281d..efc77c0 100644
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1106,
+/**/
     1105,
 /**/
     1104,