Patch 8.0.0700
Problem: Segfault with QuitPre autocommand closes the window. (Marek)
Solution: Check that the window pointer is still valid. (Christian Brabandt,
closes #1817)
Files: src/testdir/test_tabpage.vim, src/ex_docmd.c
*** ../vim-8.0.0699/src/testdir/test_tabpage.vim 2017-01-29
14:48:06.288454957 +0100
--- src/testdir/test_tabpage.vim 2017-07-08 14:36:17.721701643 +0200
***************
*** 473,477 ****
--- 473,495 ----
endwhile
endfunc
+ func Test_close_on_quitpre()
+ " This once caused a crash
+ new
+ only
+ set bufhidden=delete
+ au QuitPre <buffer> close
+ tabnew tab1
+ tabnew tab2
+ 1tabn
+ q!
+ call assert_equal(1, tabpagenr())
+ call assert_equal(2, tabpagenr('$'))
+ " clean up
+ while tabpagenr('$') > 1
+ bwipe!
+ endwhile
+ 1b
+ endfunc
" vim: shiftwidth=2 sts=2 expandtab
*** ../vim-8.0.0699/src/ex_docmd.c 2017-07-07 11:53:29.507876589 +0200
--- src/ex_docmd.c 2017-07-08 14:39:02.288419126 +0200
***************
*** 7271,7278 ****
apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
/* Refuse to quit when locked or when the buffer in the last window is
* being closed (can only happen in autocommands). */
! if (curbuf_locked() || (wp->w_buffer->b_nwindows == 1
! && wp->w_buffer->b_locked > 0))
return;
#endif
--- 7271,7281 ----
apply_autocmds(EVENT_QUITPRE, NULL, NULL, FALSE, curbuf);
/* Refuse to quit when locked or when the buffer in the last window is
* being closed (can only happen in autocommands). */
! if (curbuf_locked()
! # ifdef FEAT_WINDOWS
! || !win_valid(wp)
! # endif
! || (wp->w_buffer->b_nwindows == 1 && wp->w_buffer->b_locked > 0))
return;
#endif
*** ../vim-8.0.0699/src/version.c 2017-07-08 14:29:14.624978815 +0200
--- src/version.c 2017-07-08 14:39:31.880188599 +0200
***************
*** 766,767 ****
--- 766,769 ----
{ /* Add new patch number below this line */
+ /**/
+ 700,
/**/
--
hundred-and-one symptoms of being an internet addict:
126. You brag to all of your friends about your date Saturday night...but
you don't tell them it was only in a chat room.
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.