diff options
author | luukvbaal <luukvbaal@gmail.com> | 2024-12-17 13:12:22 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-12-17 04:12:22 -0800 |
commit | 6bf2a6fc5bb395b67c88cb26d332f882a106c7ab (patch) | |
tree | 44259c3b4df40c5af3a4bacec308945f93365d6e /src/nvim/api/window.c | |
parent | b03e790cddd19b57fa91f4fbfcc30c28f3c173bf (diff) | |
download | rneovim-6bf2a6fc5bb395b67c88cb26d332f882a106c7ab.tar.gz rneovim-6bf2a6fc5bb395b67c88cb26d332f882a106c7ab.tar.bz2 rneovim-6bf2a6fc5bb395b67c88cb26d332f882a106c7ab.zip |
refactor(api): always use TRY_WRAP #31600
Problem: Two separate try/end wrappers, that only marginally differ by
restoring a few variables. Wrappers that don't restore
previous state are dangerous to use in "api-fast" functions.
Solution: Remove wrappers that don't restore the previous state.
Always use TRY_WRAP.
Diffstat (limited to 'src/nvim/api/window.c')
-rw-r--r-- | src/nvim/api/window.c | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/src/nvim/api/window.c b/src/nvim/api/window.c index f5e8d8f086..387dad899e 100644 --- a/src/nvim/api/window.c +++ b/src/nvim/api/window.c @@ -368,19 +368,16 @@ void nvim_win_hide(Window window, Error *err) } tabpage_T *tabpage = win_find_tabpage(win); - TryState tstate; - try_enter(&tstate); - - // Never close the autocommand window. - if (is_aucmd_win(win)) { - emsg(_(e_autocmd_close)); - } else if (tabpage == curtab) { - win_close(win, false, false); - } else { - win_close_othertab(win, false, tabpage); - } - - vim_ignored = try_leave(&tstate, err); + TRY_WRAP(err, { + // Never close the autocommand window. + if (is_aucmd_win(win)) { + emsg(_(e_autocmd_close)); + } else if (tabpage == curtab) { + win_close(win, false, false); + } else { + win_close_othertab(win, false, tabpage); + } + }); } /// Closes the window (like |:close| with a |window-ID|). @@ -400,10 +397,9 @@ void nvim_win_close(Window window, Boolean force, Error *err) } tabpage_T *tabpage = win_find_tabpage(win); - TryState tstate; - try_enter(&tstate); - ex_win_close(force, win, tabpage == curtab ? NULL : tabpage); - vim_ignored = try_leave(&tstate, err); + TRY_WRAP(err, { + ex_win_close(force, win, tabpage == curtab ? NULL : tabpage); + }); } /// Calls a function with window as temporary current window. |