patch 8.1.0744: compiler warnings for signed/unsigned strings

Problem:    Compiler warnings for signed/unsigned strings.
Solution:   A few more type cast fixes.
diff --git a/src/if_perl.xs b/src/if_perl.xs
index 09a7fba..3561085 100644
--- a/src/if_perl.xs
+++ b/src/if_perl.xs
@@ -1562,11 +1562,11 @@
 SV*
 Blob(SV* sv)
     PREINIT:
-    STRLEN  len;
-    char    *s;
-    int	    i;
-    char    buf[3];
-    SV*	    newsv;
+    STRLEN	len;
+    char	*s;
+    unsigned	i;
+    char	buf[3];
+    SV*		newsv;
 
     CODE:
     s = SvPVbyte(sv, len);
diff --git a/src/if_py_both.h b/src/if_py_both.h
index 165c847..85141e1 100644
--- a/src/if_py_both.h
+++ b/src/if_py_both.h
@@ -410,6 +410,12 @@
 }
 
     static int
+msg_wrapper(char *text)
+{
+    return msg((char_u *)text);
+}
+
+    static int
 write_output(OutputObject *self, PyObject *string)
 {
     Py_ssize_t	len = 0;
@@ -421,7 +427,7 @@
 
     Py_BEGIN_ALLOW_THREADS
     Python_Lock_Vim();
-    writer((writefn)(error ? emsg : msg), (char_u *)str, len);
+    writer((writefn)(error ? emsg : msg_wrapper), (char_u *)str, len);
     Python_Release_Vim();
     Py_END_ALLOW_THREADS
     PyMem_Free(str);
@@ -634,7 +640,7 @@
     else if (msg_list != NULL && *msg_list != NULL)
     {
 	int	should_free;
-	char_u	*msg;
+	char	*msg;
 
 	msg = get_exception_string(*msg_list, ET_ERROR, NULL, &should_free);
 
@@ -644,7 +650,7 @@
 	    return -1;
 	}
 
-	PyErr_SetVim((char *) msg);
+	PyErr_SetVim(msg);
 
 	free_global_msglist();
 
@@ -3483,13 +3489,13 @@
     static int
 set_option_value_err(char_u *key, int numval, char_u *stringval, int opt_flags)
 {
-    char_u	*errmsg;
+    char	*errmsg;
 
     if ((errmsg = set_option_value(key, numval, stringval, opt_flags)))
     {
 	if (VimTryEnd())
 	    return FAIL;
-	PyErr_SetVim((char *)errmsg);
+	PyErr_SetVim(errmsg);
 	return FAIL;
     }
     return OK;
diff --git a/src/integration.c b/src/integration.c
index a945815..eb6ccda 100644
--- a/src/integration.c
+++ b/src/integration.c
@@ -303,7 +303,7 @@
 			char buffer[2*MAXPATHLEN];
 			vim_snprintf(buffer, sizeof(buffer),
 					NOCATGETS("currentFile %d %s"),
-				f ? strlen(f) : 0, f ? f : "");
+				f ? (int)strlen(f) : 0, f ? f : "");
 			workshop_send_message(buffer);
 		} else if (strcmp(cmd, NOCATGETS("getCursorRow")) == 0) {
 			int row = workshop_test_getcursorrow();
@@ -322,14 +322,14 @@
 			char buffer[2*MAXPATHLEN];
 			vim_snprintf(buffer, sizeof(buffer),
 					NOCATGETS("cursorRowText %d %s"),
-				t ? strlen(t) : 0, t ? t : "");
+				t ? (int)strlen(t) : 0, t ? t : "");
 			workshop_send_message(buffer);
 		} else if (strcmp(cmd, NOCATGETS("getSelectedText")) == 0) {
 			char *t = workshop_test_getselectedtext();
 			char buffer[2*MAXPATHLEN];
 			vim_snprintf(buffer, sizeof(buffer),
 					NOCATGETS("selectedText %d %s"),
-				t ? strlen(t) : 0, t ? t : "");
+				t ? (int)strlen(t) : 0, t ? t : "");
 			workshop_send_message(buffer);
 #endif
 		}
diff --git a/src/option.c b/src/option.c
index 2d5eb32..414e65a 100644
--- a/src/option.c
+++ b/src/option.c
@@ -6965,9 +6965,9 @@
     else if (varp == &p_guifontset)
     {
 	if (STRCMP(p_guifontset, "*") == 0)
-	    errmsg = (char_u *)N_("E597: can't select fontset");
+	    errmsg = N_("E597: can't select fontset");
 	else if (gui.in_use && gui_init_font(p_guifontset, TRUE) != OK)
-	    errmsg = (char_u *)N_("E598: Invalid fontset");
+	    errmsg = N_("E598: Invalid fontset");
 	redraw_gui_only = TRUE;
     }
 # endif
@@ -7687,7 +7687,7 @@
 	    p = (char_u *)MOUSE_ALL;
 #else
 	    if (*p_mouse != NUL)
-		errmsg = (char_u *)N_("E538: No mouse support");
+		errmsg = N_("E538: No mouse support");
 #endif
 	}
 #if defined(FEAT_GUI)
diff --git a/src/version.c b/src/version.c
index d40380c..69bbcfc 100644
--- a/src/version.c
+++ b/src/version.c
@@ -796,7 +796,7 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
-    743,
+    744,
 /**/
     743,
 /**/