Mercurial > vim
diff src/userfunc.c @ 32118:04d9dff67d99 v9.0.1390
patch 9.0.1390: FOR_ALL_ macros are defined in an unexpected file
Commit: https://github.com/vim/vim/commit/14113fdf9cb3d588c0d1c3a210246b981cf5aad3
Author: Yegappan Lakshmanan <yegappan@yahoo.com>
Date: Tue Mar 7 17:13:51 2023 +0000
patch 9.0.1390: FOR_ALL_ macros are defined in an unexpected file
Problem: FOR_ALL_ macros are defined in an unexpected file.
Solution: Move FOR_ALL_ macros to macros.h. Add FOR_ALL_HASHTAB_ITEMS.
(Yegappan Lakshmanan, closes #12109)
author | Bram Moolenaar <Bram@vim.org> |
---|---|
date | Tue, 07 Mar 2023 18:15:04 +0100 |
parents | ec05de98b0f7 |
children | 97255d909654 |
line wrap: on
line diff
--- a/src/userfunc.c +++ b/src/userfunc.c @@ -2313,7 +2313,7 @@ cleanup_function_call(funccall_T *fc) // Make a copy of the a: variables, since we didn't do that above. todo = (int)fc->fc_l_avars.dv_hashtab.ht_used; - for (hi = fc->fc_l_avars.dv_hashtab.ht_array; todo > 0; ++hi) + FOR_ALL_HASHTAB_ITEMS(&fc->fc_l_avars.dv_hashtab, hi, todo) { if (!HASHITEM_EMPTY(hi)) { @@ -3296,7 +3296,7 @@ delete_script_functions(int sid) while (todo > 0) { todo = func_hashtab.ht_used; - for (hi = func_hashtab.ht_array; todo > 0; ++hi) + FOR_ALL_HASHTAB_ITEMS(&func_hashtab, hi, todo) if (!HASHITEM_EMPTY(hi)) { fp = HI2UF(hi); @@ -3353,7 +3353,7 @@ free_all_functions(void) while (todo > 0) { todo = func_hashtab.ht_used; - for (hi = func_hashtab.ht_array; todo > 0; ++hi) + FOR_ALL_HASHTAB_ITEMS(&func_hashtab, hi, todo) if (!HASHITEM_EMPTY(hi)) { // clear the def function index now @@ -3385,7 +3385,7 @@ free_all_functions(void) while (func_hashtab.ht_used > skipped) { todo = func_hashtab.ht_used; - for (hi = func_hashtab.ht_array; todo > 0; ++hi) + FOR_ALL_HASHTAB_ITEMS(&func_hashtab, hi, todo) if (!HASHITEM_EMPTY(hi)) { --todo;