diff --git a/src/dosinst.c b/src/dosinst.c
index e77152f..23cf2d3 100644
--- a/src/dosinst.c
+++ b/src/dosinst.c
@@ -211,8 +211,8 @@
     {
 	printf("ERROR: Cannot find filetype.vim in \"%s\"\n", installdir);
 	printf("It looks like you did not unpack the runtime archive.\n");
-	printf("You must unpack the runtime archive \"vim%srt.zip\" before installing.\n",
-		VIM_VERSION_NODOT + 3);
+	printf("You must unpack the runtime archive \"%srt.zip\" before installing.\n",
+		VIM_VERSION_NODOT);
 	myexit(1);
     }
 
diff --git a/src/fileio.c b/src/fileio.c
index e99eb9b..2c6c338 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1631,7 +1631,6 @@
 		 * Do the conversion.
 		 */
 		dst = ptr;
-		size = size;
 		while (size > 0)
 		{
 		    found_bad = FALSE;
diff --git a/src/gui_w32.c b/src/gui_w32.c
index 0bac12a..3e1addb 100644
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -4153,7 +4153,8 @@
 {
     int		button;
     win_T	*wp;
-    int		modifiers, kbd_modifiers;
+    int		modifiers = 0;
+    int		kbd_modifiers;
     int		zDelta = GET_WHEEL_DELTA_WPARAM(wParam);
     POINT	pt;
 
@@ -4213,7 +4214,7 @@
     pt.y = GET_Y_LPARAM(lParam);
     ScreenToClient(s_textArea, &pt);
 
-    gui_send_mouse_event(button, pt.x, pt.y, FALSE, kbd_modifiers);
+    gui_send_mouse_event(button, pt.x, pt.y, FALSE, modifiers);
 }
 
 #ifdef USE_SYSMENU_FONT
diff --git a/src/os_mswin.c b/src/os_mswin.c
index 6310a1a..b6e8d71 100644
--- a/src/os_mswin.c
+++ b/src/os_mswin.c
@@ -560,7 +560,7 @@
 	    && idx < (int)rb->AppExecLinkReparseBuffer.StringCount
 	    && idx != 2; )
     {
-	if ((*p++ == L'\0'))
+	if (*p++ == L'\0')
 	    ++idx;
     }
 
diff --git a/src/os_win32.c b/src/os_win32.c
index 6a02fe2..300045b 100644
--- a/src/os_win32.c
+++ b/src/os_win32.c
@@ -3495,7 +3495,7 @@
  * the allocated memory.
  */
     int
-mch_can_exe(char_u *name, char_u **path, int use_path)
+mch_can_exe(char_u *name, char_u **path, int use_path UNUSED)
 {
     return executable_exists((char *)name, path, TRUE, TRUE);
 }
@@ -8379,7 +8379,6 @@
     const int *
 start_timeout(long msec)
 {
-    UINT interval = (UINT)msec;
     BOOL ret;
 
     timeout_flag = &timeout_flags[flag_idx];
diff --git a/src/version.c b/src/version.c
index 1c19015..de4f27c 100644
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5069,
+/**/
     5068,
 /**/
     5067,
