X-Git-Url: http://git.iain.cx/?a=blobdiff_plain;ds=sidebyside;f=.vim%2Fscript%2Fp4;h=59e28a11259629ae25ce2c353c4c71572f6fdd9b;hb=21daee34ff2d1d0ca13a79abb315e689ba22d2e3;hp=9319906d7a7ac4cc9ed21c6a8b7bf731a4cc94b2;hpb=e7ce6e6adb47b17329876cfedb137c9f182e1cb7;p=profile.git diff --git a/.vim/script/p4 b/.vim/script/p4 index 9319906..59e28a1 100644 --- a/.vim/script/p4 +++ b/.vim/script/p4 @@ -1,17 +1,22 @@ -" $Id$ vim: se syntax=vim: " Define the function we'll use. It's easier to do this than to faff about " trying to run a sequence of normal mode commands. fun! P4submit() " There's no point doing this if the spec is readonly. That probably means " it's a submitted change. if ! &ro + setf perforce + " Clear the unnamed register. let @" = "" try " Delete the spec blurb if it exists. - /^# A Perforce Change Spec/,/^$/d + /^# A Perforce Change Spec/,/^# *(New changelists only\.)$/d " If the blurb was deleted the text will be in the unnamed register. if @" != "" + " Delete the blank line left above the remaining fields. + 1 + delete + " Allow closing an unmodified spec. set nomod @@ -32,7 +37,12 @@ fun! P4submit() set buftype=nowrite set bufhidden=hide setlocal noswapfile + + " Change directory so "file [p4 diff]" doesn't try to cd somewhere. + let l:cwd=getcwd() + cd / file [p4 diff] + cd l:cwd " Switch back to the top window and put the cursor by the description. wincmd k