scrooloose/syntastic — pull request #815 by arecarn (2013-10-10 06:24:44+00:00)
Title: Set noshellslash before performing shellescape()

On my end this solves Issue #814 (Errors when using python/python syntax checker). After looking in Vim's help it seems `shellescape()` effectively does nothing when `shellslash` is set.

>shellescape({string} [, {special}])	*shellescape()*

>Escape {string} for use as a shell command argument.
On MS-Windows and MS-DOS, when 'shellslash' is not set, it
will enclose {string} in double quotes and double all double
quotes within {string}.

Since issue #814 and the effects of `shellescape` are windows only, I don't think this would effect other systems. I also don't think people depend on `shellescape()` doing nothing when `shellslash` is set on windows.

This code basically saves the state of the `shellslash` option before setting `noshellslash`. Then it performs the `shellescape().` Finally it restores the old state of `shellslash`.