diff src/list.c @ 23058:77f181975381 v8.2.2075

patch 8.2.2075: error for const argument to mapnew() Commit: https://github.com/vim/vim/commit/57cf4973a283941c92744554474b2c52ce892fd1 Author: Bram Moolenaar <Bram@vim.org> Date: Tue Dec 1 21:08:05 2020 +0100 patch 8.2.2075: error for const argument to mapnew() Problem: Error for const argument to mapnew(). Solution: Don't give an error. (closes https://github.com/vim/vim/issues/7400)
author Bram Moolenaar <Bram@vim.org>
date Tue, 01 Dec 2020 21:15:03 +0100
parents 4ba6c5eebb28
children b545334ae654
line wrap: on
line diff
--- a/src/list.c
+++ b/src/list.c
@@ -2065,7 +2065,7 @@ filter_map(typval_T *argvars, typval_T *
 
 		    --todo;
 		    di = HI2DI(hi);
-		    if (filtermap != FILTERMAP_FILTER
+		    if (filtermap == FILTERMAP_MAP
 					 && (value_check_lock(di->di_tv.v_lock,
 							   arg_errmsg, TRUE)
 				|| var_check_ro(di->di_flags,
@@ -2225,12 +2225,12 @@ filter_map(typval_T *argvars, typval_T *
 	    }
 	    else
 	    {
-		// Materialized list from range(): loop over the items
+		// Materialized list: loop over the items
 		for (li = l->lv_first; li != NULL; li = nli)
 		{
 		    typval_T newtv;
 
-		    if (filtermap != FILTERMAP_FILTER && value_check_lock(
+		    if (filtermap == FILTERMAP_MAP && value_check_lock(
 					   li->li_tv.v_lock, arg_errmsg, TRUE))
 			break;
 		    nli = li->li_next;