patch 7.4.1863
Problem:    Compiler warnings on Win64.
Solution:   Adjust types, add type casts. (Ken Takata)
diff --git a/src/if_mzsch.c b/src/if_mzsch.c
index 93e4b6c..1861df4 100644
--- a/src/if_mzsch.c
+++ b/src/if_mzsch.c
@@ -545,7 +545,7 @@
 
 # if MZSCHEME_VERSION_MAJOR >= 500
 #  if defined(IMPLEMENT_THREAD_LOCAL_VIA_WIN_TLS) || defined(IMPLEMENT_THREAD_LOCAL_EXTERNALLY_VIA_PROC)
-/* define as function for macro in schshread.h */
+/* define as function for macro in schthread.h */
 Thread_Local_Variables *
 scheme_external_get_thread_local_variables(void)
 {
@@ -894,7 +894,7 @@
 /* timers are presented in GUI only */
 # if defined(FEAT_GUI_W32)
     static void CALLBACK
-timer_proc(HWND hwnd UNUSED, UINT uMsg UNUSED, UINT idEvent UNUSED, DWORD dwTime UNUSED)
+timer_proc(HWND hwnd UNUSED, UINT uMsg UNUSED, UINT_PTR idEvent UNUSED, DWORD dwTime UNUSED)
 # elif defined(FEAT_GUI_GTK)
 #  if GTK_CHECK_VERSION(3,0,0)
     static gboolean
@@ -3571,7 +3571,7 @@
 
 	info = scheme_make_byte_string(add_info);
 	MZ_GC_CHECK();
-	c_string = scheme_format_utf8(fmt, STRLEN(fmt), 1, &info, NULL);
+	c_string = scheme_format_utf8(fmt, (int)STRLEN(fmt), 1, &info, NULL);
 	MZ_GC_CHECK();
 	byte_string = scheme_make_byte_string(c_string);
 	MZ_GC_CHECK();
diff --git a/src/if_perl.xs b/src/if_perl.xs
index aab7ade..a489994 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -1075,7 +1075,8 @@
 	{
 	    size_t  len		= 0;
 	    char *  str_from	= SvPV(sv, len);
-	    char_u *str_to	= (char_u*)alloc(sizeof(char_u) * (len + 1));
+	    char_u *str_to	= (char_u*)alloc(
+				      (unsigned)(sizeof(char_u) * (len + 1)));
 
 	    if (str_to) {
 		str_to[len] = '\0';
@@ -1370,13 +1371,13 @@
     char_u *str;
     PerlIOVim * s = PerlIOSelf(f, PerlIOVim);
 
-    str = vim_strnsave((char_u *)vbuf, count);
+    str = vim_strnsave((char_u *)vbuf, (int)count);
     if (str == NULL)
 	return 0;
     msg_split((char_u *)str, s->attr);
     vim_free(str);
 
-    return count;
+    return (SSize_t)count;
 }
 
 static PERLIO_FUNCS_DECL(PerlIO_Vim) = {
diff --git a/src/if_ruby.c b/src/if_ruby.c
index 80ffa49..90e814e 100644
--- a/src/if_ruby.c
+++ b/src/if_ruby.c
@@ -733,7 +733,7 @@
 	vim_free(sval);
 	if (enc)
 	{
-	    return rb_enc_str_new(s, strlen(s), enc);
+	    return rb_enc_str_new(s, (long)strlen(s), enc);
 	}
     }
 #endif
diff --git a/src/version.c b/src/version.c
index 279ee6d..0d234a5 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1863,
+/**/
     1862,
 /**/
     1861,
@@ -5077,7 +5079,7 @@
     if (*mesg == ' ')
     {
 	vim_strncpy(modby, (char_u *)_("Modified by "), MODBY_LEN - 1);
-	l = STRLEN(modby);
+	l = (int)STRLEN(modby);
 	vim_strncpy(modby + l, (char_u *)MODIFIED_BY, MODBY_LEN - l - 1);
 	mesg = modby;
     }