@@ -979,15 +979,15 @@ let s:efm_backtrace='%D(in\ %f),'
979979      \. ' %\\s%#[%f:%l:\ %#%m,' 
980980      \. ' %\\s%#%f:%l:\ %#%m' 
981981
982- function !  s: makewithruby... )
982+ function !  s: makewithrubybang , ... )
983983  if  &efm  ==  s: efm
984-     if  a: 0a: 11 
984+     if  ( a: 0a: 11 )  &&   ! a: bang 
985985      setlocal  efm = \% - E- e :% .% #,\% + E% f :% l: \  parse\  error ,% W% f :% l: \  warning: \  % m ,% E% f :% l: in\  %* [^:]:\  % m ,% E% f :% l: \  % m ,%- C% \t from\  % f :% l: in\  % .% #,%- Z% \t from\  % f :% l ,%- Z% p ^,%- G% .% #
986986    endif 
987987  endif 
988988  let  old_make =  &makeprg 
989989  let  &l: makeprg=  rails#app ().ruby_shell_command (a: arg
990-   make 
990+   exe   ' make' .( a: bang  ?  ' ! '  :  ' ' ) 
991991  let  &l: makeprg=  old_make
992992endfunction 
993993
@@ -1026,14 +1026,14 @@ function! s:Rake(bang,lnum,arg)
10261026      let  &l: errorformat=  ' %-P%f:,\ \ *\ [%*[\ ]%l]\ [%t%*[^]]] %m,\ \ *\ [%*[\ ]%l] %m,%-Q' 
10271027      "  %D to chdir is apparently incompatible with %P multiline messages 
10281028      call  s: push_chdir1 )
1029-       exe  " make " 
1029+       exe  ' make ' 
10301030      call  s: pop_command
10311031      if  a: bang
10321032        copen 
10331033      endif 
10341034    elseif  arg = ~# ' ^\%(stats\|routes\|secret\|time:zones\|db:\%(charset\|collation\|fixtures:identify\>.*\|version\)\)\%(:\|$\)' 
10351035      let  &l: errorformat=  ' %D(in\ %f),%+G%.%#' 
1036-       exe  " make " 
1036+       exe  ' make ' 
10371037      if  a: bang
10381038        copen 
10391039      endif 
@@ -1050,20 +1050,20 @@ function! s:Rake(bang,lnum,arg)
10501050        let  extra =  ' ' 
10511051      endif 
10521052      if  self .has_file (file ) ||  self .has_file (file .' .rb' 
1053-         call  s: makewithruby' -r"' file .' "' file  !~#  ' _\%(spec\|test\)\%(\.rb\)\=$' 
1053+         call  s: makewithruby' -r"' file .' "' a: bang , file  !~#  ' _\%(spec\|test\)\%(\.rb\)\=$' 
10541054      else 
1055-         call  s: makewithruby' -e ' s: esccmds: rquote
1055+         call  s: makewithruby' -e ' s: esccmds: rquote, a: bang 
10561056      endif 
10571057    elseif  arg ==  ' run' ||  arg ==  ' runner' 
1058-       call  s: makewithruby' -r"' RailsFilePath ().' "' RailsFilePath () !~#  ' _\%(spec\|test\)\%(\.rb\)\=$' 
1058+       call  s: makewithruby' -r"' RailsFilePath ().' "' a: bang , RailsFilePath () !~#  ' _\%(spec\|test\)\%(\.rb\)\=$' 
10591059    elseif  arg = ~ ' ^run:' 
10601060      let  arg =  s: sub' ^run:' ' ' 
1061-       let  arg =  s: sub' ^%:h' expand (' %:h' 
1061+       let  arg =  s: sub' ^\ %:h' expand (' %:h' 
10621062      let  arg =  s: sub' ^%(\%|$|#@=)' expand (' %' 
10631063      let  arg =  s: sub' #(\w+[?!=]=)$' '  -- -n\1' 
1064-       call  s: makewithruby' -r' !~#  ' _\%(spec\|test\)\.rb$' 
1064+       call  s: makewithruby' -r' a: bang , arg !~#  ' _\%(spec\|test\)\.rb$' 
10651065    else 
1066-       exe  ' make ' 
1066+       exe  ' make' .( a: bang  ?  ' ! '  :  ' ' ). '  ' 
10671067    endif 
10681068  finally 
10691069    let  &l: errorformat=  old_errorformat
0 commit comments