comparison src/change.c @ 19888:435726a03481 v8.2.0500

patch 8.2.0500: using the same loop in many places Commit: https://github.com/vim/vim/commit/aeea72151c31d686bcbb7b06d895006d7363585c Author: Bram Moolenaar <Bram@vim.org> Date: Thu Apr 2 18:50:46 2020 +0200 patch 8.2.0500: using the same loop in many places Problem: Using the same loop in many places. Solution: Define more FOR_ALL macros. (Yegappan Lakshmanan, closes https://github.com/vim/vim/issues/5339)
author Bram Moolenaar <Bram@vim.org>
date Thu, 02 Apr 2020 19:00:05 +0200
parents 36ec10251b2b
children 06a1dd50463e
comparison
equal deleted inserted replaced
19887:d03edd8c7e2f 19888:435726a03481
170 { 170 {
171 listitem_T *li; 171 listitem_T *li;
172 linenr_T prev_lnum; 172 linenr_T prev_lnum;
173 linenr_T prev_lnume; 173 linenr_T prev_lnume;
174 174
175 for (li = buf->b_recorded_changes->lv_first; li != NULL; 175 FOR_ALL_LIST_ITEMS(buf->b_recorded_changes, li)
176 li = li->li_next)
177 { 176 {
178 prev_lnum = (linenr_T)dict_get_number( 177 prev_lnum = (linenr_T)dict_get_number(
179 li->li_tv.vval.v_dict, (char_u *)"lnum"); 178 li->li_tv.vval.v_dict, (char_u *)"lnum");
180 prev_lnume = (linenr_T)dict_get_number( 179 prev_lnume = (linenr_T)dict_get_number(
181 li->li_tv.vval.v_dict, (char_u *)"end"); 180 li->li_tv.vval.v_dict, (char_u *)"end");
360 ++updating_screen; 359 ++updating_screen;
361 360
362 argv[0].v_type = VAR_NUMBER; 361 argv[0].v_type = VAR_NUMBER;
363 argv[0].vval.v_number = buf->b_fnum; // a:bufnr 362 argv[0].vval.v_number = buf->b_fnum; // a:bufnr
364 363
365 364 FOR_ALL_LIST_ITEMS(buf->b_recorded_changes, li)
366 for (li = buf->b_recorded_changes->lv_first; li != NULL; li = li->li_next)
367 { 365 {
368 varnumber_T lnum; 366 varnumber_T lnum;
369 367
370 lnum = dict_get_number(li->li_tv.vval.v_dict, (char_u *)"lnum"); 368 lnum = dict_get_number(li->li_tv.vval.v_dict, (char_u *)"lnum");
371 if (start > lnum) 369 if (start > lnum)