patch 7.4.1780
Problem:    Warnings reported by cppcheck.
Solution:   Fix the warnings. (Dominique Pelle)
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 657c772..4ddfbe4 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -335,9 +335,8 @@
 get_maxbacktrace_level(void)
 {
     char	*p, *q;
-    int		maxbacktrace = 1;
+    int		maxbacktrace = 0;
 
-    maxbacktrace = 0;
     if (sourcing_name != NULL)
     {
 	p = (char *)sourcing_name;
diff --git a/src/json.c b/src/json.c
index b4ebe74..aa168ec 100644
--- a/src/json.c
+++ b/src/json.c
@@ -539,7 +539,6 @@
     char_u	*p;
     int		c;
     long	nr;
-    char_u	buf[NUMBUFLEN];
 
     if (res != NULL)
 	ga_init2(&ga, 1, 200);
@@ -617,6 +616,7 @@
 		    if (res != NULL)
 		    {
 #ifdef FEAT_MBYTE
+			char_u	buf[NUMBUFLEN];
 			buf[utf_char2bytes((int)nr, buf)] = NUL;
 			ga_concat(&ga, buf);
 #else
diff --git a/src/misc1.c b/src/misc1.c
index ddd9a07..9fa8578 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -1197,7 +1197,7 @@
 			    int	    i;
 			    int	    l;
 
-			    for (i = 0; p[i] != NUL && i < lead_len; i += l)
+			    for (i = 0; i < lead_len && p[i] != NUL; i += l)
 			    {
 				l = (*mb_ptr2len)(p + i);
 				if (vim_strnsize(p, i + l) > repl_size)
diff --git a/src/ops.c b/src/ops.c
index 0584877..983d9d0 100644
--- a/src/ops.c
+++ b/src/ops.c
@@ -5709,7 +5709,7 @@
 	if (buf1 == NULL)
 	    goto theend;
 	ptr = buf1;
-	if (negative && (!visual || (visual && was_positive)))
+	if (negative && (!visual || was_positive))
 	{
 	    *ptr++ = '-';
 	}
diff --git a/src/regexp_nfa.c b/src/regexp_nfa.c
index 6d06a12..5e073ee 100644
--- a/src/regexp_nfa.c
+++ b/src/regexp_nfa.c
@@ -5515,14 +5515,9 @@
     int		add_off = 0;
     int		toplevel = start->c == NFA_MOPEN;
 #ifdef NFA_REGEXP_DEBUG_LOG
-    FILE	*debug = fopen(NFA_REGEXP_DEBUG_LOG, "a");
-
-    if (debug == NULL)
-    {
-	EMSG2(_("(NFA) COULD NOT OPEN %s !"), NFA_REGEXP_DEBUG_LOG);
-	return FALSE;
-    }
+    FILE	*debug;
 #endif
+
     /* Some patterns may take a long time to match, especially when using
      * recursive_regmatch(). Allow interrupting them with CTRL-C. */
     fast_breakcheck();
@@ -5533,6 +5528,14 @@
 	return FALSE;
 #endif
 
+#ifdef NFA_REGEXP_DEBUG_LOG
+    debug = fopen(NFA_REGEXP_DEBUG_LOG, "a");
+    if (debug == NULL)
+    {
+	EMSG2(_("(NFA) COULD NOT OPEN %s !"), NFA_REGEXP_DEBUG_LOG);
+	return FALSE;
+    }
+#endif
     nfa_match = FALSE;
 
     /* Allocate memory for the lists of nodes. */
diff --git a/src/version.c b/src/version.c
index adbb46a..4bd5f7e 100644
--- a/src/version.c
+++ b/src/version.c
@@ -754,6 +754,8 @@
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    1780,
+/**/
     1779,
 /**/
     1778,