Files
neovim/src/nvim/api
Sean Dewar d942c2b943 fix(api): handle win_split_ins failure properly
Problem: nvim_win_set_config does not handle failure in win_split_ins properly
yet, which can cause all sorts of issues. Also nvim_open_win and
nvim_win_set_config do not set the error message to the one from win_split_ins.

Solution: handle failure by undoing winframe_remove, like in win_splitmove.
Make sure autocommands from switching to the altwin fire within a valid window,
and ensure they don't screw things up. Set the error message to that of
win_split_ins, if any.

Also change a few other small things, including:

- adjust win_append to take a tabpage_T * argument, which is more consistent
  with win_remove (and also allows us to undo a call to win_remove).

- allow winframe_restore to restore window positions. Useful if `wp` was in a
  different tabpage, as a call to win_comp_pos (which only works for the current
  tabpage) after winframe_restore should no longer be needed.

  Though enter_tabpage calls win_comp_pos anyway, this has the advantage of
  ensuring w_winrow/col remains accurate even before entering the tabpage
  (useful for stuff like win_screenpos, if used on a window in another tabpage).

  (This change should probably also be PR'd to Vim later, even though it doesn't
  use winframe_restore for a `wp` in a different tabpage yet).
2024-03-08 23:24:05 +00:00
..
2024-02-27 14:41:17 +00:00
2024-02-27 14:41:17 +00:00
2024-02-27 14:41:17 +00:00
2024-02-27 14:41:17 +00:00
2024-02-27 14:41:17 +00:00
2023-11-28 22:23:56 +01:00
2024-02-27 14:41:17 +00:00
2023-11-28 07:47:36 +08:00
2024-02-27 14:41:17 +00:00
2024-02-27 14:41:17 +00:00
2023-11-28 07:47:36 +08:00