diff --git a/syntax_checkers/lisp/clisp.vim b/syntax_checkers/lisp/clisp.vim index 5e726a92..7271999d 100644 --- a/syntax_checkers/lisp/clisp.vim +++ b/syntax_checkers/lisp/clisp.vim @@ -19,9 +19,13 @@ let s:save_cpo = &cpo set cpo&vim function! SyntaxCheckers_lisp_clisp_GetLocList() dict + let tmpdir = syntastic#util#tmpdir() + let out = tmpdir != '.' ? ('-o ' . syntastic#util#shescape(tmpdir . syntastic#util#Slash() . 'syntastic_' . getpid())) : '' + let makeprg = self.makeprgBuild({ \ 'args_after': '-q', - \ 'fname_before': '-c' }) + \ 'fname_before': '-c', + \ 'post_args_after': out }) let errorformat = \ '%-G;%.%#,' . @@ -33,10 +37,14 @@ function! SyntaxCheckers_lisp_clisp_GetLocList() dict \ '%Z %m,' . \ '%-G%.%#' - return SyntasticMake({ + let loclist = SyntasticMake({ \ 'makeprg': makeprg, \ 'errorformat': errorformat, \ 'defaults': {'bufnr': bufnr('')} }) + + call syntastic#util#rmrf(tmpdir) + + return loclist endfunction call g:SyntasticRegistry.CreateAndRegisterChecker({