diff options
| author | bfredl <bjorn.linse@gmail.com> | 2024-12-16 13:24:09 +0100 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-12-16 13:24:09 +0100 |
| commit | 798f9284793ad9693c68352f5d07dafb73fd281e (patch) | |
| tree | c9b956b4c8ab9b1d8b937a085076156d3c7fd48e /src/nvim/eval | |
| parent | 167a2383b9966ac227a77b0221088246e14ce75a (diff) | |
| parent | 2d6f57b2891247f9ca0f6fb75c4b93fb2c714dc4 (diff) | |
| download | rneovim-798f9284793ad9693c68352f5d07dafb73fd281e.tar.gz rneovim-798f9284793ad9693c68352f5d07dafb73fd281e.tar.bz2 rneovim-798f9284793ad9693c68352f5d07dafb73fd281e.zip | |
Merge pull request #31539 from bfredl/wininfo
refactor(wininfo): change wininfo from a linked list to an array
Diffstat (limited to 'src/nvim/eval')
| -rw-r--r-- | src/nvim/eval/buffer.c | 5 | ||||
| -rw-r--r-- | src/nvim/eval/funcs.c | 7 |
2 files changed, 6 insertions, 6 deletions
diff --git a/src/nvim/eval/buffer.c b/src/nvim/eval/buffer.c index 73bfd6db2a..b4181eb186 100644 --- a/src/nvim/eval/buffer.c +++ b/src/nvim/eval/buffer.c @@ -66,12 +66,11 @@ buf_T *find_buffer(typval_T *avar) /// If there is a window for "curbuf", make it the current window. static void find_win_for_curbuf(void) { - wininfo_T *wip; - // The b_wininfo list should have the windows that recently contained the // buffer, going over this is faster than going over all the windows. // Do check the buffer is still there. - FOR_ALL_BUF_WININFO(curbuf, wip) { + for (size_t i = 0; i < kv_size(curbuf->b_wininfo); i++) { + WinInfo *wip = kv_A(curbuf->b_wininfo, i); if (wip->wi_win != NULL && wip->wi_win->w_buffer == curbuf) { curwin = wip->wi_win; break; diff --git a/src/nvim/eval/funcs.c b/src/nvim/eval/funcs.c index f700e732a9..768d7664f7 100644 --- a/src/nvim/eval/funcs.c +++ b/src/nvim/eval/funcs.c @@ -2402,14 +2402,15 @@ static void f_getchangelist(typval_T *argvars, typval_T *rettv, EvalFuncData fpt if (buf == curwin->w_buffer) { changelistindex = curwin->w_changelistidx; } else { - wininfo_T *wip; + changelistindex = buf->b_changelistlen; - FOR_ALL_BUF_WININFO(buf, wip) { + for (size_t i = 0; i < kv_size(buf->b_wininfo); i++) { + WinInfo *wip = kv_A(buf->b_wininfo, i); if (wip->wi_win == curwin) { + changelistindex = wip->wi_changelistidx; break; } } - changelistindex = wip != NULL ? wip->wi_changelistidx : buf->b_changelistlen; } tv_list_append_number(rettv->vval.v_list, (varnumber_T)changelistindex); |