# HG changeset patch # User Bram Moolenaar # Date 1580161504 -3600 # Node ID 09f01421a356b2ff155a73d576a0cce2c1a962a9 # Parent d4b246f286eceef0b2c11572803f1f19b69b8132 patch 8.2.0160: range test fails Commit: https://github.com/vim/vim/commit/89bfc8218c1b3f41cc5d0fe06afd7d0fb2bd5dc6 Author: Bram Moolenaar Date: Mon Jan 27 22:37:23 2020 +0100 patch 8.2.0160: range test fails Problem: Range test fails. Solution: Include change in list code. (https://github.com/vim/vim/issues/5541) diff --git a/src/list.c b/src/list.c --- a/src/list.c +++ b/src/list.c @@ -1992,6 +1992,7 @@ f_count(typval_T *argvars, typval_T *ret if ((l = argvars[0].vval.v_list) != NULL) { + range_list_materialize(l); li = l->lv_first; if (argvars[2].v_type != VAR_UNKNOWN) { @@ -2256,6 +2257,16 @@ f_reverse(typval_T *argvars, typval_T *r && !var_check_lock(l->lv_lock, (char_u *)N_("reverse() argument"), TRUE)) { + if (l->lv_first == &range_list_item) + { + varnumber_T new_start = l->lv_start + + (l->lv_len - 1) * l->lv_stride; + l->lv_end = new_start - (l->lv_end - l->lv_start); + l->lv_start = new_start; + l->lv_stride = -l->lv_stride; + rettv_list_set(rettv, l); + return; + } li = l->lv_last; l->lv_first = l->lv_last = NULL; l->lv_len = 0; diff --git a/src/version.c b/src/version.c --- a/src/version.c +++ b/src/version.c @@ -743,6 +743,8 @@ static char *(features[]) = static int included_patches[] = { /* Add new patch number below this line */ /**/ + 160, +/**/ 159, /**/ 158,