X-Git-Url: http://git.iain.cx/?p=profile.git;a=blobdiff_plain;f=.vim%2Fscript%2Fp4;h=59e28a11259629ae25ce2c353c4c71572f6fdd9b;hp=34e8af4a67499e420f491bd9a127dcfd66ddcf08;hb=21daee34ff2d1d0ca13a79abb315e689ba22d2e3;hpb=3630d98d44d50a5b6a5fa131aac9a3eb49e94d4d diff --git a/.vim/script/p4 b/.vim/script/p4 index 34e8af4..59e28a1 100644 --- a/.vim/script/p4 +++ b/.vim/script/p4 @@ -1,4 +1,3 @@ -" $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() @@ -11,9 +10,13 @@ fun! P4submit() 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 @@ -34,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