diff --git a/src/insexpand.c b/src/insexpand.c
index c1374d3..897c3b5 100644
--- a/src/insexpand.c
+++ b/src/insexpand.c
@@ -3383,7 +3383,7 @@
 get_next_include_file_completion(int compl_type)
 {
     find_pattern_in_path(compl_pattern, compl_direction,
-	    compl_patternlen, FALSE, FALSE,
+	    (int)compl_patternlen, FALSE, FALSE,
 	    (compl_type == CTRL_X_PATH_DEFINES
 	     && !(compl_cont_status & CONT_SOL))
 	    ? FIND_DEFINE : FIND_ANY, 1L, ACTION_EXPAND,
@@ -3487,7 +3487,7 @@
     int		num_matches;
 
     if (expand_cmdline(&compl_xp, compl_pattern,
-		compl_patternlen, &num_matches, &matches) == EXPAND_OK)
+		(int)compl_patternlen, &num_matches, &matches) == EXPAND_OK)
 	ins_compl_add_matches(num_matches, matches, FALSE);
 }
 
@@ -4593,7 +4593,7 @@
     }
     compl_patternlen = curs_col;
     set_cmd_context(&compl_xp, compl_pattern,
-	    compl_patternlen, curs_col, FALSE);
+	    (int)compl_patternlen, curs_col, FALSE);
     if (compl_xp.xp_context == EXPAND_UNSUCCESSFUL
 	    || compl_xp.xp_context == EXPAND_NOTHING)
 	// No completion possible, use an empty pattern to get a
diff --git a/src/ops.c b/src/ops.c
index 1dd36ab..8706a01 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -580,7 +580,7 @@
 
 	// copy the new text
 	mch_memmove(newp + startcol, s, slen);
-	offset += slen;
+	offset += (int)slen;
 
 	if (spaces > 0 && !bdp->is_short)
 	{
@@ -607,7 +607,7 @@
 
 	if (b_insert)
 	    // correct any text properties
-	    inserted_bytes(lnum, startcol, slen);
+	    inserted_bytes(lnum, startcol, (int)slen);
 
 	if (lnum == oap->end.lnum)
 	{
@@ -1722,7 +1722,7 @@
 	    add = len;  // short line, point to the NUL
 	firstline += add;
 	len -= add;
-	if (pre_textlen >= 0 && (ins_len = len - pre_textlen - offset) > 0)
+	if (pre_textlen >= 0 && (ins_len = (int)len - pre_textlen - offset) > 0)
 	{
 	    ins_text = vim_strnsave(firstline, ins_len);
 	    if (ins_text != NULL)
@@ -1866,7 +1866,7 @@
 			// Shift the properties for linenr as edit() would do.
 			if (curbuf->b_has_textprop)
 			    adjust_prop_columns(linenr, bd.textcol,
-						     vpos.coladd + ins_len, 0);
+						     vpos.coladd + (int)ins_len, 0);
 #endif
 		    }
 		}
diff --git a/src/version.c b/src/version.c
index d0bbf3e..c0d6601 100644
--- a/src/version.c
+++ b/src/version.c
@@ -705,6 +705,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    455,
+/**/
     454,
 /**/
     453,
