vim-patch:7.4.251

Problem:  Crash when BufAdd autocommand wipes out the buffer.

Solution: Check for buffer to still be valid. Postpone freeing the
          buffer structure. (Hirohito Higashi)

https://code.google.com/p/vim/source/detail?r=29eb4c2a33ac701bfcd4d2e2bed7864eba876e0e
This commit is contained in:
Marco Hinz
2014-04-14 16:47:00 +02:00
committed by Thiago de Arruda
parent 40970917dc
commit cb0adf60de
5 changed files with 39 additions and 8 deletions

View File

@@ -352,6 +352,11 @@ EXTERN int keep_filetype INIT(= FALSE); /* value for did_filetype when
* which one is preferred, au_new_curbuf is set to it */
EXTERN buf_T *au_new_curbuf INIT(= NULL);
// When deleting the buffer and autocmd_busy is TRUE, do not free the buffer
// but link it in the list starting with au_pending_free_buf, using b_next.
// Free the buffer when autocmd_busy is set to FALSE.
EXTERN buf_T *au_pending_free_buf INIT(= NULL);
/*
* Mouse coordinates, set by check_termcode()
*/