diff --git a/src/syntax.c b/src/syntax.c
index 76a5976..9e2971e 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -9545,8 +9545,8 @@
     static void
 gui_do_one_color(
     int		idx,
-    int		do_menu,	/* TRUE: might set the menu font */
-    int		do_tooltip)	/* TRUE: might set the tooltip font */
+    int		do_menu UNUSED,	   /* TRUE: might set the menu font */
+    int		do_tooltip UNUSED) /* TRUE: might set the tooltip font */
 {
     int		didit = FALSE;
 
diff --git a/src/term.c b/src/term.c
index 82f8012..d85cd53 100644
--- a/src/term.c
+++ b/src/term.c
@@ -1272,6 +1272,7 @@
     char_u	*color_name;
     guicolor_T	 color;
 };
+
 static struct rgbcolor_table_S rgb_table[] = {
 	{(char_u *)"black",	RGB(0x00, 0x00, 0x00)},
 	{(char_u *)"blue",	RGB(0x00, 0x00, 0xD4)},
@@ -1354,7 +1355,7 @@
     else
     {
 	/* Check if the name is one of the colors we know */
-	for (i = 0; i < sizeof(rgb_table) / sizeof(rgb_table[0]); i++)
+	for (i = 0; i < (int)(sizeof(rgb_table) / sizeof(rgb_table[0])); i++)
 	    if (STRICMP(name, rgb_table[i].color_name) == 0)
 		return rgb_table[i].color;
     }
@@ -1384,7 +1385,7 @@
 	    int		pos;
 	    char	*color;
 
-	    fgets(line, LINE_LEN, fd);
+	    ignored = fgets(line, LINE_LEN, fd);
 	    len = strlen(line);
 
 	    if (len <= 1 || line[len-1] != '\n')
@@ -2803,9 +2804,11 @@
     static void
 term_rgb_color(char_u *s, long_u rgb)
 {
-    char	buf[7+3*3+2+1+1];
+#define MAX_COLOR_STR_LEN 100
+    char	buf[MAX_COLOR_STR_LEN];
 
-    sprintf(buf, (char *)s, RED(rgb), GREEN(rgb), BLUE(rgb));
+    vim_snprintf(buf, MAX_KEY_CODE_LEN,
+				  (char *)s, RED(rgb), GREEN(rgb), BLUE(rgb));
     OUT_STR(buf);
 }
 #endif
diff --git a/src/version.c b/src/version.c
index 77d0117..51b45c2 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1773,
+/**/
     1772,
 /**/
     1771,
