diff options
author | zeertzjq <zeertzjq@outlook.com> | 2023-02-24 15:03:28 +0800 |
---|---|---|
committer | zeertzjq <zeertzjq@outlook.com> | 2023-02-24 15:36:08 +0800 |
commit | 904d0995837a2569ae640f5253da3dd4569fec6f (patch) | |
tree | cf18e60265b26ed416e71c64b0370c3cb436e73e /src/nvim/eval/typval.c | |
parent | 47bc297d81cf7dab5a28608657ddab3c09f794d0 (diff) | |
download | rneovim-904d0995837a2569ae640f5253da3dd4569fec6f.tar.gz rneovim-904d0995837a2569ae640f5253da3dd4569fec6f.tar.bz2 rneovim-904d0995837a2569ae640f5253da3dd4569fec6f.zip |
vim-patch:8.2.2449: Vim9: flatten() always changes the list type
Problem: Vim9: flatten() always changes the list type.
Solution: Disallow using flatten() and add flattennew().
https://github.com/vim/vim/commit/3b690069730805a147d45d92eaca4dc838272d1d
Co-authored-by: Bram Moolenaar <Bram@vim.org>
Diffstat (limited to 'src/nvim/eval/typval.c')
-rw-r--r-- | src/nvim/eval/typval.c | 9 |
1 files changed, 4 insertions, 5 deletions
diff --git a/src/nvim/eval/typval.c b/src/nvim/eval/typval.c index 9a3a1c3c0f..ab4245b59a 100644 --- a/src/nvim/eval/typval.c +++ b/src/nvim/eval/typval.c @@ -654,14 +654,14 @@ tv_list_copy_error: /// @param[in] maxdepth Maximum depth that will be flattened /// /// @return OK or FAIL -int tv_list_flatten(list_T *list, long maxdepth) - FUNC_ATTR_NONNULL_ARG(1) FUNC_ATTR_WARN_UNUSED_RESULT +void tv_list_flatten(list_T *list, long maxdepth) + FUNC_ATTR_NONNULL_ARG(1) { listitem_T *item; listitem_T *to_free; int n; if (maxdepth == 0) { - return OK; + return; } n = 0; @@ -669,7 +669,7 @@ int tv_list_flatten(list_T *list, long maxdepth) while (item != NULL) { fast_breakcheck(); if (got_int) { - return FAIL; + return; } if (item->li_tv.v_type == VAR_LIST) { listitem_T *next = item->li_next; @@ -695,7 +695,6 @@ int tv_list_flatten(list_T *list, long maxdepth) item = item->li_next; } } - return OK; } /// Extend first list with the second |