The Perforce and Subversion commit and merge scripts want to quit when
the commit message window has been closed, since the only other window
shown really should be the diff.
Vim 7.4's paranoia about scripts closing windows make quitting tricky...
wincmd L
se modifiable
1
+
+ try
+ au QuitPre * qa!
+ endtry
+ catch
endfun
" Expand the command line window so we don't have to press RETURN later.
" Map q to quit easily.
noremap <silent> <buffer> q <C-W>q
+ " Vim 7.4 really doesn't want us to quit windows from a script.
+ try
+ au QuitPre * qa!
+ catch
+ endtry
+
" Switch back to the top window and put the cursor by the description.
wincmd k
resize 10
" Map q to quit easily.
noremap <silent> <buffer> q <C-W>q
+ " Vim 7.4 really doesn't want us to quit windows from a script.
+ try
+ au QuitPre * qa!
+ catch
+ endtry
+
" Switch back to the top window.
wincmd k
endfun
exe "se cmdheight=" . s:cmdheight
" Close the scratch buffer.
-au BufWinLeave <buffer=1> qa!
+if version >= 700
+ " Vim 7 lets us close the buffer by number. The changelist is always in #1.
+ au BufWinLeave <buffer=1> qa!
+else
+ " Prior versions can only do it by name. Fall back to a temporary file.
+ au BufWinLeave /tmp/tmp.*.* qa!
+endif