patch 8.1.0743: giving error messages is not flexible

Problem:    Giving error messages is not flexible.
Solution:   Add semsg().  Change argument from "char_u *" to "char *", also
            for msg() and get rid of most MSG macros. (Ozaki Kiichi, closes
            #3302)  Also make emsg() accept a "char *" argument.  Get rid of
            an enormous number of type casts.
diff --git a/src/gui_gtk_x11.c b/src/gui_gtk_x11.c
index 898e2af..beec291 100644
--- a/src/gui_gtk_x11.c
+++ b/src/gui_gtk_x11.c
@@ -1664,7 +1664,7 @@
     {
 	gui.dying = TRUE;
 	if (give_message)
-	    EMSG(_((char *)e_opendisp));
+	    emsg(_((char *)e_opendisp));
 	return FAIL;
     }
     return OK;
@@ -1710,7 +1710,7 @@
     if (!gtk_init_check(&gui_argc, &gui_argv))
     {
 	gui.dying = TRUE;
-	EMSG(_((char *)e_opendisp));
+	emsg(_((char *)e_opendisp));
 	return FAIL;
     }
 
@@ -5247,7 +5247,7 @@
     if (font == NULL)
     {
 	if (report_error)
-	    EMSG2(_((char *)e_font), name);
+	    semsg(_((char *)e_font), name);
 	return NULL;
     }
 
@@ -7138,7 +7138,7 @@
 	{
 	    /* The error message is already translated and will be more
 	     * descriptive than anything we could possibly do ourselves. */
-	    EMSG2("E255: %s", message);
+	    semsg("E255: %s", message);
 
 	    if (input_conv.vc_type != CONV_NONE)
 		vim_free(message);