neovim/test/functional
Sean Dewar 66f331fef7
vim-patch:9.1.0116: win_split_ins may not check available room
Problem:  win_split_ins has no check for E36 when moving an existing
          window
Solution: check for room and fix the issues in f_win_splitmove()
          (Sean Dewar)

0fd44a5ad8

Omit WSP_FORCE_ROOM, as it's not needed for Nvim's autocmd window, which is
floating. Shouldn't be difficult to port later if it's used for anything else.

Make win_splitmove continue working for turning floating windows into splits.
Move the logic for "unfloating" a float to win_split_ins; unlike splits, no
changes to the window layout are needed before calling it, as floats take no
room in the window layout and cannot affect the e_noroom check.

Add missing tp_curwin-fixing logic for turning external windows into splits, and
add a test.
NOTE: there are other issues with the way "tabpage independence" is implemented
for external windows; namely, some things assume that tp_curwin is indeed a
window within that tabpage, and as such, functions like tabpage_winnr and
nvim_tabpage_get_win currently don't always work for external windows (with the
latter aborting!)

Use last_status over frame_add_statusline, as Nvim's last_status already does
this for all windows in the current tabpage. Adjust restore_full_snapshot_rec to
handle this.
This "restore everything" approach is changed in a future commit anyway, so only
ensure it's robust enough to just pass tests.

Keep check_split_disallowed's current doc comment, as it's actually a bit more
accurate here. (I should probably PR Vim to use this one)

Allow f_win_splitmove to move a floating "wp" into a split; Nvim supports this.
Continue to disallow it from moving the autocommand window into a split (funnily
enough, the check wasn't reachable before, as moving a float was disallowed),
but now return -1 in that case (win_splitmove also returns FAIL for this, but
handling it in f_win_splitmove avoids us needing to switch windows first).

Cherry-pick Test_window_split_no_room fix from v9.1.0121.

Update nvim_win_set_config to handle win_split_ins failure in later commits.
2024-03-08 23:24:04 +00:00
..
api fix(api): make open_win block only enter/leave events if !enter && !noautocmd 2024-03-08 23:24:04 +00:00
autocmd vim-patch:9.1.0158: 'shortmess' "F" flag doesn't work properly with 'autoread' 2024-03-08 07:04:39 +08:00
core fix(process): start pty process eof timer on main thread (#27625) 2024-02-26 09:47:49 +08:00
editor fix(options): don't update curswant for 'winhl' or 'winbl' (#27515) 2024-02-18 18:11:20 +08:00
ex_cmds fix(process): start pty process eof timer on main thread (#27625) 2024-02-26 09:47:49 +08:00
fixtures build: create separate targets for nvim with and without runtime files 2024-01-20 12:59:27 +01:00
legacy vim-patch:9.1.0112: Remove undo information, when cleaning quickfix buffer 2024-02-16 07:18:06 +08:00
lua feat(lsp): add fswatch watchfunc backend 2024-03-01 23:00:20 +00:00
options fix(defaults): make terminal autoclose not block other events (#27581) 2024-02-22 13:54:21 -06:00
plugin test(tohtml_spec): don't use hard-coded sleeping time (#27770) 2024-03-08 10:24:46 +08:00
provider fix(eval): make has('pythonx') work properly (#27739) 2024-03-05 15:54:41 +08:00
script docs(lua): improvements for LSP and Diagnostic 2024-03-05 13:36:46 +00:00
shada test: move format_{string,luav} to a separate module 2024-01-17 10:10:17 +00:00
terminal test(terminal/buffer_spec): re-skip bang test on Windows 2024-02-26 10:11:59 +08:00
treesitter test(treesitter): fix obsolete predicates 2024-02-21 23:10:25 +01:00
ui vim-patch:9.1.0116: win_split_ins may not check available room 2024-03-08 23:24:04 +00:00
vimscript refactor(tests): get channel id via nvim_get_chan_info #27441 2024-02-12 05:50:39 -08:00
example_spec.lua test: use integers for API Buffer/Window/Tabpage EXT types 2024-01-16 19:11:49 +00:00
helpers.lua refactor: rewrite ruby provider in lua 2024-01-24 19:26:53 +01:00
preload.lua refactor: format test/* 2024-01-03 02:09:29 +01:00