diff options
| author | zeertzjq <zeertzjq@outlook.com> | 2024-03-11 12:05:01 +0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2024-03-11 12:05:01 +0800 |
| commit | 3814750d3789b5c5690e8fa68066bd864a4f0a8e (patch) | |
| tree | 8958b54539e3b4df3b8e6eebf6f11c7fbecc1662 /src/nvim/api | |
| parent | a09ddd7ce55037edc9747a682810fba6a26bc201 (diff) | |
| parent | 3b3511c4d9f1855d4240da0d844ce7875176c607 (diff) | |
| download | rneovim-3814750d3789b5c5690e8fa68066bd864a4f0a8e.tar.gz rneovim-3814750d3789b5c5690e8fa68066bd864a4f0a8e.tar.bz2 rneovim-3814750d3789b5c5690e8fa68066bd864a4f0a8e.zip | |
Merge pull request #27738 from ColinKennedy/vim-9.1.0147
vim-patch:9.1.{0147,0149,0150,0152,0156},58f1e5c0893a: 'winfixbuf'
Diffstat (limited to 'src/nvim/api')
| -rw-r--r-- | src/nvim/api/vim.c | 5 | ||||
| -rw-r--r-- | src/nvim/api/window.c | 6 |
2 files changed, 11 insertions, 0 deletions
diff --git a/src/nvim/api/vim.c b/src/nvim/api/vim.c index 84a2f24dbc..24ad7d5fbc 100644 --- a/src/nvim/api/vim.c +++ b/src/nvim/api/vim.c @@ -876,6 +876,11 @@ void nvim_set_current_buf(Buffer buffer, Error *err) return; } + if (curwin->w_p_wfb) { + api_set_error(err, kErrorTypeException, "%s", e_winfixbuf_cannot_go_to_buffer); + return; + } + try_start(); int result = do_buffer(DOBUF_GOTO, DOBUF_FIRST, FORWARD, buf->b_fnum, 0); if (!try_end(err) && result == FAIL) { diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c index ed51eedf1b..1a80e9ea16 100644 --- a/src/nvim/api/window.c +++ b/src/nvim/api/window.c @@ -61,6 +61,12 @@ void nvim_win_set_buf(Window window, Buffer buffer, Error *err) if (!win || !buf) { return; } + + if (win->w_p_wfb) { + api_set_error(err, kErrorTypeException, "%s", e_winfixbuf_cannot_go_to_buffer); + return; + } + if (win == cmdwin_win || win == cmdwin_old_curwin || buf == cmdwin_buf) { api_set_error(err, kErrorTypeException, "%s", e_cmdwin); return; |