comparison src/window.c @ 28349:d3a1fc6b4da6 v8.2.4700

patch 8.2.4700: buffer remains active if WinClosed event throws an exception Commit: https://github.com/vim/vim/commit/c947b9ae419114ebfef9725814ea41a466fcf879 Author: Bram Moolenaar <Bram@vim.org> Date: Wed Apr 6 17:59:21 2022 +0100 patch 8.2.4700: buffer remains active if WinClosed event throws an exception Problem: Buffer remains active if a WinClosed event throws an exception. Solution: Ignore aborting() when closing the buffer. (closes https://github.com/vim/vim/issues/10097)
author Bram Moolenaar <Bram@vim.org>
date Wed, 06 Apr 2022 19:00:04 +0200
parents cdaff4db7760
children 68c36f734b10
comparison
equal deleted inserted replaced
28348:b686979c523d 28349:d3a1fc6b4da6
2491 { 2491 {
2492 bufref_T bufref; 2492 bufref_T bufref;
2493 2493
2494 set_bufref(&bufref, curbuf); 2494 set_bufref(&bufref, curbuf);
2495 win->w_closing = TRUE; 2495 win->w_closing = TRUE;
2496 close_buffer(win, win->w_buffer, action, abort_if_last, FALSE); 2496 close_buffer(win, win->w_buffer, action, abort_if_last, TRUE);
2497 if (win_valid_any_tab(win)) 2497 if (win_valid_any_tab(win))
2498 win->w_closing = FALSE; 2498 win->w_closing = FALSE;
2499 // Make sure curbuf is valid. It can become invalid if 'bufhidden' is 2499 // Make sure curbuf is valid. It can become invalid if 'bufhidden' is
2500 // "wipe". 2500 // "wipe".
2501 if (!bufref_valid(&bufref)) 2501 if (!bufref_valid(&bufref))