Skip to content

Commit 4d40dec

Browse files
committed
Don't fire modelines quickfix autocommands
Modelines can trigger the FileType event, which can in turn clobber our 'errorformat'.
1 parent 9255742 commit 4d40dec

File tree

1 file changed

+15
-3
lines changed

1 file changed

+15
-3
lines changed

autoload/dispatch.vim

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -384,11 +384,14 @@ function! dispatch#command_complete(A, L, P) abort
384384
endfunction
385385

386386
function! dispatch#make_complete(A, L, P) abort
387+
let modelines = &modelines
387388
try
389+
let &modelines = 0
388390
silent doautocmd QuickFixCmdPre dispatch-make-complete
389391
return s:compiler_complete(s:current_compiler(), a:A, a:L, a:P)
390392
finally
391393
silent doautocmd QuickFixCmdPost dispatch-make-complete
394+
let &modelines = modelines
392395
endtry
393396
endfunction
394397

@@ -460,7 +463,9 @@ function! dispatch#compile_command(bang, args, count) abort
460463
cclose
461464
let &errorfile = request.file
462465

466+
let modelines = &modelines
463467
try
468+
let &modelines = 0
464469
silent doautocmd QuickFixCmdPre dispatch-make
465470
let request.directory = getcwd()
466471
let request.expanded = dispatch#expand(request.command)
@@ -474,6 +479,7 @@ function! dispatch#compile_command(bang, args, count) abort
474479
endif
475480
finally
476481
silent doautocmd QuickFixCmdPost dispatch-make
482+
let &modelines = modelines
477483
endtry
478484
return ''
479485
endfunction
@@ -645,9 +651,15 @@ function! s:cgetfile(request, all, copen) abort
645651
let &l:efm = request.format
646652
endif
647653
let &l:makeprg = request.command
648-
silent doautocmd QuickFixCmdPre cgetfile
649-
execute 'cgetfile '.fnameescape(request.file)
650-
silent doautocmd QuickFixCmdPost cgetfile
654+
let modelines = &modelines
655+
try
656+
let &modelines = 0
657+
silent doautocmd QuickFixCmdPre cgetfile
658+
execute 'cgetfile '.fnameescape(request.file)
659+
silent doautocmd QuickFixCmdPost cgetfile
660+
finally
661+
let &modelines = modelines
662+
endtry
651663
catch '^E40:'
652664
return v:exception
653665
finally

0 commit comments

Comments
 (0)