0
0
mirror of https://github.com/vim/vim.git synced 2025-09-29 04:34:16 -04:00

patch 8.2.0523: loops are repeated

Problem:    Loops are repeated.
Solution:   Use FOR_ALL_ macros. (Yegappan Lakshmanan, closes #5882)
This commit is contained in:
Bram Moolenaar
2020-04-06 22:13:01 +02:00
parent ee4e0c1e9a
commit 00d253e2b2
19 changed files with 72 additions and 44 deletions

View File

@@ -1379,7 +1379,7 @@ pum_execute_menu(vimmenu_T *menu, int mode)
int idx = 0;
exarg_T ea;
for (mp = menu->children; mp != NULL; mp = mp->next)
FOR_ALL_CHILD_MENUS(menu, mp)
if ((mp->modes & mp->enabled & mode) && idx++ == pum_selected)
{
vim_memset(&ea, 0, sizeof(ea));
@@ -1407,7 +1407,7 @@ pum_show_popupmenu(vimmenu_T *menu)
pum_size = 0;
mode = get_menu_mode_flag();
for (mp = menu->children; mp != NULL; mp = mp->next)
FOR_ALL_CHILD_MENUS(menu, mp)
if (menu_is_separator(mp->dname)
|| (mp->modes & mp->enabled & mode))
++pum_size;
@@ -1424,7 +1424,7 @@ pum_show_popupmenu(vimmenu_T *menu)
if (array == NULL)
return;
for (mp = menu->children; mp != NULL; mp = mp->next)
FOR_ALL_CHILD_MENUS(menu, mp)
if (menu_is_separator(mp->dname))
array[idx++].pum_text = (char_u *)"";
else if (mp->modes & mp->enabled & mode)