changeset 29058:eee580a4c402 v8.2.5051

patch 8.2.5051: check for autocmd_add() event argument is confusing Commit: https://github.com/vim/vim/commit/882476ad7b4944a8386993e94b7e31139a314f91 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Jun 1 16:02:38 2022 +0100 patch 8.2.5051: check for autocmd_add() event argument is confusing Problem: Check for autocmd_add() event argument is confusing. Solution: Make the code more straightforward.
author Bram Moolenaar <Bram@vim.org>
date Wed, 01 Jun 2022 17:15:03 +0200
parents 802f18a85cb5
children cc8b6c130dff
files src/autocmd.c src/version.c
diffstat 2 files changed, 8 insertions(+), 8 deletions(-) [+]
line wrap: on
line diff
--- a/src/autocmd.c
+++ b/src/autocmd.c
@@ -2951,26 +2951,24 @@ autocmd_add_or_delete(typval_T *argvars,
 		    if (eli == NULL)
 			break;
 		    if (eli->li_tv.v_type != VAR_STRING
-			    || eli->li_tv.vval.v_string == NULL)
+			    || (p = eli->li_tv.vval.v_string) == NULL)
 		    {
 			emsg(_(e_string_required));
-			continue;
+			break;
 		    }
-		    p = eli->li_tv.vval.v_string;
 		}
 		else
 		{
-		    if (end == NULL)
-			p = end = event_name;
-		    if (end == NULL || *end == NUL)
+		    if (p == NULL)
+			p = event_name;
+		    if (p == NULL || *p == NUL)
 			break;
 		}
-		if (p == NULL)
-		    continue;
 
 		event = event_name2nr(p, &end);
 		if (event == NUM_EVENTS || *end != NUL)
 		{
+		    // this also catches something following a valid event name
 		    semsg(_(e_no_such_event_str), p);
 		    retval = VVAL_FALSE;
 		    break;
--- a/src/version.c
+++ b/src/version.c
@@ -735,6 +735,8 @@ static char *(features[]) =
 static int included_patches[] =
 {   /* Add new patch number below this line */
 /**/
+    5051,
+/**/
     5050,
 /**/
     5049,