1
0
forked from aniani/vim
Files
vim/src/testdir/test8.in
Bram Moolenaar 2b90ed294e 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.
2013-07-24 16:02:36 +02:00

47 lines
1.2 KiB
Plaintext
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
Test for BufWritePre autocommand that deletes or unloads the buffer.
Test for BufUnload autocommand that unloads all other buffers.
STARTTEST
:so small.vim
:au BufWritePre Xxx1 bunload
:au BufWritePre Xxx2 bwipe
/^start of
A1:.,/end of/w! Xxx1 " write test file Xxx1
$r2:.,/end of/w! Xxx2 " write test file Xxx2
:e! Xxx2 " edit Xxx2
:bdel test8.in " delete this file from the buffer list
:e Xxx1 " edit Xxx1
:w " write it, will unload it and give an error msg
:w! test.out " Write contents of this file
:e! Xxx2 " start editing 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
start of Xxx
test
end of Xxx