changeset 6581:05202d6ba0ef v7.4.617

updated for version 7.4.617 Problem: Wrong ":argdo" range does not cause an error. Solution: Reset "cmd" to NULL. (Marcin Szamotulski, Ingo Karkat)
author Bram Moolenaar <bram@vim.org>
date Tue, 03 Feb 2015 19:10:53 +0100
parents bdd980d5d13f
children caeb08965286
files src/ex_docmd.c src/version.c
diffstat 2 files changed, 9 insertions(+), 2 deletions(-) [+]
line wrap: on
line diff
--- a/src/ex_docmd.c
+++ b/src/ex_docmd.c
@@ -4405,6 +4405,7 @@ get_address(ptr, addr_type, skip, to_oth
 		if (addr_type != ADDR_LINES)
 		{
 		    EMSG(_(e_invaddr));
+		    cmd = NULL;
 		    goto error;
 		}
 		if (skip)
@@ -4436,6 +4437,7 @@ get_address(ptr, addr_type, skip, to_oth
 		if (addr_type != ADDR_LINES)
 		{
 		    EMSG(_(e_invaddr));
+		    cmd = NULL;
 		    goto error;
 		}
 		if (skip)	/* skip "/pat/" */
@@ -4484,6 +4486,7 @@ get_address(ptr, addr_type, skip, to_oth
 		if (addr_type != ADDR_LINES)
 		{
 		    EMSG(_(e_invaddr));
+		    cmd = NULL;
 		    goto error;
 		}
 		if (*cmd == '&')
@@ -4575,7 +4578,8 @@ get_address(ptr, addr_type, skip, to_oth
 		n = getdigits(&cmd);
 	    if (addr_type == ADDR_LOADED_BUFFERS
 		    || addr_type == ADDR_BUFFERS)
-		lnum = compute_buffer_local_count(addr_type, lnum, (i == '-') ? -1 * n : n);
+		lnum = compute_buffer_local_count(
+				    addr_type, lnum, (i == '-') ? -1 * n : n);
 	    else if (i == '-')
 		lnum -= n;
 	    else
@@ -4662,7 +4666,8 @@ invalid_range(eap)
 		    return (char_u *)_(e_invrange);
 		break;
 	    case ADDR_ARGUMENTS:
-		if (eap->line2 > ARGCOUNT + (!ARGCOUNT))    // add 1 if ARCOUNT is 0
+		/* add 1 if ARGCOUNT is 0 */
+		if (eap->line2 > ARGCOUNT + (!ARGCOUNT))
 		    return (char_u *)_(e_invrange);
 		break;
 	    case ADDR_BUFFERS:
--- a/src/version.c
+++ b/src/version.c
@@ -742,6 +742,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    617,
+/**/
     616,
 /**/
     615,