diff --git a/src/Make_ming.mak b/src/Make_ming.mak
index ead13c7..6906273 100644
--- a/src/Make_ming.mak
+++ b/src/Make_ming.mak
@@ -354,7 +354,7 @@
 CFLAGS += -s
 endif
 
-LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32
+LIB = -lkernel32 -luser32 -lgdi32 -ladvapi32 -lcomdlg32 -lcomctl32 -lversion
 GUIOBJ =  $(OUTDIR)/gui.o $(OUTDIR)/gui_w32.o $(OUTDIR)/gui_beval.o $(OUTDIR)/os_w32exe.o
 OBJ = \
 	$(OUTDIR)/buffer.o \
diff --git a/src/Make_mvc.mak b/src/Make_mvc.mak
index c1aeeb8..599767b 100644
--- a/src/Make_mvc.mak
+++ b/src/Make_mvc.mak
@@ -469,7 +469,7 @@
 	$(OUTDIR)\gui_w32.obj \
 	$(OUTDIR)\os_w32exe.obj
 GUI_LIB = \
-	oldnames.lib kernel32.lib gdi32.lib $(IME_LIB) \
+	oldnames.lib kernel32.lib gdi32.lib version.lib $(IME_LIB) \
 	winspool.lib comctl32.lib advapi32.lib shell32.lib \
 	/machine:$(CPU) /nodefaultlib
 !else
diff --git a/src/ex_docmd.c b/src/ex_docmd.c
index b5c636c..5b07cf6 100644
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4341,6 +4341,7 @@
      */
     i = (int)(src - *cmdlinep);	/* length of part before match */
     mch_memmove(new_cmdline, *cmdlinep, (size_t)i);
+
     mch_memmove(new_cmdline + i, repl, (size_t)len);
     i += len;				/* remember the end of the string */
     STRCPY(new_cmdline + i, src + srclen);
diff --git a/src/fileio.c b/src/fileio.c
index dc2606b..460e389 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -6731,6 +6731,7 @@
     {"InsertChange",	EVENT_INSERTCHANGE},
     {"InsertEnter",	EVENT_INSERTENTER},
     {"InsertLeave",	EVENT_INSERTLEAVE},
+    {"MenuPopup",	EVENT_MENUPOPUP},
     {"QuickFixCmdPost",	EVENT_QUICKFIXCMDPOST},
     {"QuickFixCmdPre",	EVENT_QUICKFIXCMDPRE},
     {"RemoteReply",	EVENT_REMOTEREPLY},
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 77affc0..ce4420b 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -473,13 +473,12 @@
 slash_adjust(p)
     char_u  *p;
 {
-    if (p != NULL)
-	while (*p)
-	{
-	    if (*p == psepcN)
-		*p = psepc;
-	    mb_ptr_adv(p);
-	}
+    while (*p)
+    {
+	if (*p == psepcN)
+	    *p = psepc;
+	mb_ptr_adv(p);
+    }
 }
 
 
diff --git a/src/os_win32.c b/src/os_win32.c
index c2d5ebb..66d6d3b 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -2251,7 +2251,7 @@
     HANDLE		hFind;
     int			c;
 
-    flen = (name != NULL) ? (int)STRLEN(name) : 0;
+    flen = (int)STRLEN(name);
     if (flen == 0 || flen > _MAX_PATH)
 	return;
 
diff --git a/src/po/Make_cyg.mak b/src/po/Make_cyg.mak
index d8b507d..15258f4 100644
--- a/src/po/Make_cyg.mak
+++ b/src/po/Make_cyg.mak
@@ -12,14 +12,65 @@
 VIMRUNTIME = ../../runtime
 endif
 
-LANGUAGES =	af ca cs de en_GB es fr ga it ja ko no pl ru sk sv uk vi zh_TW \
-		cs.cp1250 pl.cp1250 ru.cp1251 sk.cp1250 uk.cp1251 \
-		zh_TW.UTF-8 zh_CN zh_CN.cp936 zh_CN.UTF-8 ja.sjis
-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 \
-		cs.cp1250.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 \
-		ja.sjis.mo
+LANGUAGES =	af \
+		ca \
+		cs \
+		cs.cp1250 \
+		de \
+		en_GB \
+		es \
+		fr \
+		ga \
+		it \
+		ja \
+		ja.sjis \
+		ko \
+		no \
+		pl \
+		pl.cp1250 \
+		ru \
+		ru.cp1251 \
+		sk \
+		sk.cp1250 \
+		sv \
+		uk \
+		uk.cp1251 \
+		vi \
+		zh_CN \
+		zh_CN.UTF-8 \
+		zh_CN.cp936 \
+		zh_TW \
+		zh_TW.UTF-8 \
+
+MOFILES =	af.mo \
+		ca.mo \
+		cs.cp1250.mo \
+		cs.mo \
+		de.mo \
+		en_GB.mo \
+		es.mo \
+		fr.mo \
+		ga.mo \
+		it.mo \
+		ja.mo \
+		ja.sjis.mo \
+		ko.mo \
+		no.mo \
+		pl.cp1250.mo \
+		pl.mo \
+		ru.cp1251.mo \
+		ru.mo \
+		sk.cp1250.mo \
+		sk.mo \
+		sv.mo \
+		uk.cp1251.mo \
+		uk.mo \
+		vi.mo \
+		zh_CN.UTF-8.mo \
+		zh_CN.cp936.mo \
+		zh_CN.mo \
+		zh_TW.UTF-8.mo \
+		zh_TW.mo \
 
 PACKAGE = vim
 
diff --git a/src/po/Make_ming.mak b/src/po/Make_ming.mak
index acd18e5..574bdd2 100644
--- a/src/po/Make_ming.mak
+++ b/src/po/Make_ming.mak
@@ -10,11 +10,53 @@
 # language (xx) and add it to the next three lines.
 #
 
-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
-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
+LANGUAGES = \
+		af \
+		ca \
+		cs \
+		de \
+		en_GB \
+		es \
+		fr \
+		ga \
+		it \
+		ja \
+		ko \
+		no \
+		pl \
+		ru \
+		sk \
+		sv \
+		uk \
+		vi \
+		zh_CN \
+		zh_CN.UTF-8\
+		zh_TW \
+		zh_TW.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_CN.UTF-8.mo \
+		zh_CN.mo \
+		zh_TW.UTF-8.mo \
+		zh_TW.mo \
 
 PACKAGE = vim
 
diff --git a/src/po/Makefile b/src/po/Makefile
index 4ff49db..7320a60 100644
--- a/src/po/Makefile
+++ b/src/po/Makefile
@@ -4,11 +4,53 @@
 # Note: ja.sjis, *.cp1250 and zh_CN.cp936 are only for MS-Windows, they are
 # not installed on Unix
 
-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
-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
+LANGUAGES = \
+		af \
+		ca \
+		cs \
+		de \
+		en_GB \
+		es \
+		fr \
+		ga \
+		it \
+		ja \
+		ko \
+		no \
+		pl \
+		ru \
+		sk \
+		sv \
+		uk \
+		vi \
+		zh_CN \
+		zh_CN.UTF-8 \
+		zh_TW \
+		zh_TW.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_CN.UTF-8.mo \
+		zh_CN.mo \
+		zh_TW.UTF-8.mo \
+		zh_TW.mo \
 
 PACKAGE = vim
 SHELL = /bin/sh
@@ -55,8 +97,14 @@
 	  rm -f $(LOCALEDIR)/$$lang/LC_MESSAGES/$(PACKAGE).mo; \
 	done
 
-converted: ja.sjis.mo cs.cp1250.mo pl.cp1250.mo sk.cp1250.mo zh_CN.cp936.mo \
-		ru.cp1251.mo uk.cp1251.mo
+converted: \
+		cs.cp1250.mo \
+		ja.sjis.mo \
+		pl.cp1250.mo \
+		ru.cp1251.mo \
+		sk.cp1250.mo \
+		uk.cp1251.mo \
+		zh_CN.cp936.mo \
 
 # Convert ja.po to create ja.sjis.po.  Requires doubling backslashes in the
 # second byte.  Don't depend on sjiscorr, it should only be compiled when
diff --git a/src/proto/gui_w32.pro b/src/proto/gui_w32.pro
index 680a9f5..c10b9a2 100644
--- a/src/proto/gui_w32.pro
+++ b/src/proto/gui_w32.pro
@@ -88,4 +88,5 @@
 BalloonEval *gui_mch_create_beval_area __ARGS((void *target, char_u *mesg, void (*mesgCB)(BalloonEval *, int), void *clientData));
 void gui_mch_destroy_beval_area __ARGS((BalloonEval *beval));
 void netbeans_draw_multisign_indicator __ARGS((int row));
+int multiline_balloon_available __ARGS((void));
 /* vim: set ft=c : */
diff --git a/src/vim.h b/src/vim.h
index d8cd699..51b7c10 100644
--- a/src/vim.h
+++ b/src/vim.h
@@ -1080,6 +1080,7 @@
     EVENT_INSERTCHANGE,		/* when changing Insert/Replace mode */
     EVENT_INSERTENTER,		/* when entering Insert mode */
     EVENT_INSERTLEAVE,		/* when leaving Insert mode */
+    EVENT_MENUPOPUP,		/* just before popup menu is displayed */
     EVENT_QUICKFIXCMDPOST,	/* after :make, :grep etc */
     EVENT_QUICKFIXCMDPRE,	/* before :make, :grep etc */
     EVENT_STDINREADPOST,	/* after reading from stdin */
