diff --git a/src/evalfunc.c b/src/evalfunc.c
index 62dc40e..dd4462d 100644
--- a/src/evalfunc.c
+++ b/src/evalfunc.c
@@ -10194,7 +10194,7 @@
 	}
 
 	rettv->vval.v_number = 1;	/* FAIL */
-	if (line == NULL || lnum < 1 || lnum > curbuf->b_ml.ml_line_count + 1)
+	if (line == NULL || lnum > curbuf->b_ml.ml_line_count + 1)
 	    break;
 
 	/* When coming here from Insert mode, sync undo, so that this can be
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index b11bff4..3e369a8 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -1420,7 +1420,7 @@
 	    if (balloonEval != NULL)
 		general_beval_cb(balloonEval, 0);
 	}
-	else if (this_due > 0 && (next_due == -1 || next_due > this_due))
+	else if (next_due == -1 || next_due > this_due)
 	    next_due = this_due;
     }
 #endif
diff --git a/src/fileio.c b/src/fileio.c
index 700bd3e..35f4fd2 100644
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -1392,7 +1392,7 @@
 
 			/* If the crypt layer is buffering, not producing
 			 * anything yet, need to read more. */
-			if (size > 0 && decrypted_size == 0)
+			if (decrypted_size == 0)
 			    continue;
 
 			if (linerest == 0)
diff --git a/src/getchar.c b/src/getchar.c
index 285d5d5..623440e 100644
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -4119,7 +4119,7 @@
     mapblock_T	*mp;
     int		hash;
 # ifdef FEAT_LOCALMAP
-    int		expand_buffer = FALSE;
+    int		exp_buffer = FALSE;
 
     validate_maphash();
 
@@ -4134,14 +4134,14 @@
 		if (hash > 0)		/* there is only one abbr list */
 		    break;
 #ifdef FEAT_LOCALMAP
-		if (expand_buffer)
+		if (exp_buffer)
 		    mp = curbuf->b_first_abbr;
 		else
 #endif
 		    mp = first_abbr;
 	    }
 # ifdef FEAT_LOCALMAP
-	    else if (expand_buffer)
+	    else if (exp_buffer)
 		mp = curbuf->b_maphash[hash];
 # endif
 	    else
@@ -4154,9 +4154,9 @@
 	    }
 	}
 # ifdef FEAT_LOCALMAP
-	if (expand_buffer)
+	if (exp_buffer)
 	    break;
-	expand_buffer = TRUE;
+	exp_buffer = TRUE;
     }
 # endif
 
diff --git a/src/normal.c b/src/normal.c
index 89b2dc0..84867b5 100644
--- a/src/normal.c
+++ b/src/normal.c
@@ -2610,7 +2610,7 @@
 			end_visual_mode();
 		}
 	    }
-	    else if (c1 < 0)
+	    else
 	    {
 		tabpage_T	*tp;
 
diff --git a/src/os_unix.c b/src/os_unix.c
index 5646560..c89131f 100644
--- a/src/os_unix.c
+++ b/src/os_unix.c
@@ -441,7 +441,7 @@
 		    /* no character available within "wtime" */
 		    return 0;
 
-		if (wtime < 0)
+		else
 		{
 		    /* no character available within 'updatetime' */
 		    did_start_blocking = TRUE;
diff --git a/src/search.c b/src/search.c
index a4b2722..a346362 100644
--- a/src/search.c
+++ b/src/search.c
@@ -4071,7 +4071,7 @@
 	goto again;
     }
 
-    if (do_include || r < 1)
+    if (do_include)
     {
 	/* Include up to the '>'. */
 	while (*ml_get_cursor() != '>')
diff --git a/src/term.c b/src/term.c
index 3a27fa6..1739f5b 100644
--- a/src/term.c
+++ b/src/term.c
@@ -2361,7 +2361,7 @@
     return 0;
 }
 
-#ifdef FEAT_GUI
+#if defined(FEAT_GUI) || defined(PROTO)
     int
 term_is_gui(char_u *name)
 {
@@ -2823,7 +2823,7 @@
 
     winpos_x = prev_winpos_x;
     winpos_y = prev_winpos_y;
-    if (timeout < 10 && prev_winpos_y >= 0 && prev_winpos_y >= 0)
+    if (timeout < 10 && prev_winpos_y >= 0 && prev_winpos_x >= 0)
     {
 	/* Polling: return previous values if we have them. */
 	*x = winpos_x;
diff --git a/src/version.c b/src/version.c
index fda91e2..6a4c97d 100644
--- a/src/version.c
+++ b/src/version.c
@@ -762,6 +762,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1753,
+/**/
     1752,
 /**/
     1751,
