Revert "Fix #1186 - Use -w by default for Perl, which does not execute code"

This reverts commit f5fc746d00.
This commit is contained in:
w0rp 2017-12-02 20:38:28 +00:00
parent 2bd966c5cc
commit acd1260339
3 changed files with 7 additions and 45 deletions

View File

@ -1,15 +1,18 @@
" Author: Vincent Lequertier <https://github.com/SkySymbol>
" Description: This file adds support for checking perl syntax
call ale#Set('perl_perl_executable', 'perl')
call ale#Set('perl_perl_options', '-w -Mwarnings -Ilib')
let g:ale_perl_perl_executable =
\ get(g:, 'ale_perl_perl_executable', 'perl')
let g:ale_perl_perl_options =
\ get(g:, 'ale_perl_perl_options', '-c -Mwarnings -Ilib')
function! ale_linters#perl#perl#GetExecutable(buffer) abort
return ale#Var(a:buffer, 'perl_perl_executable')
endfunction
function! ale_linters#perl#perl#GetCommand(buffer) abort
return ale#Escape(ale_linters#perl#perl#GetExecutable(a:buffer))
return ale_linters#perl#perl#GetExecutable(a:buffer)
\ . ' ' . ale#Var(a:buffer, 'perl_perl_options')
\ . ' %t'
endfunction

View File

@ -16,15 +16,11 @@ g:ale_perl_perl_executable *g:ale_perl_perl_executable*
g:ale_perl_perl_options *g:ale_perl_perl_options*
*b:ale_perl_perl_options*
Type: |String|
Default: `'-w -Mwarnings -Ilib'`
Default: `'-c -Mwarnings -Ilib'`
This variable can be changed to alter the command-line arguments to the perl
invocation.
Perl code is checked with `-w` by default, because `-c` can execute
malicious code. You can use the `-c` option at your own risk. See
|g:ale_pattern_options| for changing the option only for specific files.
===============================================================================
perlcritic *ale-perl-perlcritic*

View File

@ -1,37 +0,0 @@
Before:
Save g:ale_perl_perl_executable
Save g:ale_perl_perl_options
unlet! g:ale_perl_perl_executable
unlet! g:ale_perl_perl_options
runtime ale_linters/perl/perl.vim
After:
Restore
unlet! b:ale_perl_perl_executable
unlet! b:ale_perl_perl_options
call ale#linter#Reset()
Execute(The default Perl command callback should be correct):
AssertEqual
\ 'perl',
\ ale_linters#perl#perl#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('perl') . ' -w -Mwarnings -Ilib %t',
\ ale_linters#perl#perl#GetCommand(bufnr(''))
Execute(Overriding the executable and command should work):
let b:ale_perl_perl_executable = 'foobar'
let b:ale_perl_perl_options = '-c'
AssertEqual
\ 'foobar',
\ ale_linters#perl#perl#GetExecutable(bufnr(''))
AssertEqual
\ ale#Escape('foobar') . ' -c %t',
\ ale_linters#perl#perl#GetCommand(bufnr(''))