mirror of
https://github.com/vim/vim.git
synced 2025-11-14 23:04:02 -05:00
updated for version 7.4a.042
Problem: Crash when BufUnload autocommands close all buffers. (Andrew
Pimlott)
Solution: Set curwin->w_buffer to curbuf to avoid NULL.
This commit is contained in:
@@ -1,4 +1,5 @@
|
||||
Test for BufWritePre autocommand that deletes or unloads the buffer.
|
||||
Test for BufUnload autocommand that unloads all other buffers.
|
||||
|
||||
STARTTEST
|
||||
:so small.vim
|
||||
@@ -16,6 +17,27 @@ $r2:.,/end of/w! Xxx2 " write test file Xxx2
|
||||
:bwipe test.out " remove test.out from the buffer list
|
||||
:w " write it, will delete the buffer and give an error msg
|
||||
:w >>test.out " Append contents of this file
|
||||
:au! BufWritePre
|
||||
:func CloseAll()
|
||||
let i = 0
|
||||
while i <= bufnr('$')
|
||||
if i != bufnr('%') && bufloaded(i)
|
||||
exe i . "bunload"
|
||||
endif
|
||||
let i += 1
|
||||
endwhile
|
||||
endfunc
|
||||
:func WriteToOut()
|
||||
edit! test.out
|
||||
$put ='VimLeave done'
|
||||
write
|
||||
endfunc
|
||||
:set viminfo='100,nviminfo
|
||||
:au BufUnload * call CloseAll()
|
||||
:au VimLeave * call WriteToOut()
|
||||
:e small.vim
|
||||
:sp mbyte.vim
|
||||
:q
|
||||
:qa!
|
||||
ENDTEST
|
||||
|
||||
|
||||
@@ -4,3 +4,4 @@ end of Xxx
|
||||
start of Xxx1
|
||||
test
|
||||
end of Xxx
|
||||
VimLeave done
|
||||
|
||||
Reference in New Issue
Block a user