diff --git a/nsis/icons/vim_16c.ico b/nsis/icons/vim_16c.ico
new file mode 100644
index 0000000000000000000000000000000000000000..220b850a0071a11fe265e9e6cefc40435de4dc44
Binary files /dev/null and b/nsis/icons/vim_16c.ico differ
diff --git a/runtime/doc/vim.1 b/runtime/doc/vim.1
index d78bf2efabe72f0089ad465a0d99a33ae8263288..69c6d308b12cc5aaaa90a83e7d00e2aba08c03bd 100644
--- a/runtime/doc/vim.1
+++ b/runtime/doc/vim.1
@@ -314,6 +314,10 @@ When N is omitted, open one window for each file.
 Open N windows side by side.
 When N is omitted, open one window for each file.
 .TP
+\-p[N]
+Open N tab pages.
+When N is omitted, open one tab page for each file.
+.TP
 \-R
 Read-only mode.
 The 'readonly' option will be set.
diff --git a/runtime/doc/xxd-fr.1 b/runtime/doc/xxd-fr.1
index 2f157bcbe33794dd7de3e0a109a990fa7c0b6911..b00251cce077530da38a64c3f7274ed1701d7011 100644
--- a/runtime/doc/xxd-fr.1
+++ b/runtime/doc/xxd-fr.1
@@ -24,9 +24,9 @@ binaire ou de l'entr
 Il peut également convertir un fichier de codes hexadécimaux en un fichier
 binaire.
 Comme
-.BR uuencode(1)
+.BR uuencode (1)
 et
-.BR uudecode(1)
+.BR uudecode (1)
 il permet la transmission de données binaires dans une représentation ASCII
 compatible avec le courrier électronique, mais a l'avantage de décoder la
 sortie standard.
@@ -126,19 +126,19 @@ suppl
 .TP
 .I \-seek décalage
 Utilisé après l'option
-.I \-r
-\: inverse la conversion en ajoutant
+.IR \-r :
+inverse la conversion en ajoutant
 .RI < décalage >
 aux positions dans le fichier données dans le code hexadécimal.
 .TP
-.I \-s [\+][\-]décalage
+.I \-s [+][\-]décalage
 Débute au
 .RI < décalage >
 absolu ou relatif dans fichier_entree.
-\fI\+ \fRindique que le décalage est relatif à la position courante dans
+\fI+ fRindique que le décalage est relatif à la position courante dans
 l'entrée standard (sans effet si la lecture n'a pas lieu sur l'entrée
 standard). \fI\- \fRindique un décalage en caractères depuis la fin de
-l'entrée (utilisé avec \fI \+ \fR, désigne la position avant la position
+l'entrée (utilisé avec \fI+\fR, désigne la position avant la position
 actuelle de l'entrée standard).
 Sans l'option \-s, xxd démarre à la position courante du fichier.
 .TP
@@ -177,12 +177,12 @@ Remarquez la diff
 .br
 et
 .br
-\fI% xxd \-i \< fichier\fR
+\fI% xxd \-i < fichier\fR
 .PP
 .I xxd \-s \+seek
 peut différer de 
-.I xxd \-s seek
-\, car lseek(2) est utilisé pour « revenir en arrière ». Le '+' fait une
+.IR "xxd \-s seek" ,
+car lseek(2) est utilisé pour « revenir en arrière ». Le '+' fait une
 différence quand la source des données est l'entrée standard et si la position
 dans le fichier de l'entrée standard n'est pas au début du fichier lorsque xxd
 est démarré et qu'il reçoit ses données.
@@ -201,7 +201,7 @@ ajout
 \fI% sh \-c 'dd of=donnees_binaires bs=1k count=1; xxd \-s +128 >
 donnees_hexa' < fichier\fR
 .PP
-Convertir de fichier depuis la position 0x100 (= 1024 - 768) du fichier.
+Convertir de fichier depuis la position 0x100 (= 1024 \- 768) du fichier.
 .br
 \fI% sh \-c 'dd of=donnees_binaires bs=1k count=1; xxd \-s +\-768 >
 donnees_hexa' < fichier\fR
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 3d8a084efc40ec357250fac960b9cb054d8ef729..50a03a577be66cab516c59ccad6e3f46d6ada456 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -598,8 +598,16 @@ display_errors()
 		}
 #endif
 
-		(void)gui_mch_dialog(VIM_ERROR, (char_u *)_("Error"),
-					      p, (char_u *)_("&Ok"), 1, NULL);
+		(void)gui_mch_dialog(
+#ifdef FEAT_GUI
+				     gui.starting ? VIM_INFO :
+#endif
+					     VIM_ERROR,
+#ifdef FEAT_GUI
+				     gui.starting ? (char_u *)_("Message") :
+#endif
+					     (char_u *)_("Error"),
+				     p, (char_u *)_("&Ok"), 1, NULL);
 #if 0
 #ifdef WIN3264
 		MessageBox(NULL, p, "Vim", MB_TASKMODAL|MB_SETFOREGROUND);
diff --git a/src/os_unixx.h b/src/os_unixx.h
index abed14d3bbfb91b5db04c74bde34f1dc56b037fb..3dd254e9ada3a1741bee7e48c3cdac596cec6d7c 100644
--- a/src/os_unixx.h
+++ b/src/os_unixx.h
@@ -128,6 +128,10 @@
 
 /* shared library access */
 #if defined(HAVE_DLFCN_H) && defined(USE_DLOPEN)
+# ifdef __MVS__
+    /* needed to define RTLD_LAZY (Anthony Giorgio) */
+#  define __SUSV3
+# endif
 # include <dlfcn.h>
 #else
 # if defined(HAVE_DL_H) && defined(HAVE_SHL_LOAD)
diff --git a/src/po/ja.po b/src/po/ja.po
index 49fd1b045c89adcc8768647c952a7d3cfc5a332d..e46f58540e4e298d43dfa7b41be2712f93b2a68f 100644
--- a/src/po/ja.po
+++ b/src/po/ja.po
@@ -4708,7 +4708,7 @@ msgstr "%s 
 
 #, c-format
 msgid "Missing FOL/LOW/UPP line in %s"
-msgstr "%d ¹ÔÌÜ¤Ë FOL/LOW/UPP ¤¬¤¢¤ê¤Þ¤»¤ó"
+msgstr "%s ¹ÔÌÜ¤Ë FOL/LOW/UPP ¤¬¤¢¤ê¤Þ¤»¤ó"
 
 msgid "COMPOUNDSYLMAX used without SYLLABLE"
 msgstr "SYLLABLE ¤¬»ØÄꤵ¤ì¤Ê¤¤ COMPOUNDSYLMAX"
@@ -4772,7 +4772,7 @@ msgstr "
 
 #, c-format
 msgid "Reading word file %s ..."
-msgstr "ɸ½àÆþÎϤ«¤éÆɹþ¤ßÃæ..."
+msgstr "ɸ½àÆþÎϤ«¤éÆɹþ¤ßÃæ %s ..."
 
 #, c-format
 msgid "Duplicate /encoding= line ignored in %s line %d: %s"
@@ -4780,7 +4780,7 @@ msgstr "%s 
 
 #, c-format
 msgid "/encoding= line after word ignored in %s line %d: %s"
-msgstr "¡ós ¤Î %d ¹ÔÌܤΠñ¸ì¤Î¸å¤Î /encoding= ¹Ô¤ò̵»ë¤·¤Þ¤·¤¿: %s"
+msgstr "%s ¡ós ¤Î %d ¹ÔÌܤΠñ¸ì¤Î¸å¤Î /encoding= ¹Ô¤ò̵»ë¤·¤Þ¤·¤¿: %s"
 
 #, c-format
 msgid "Duplicate /regions= line ignored in %s line %d: %s"
@@ -4891,7 +4891,7 @@ msgstr "E778: .sug 
 
 #, c-format
 msgid "E779: Old .sug file, needs to be updated: %s"
-msgstr "E779: ¸Å¤¤ .sug ¥Õ¥¡¥¤¥ë¤Ê¤Î¤Ç, ¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤"
+msgstr "E779: ¸Å¤¤ .sug ¥Õ¥¡¥¤¥ë¤Ê¤Î¤Ç, ¥¢¥Ã¥×¥Ç¡¼¥È¤·¤Æ¤¯¤À¤µ¤¤: %s"
 
 #, c-format
 msgid "E780: .sug file is for newer version of Vim: %s"