mirror of
https://github.com/neovim/neovim.git
synced 2025-09-26 21:18:34 +00:00
vim-patch:8.0.0625: shellescape() always escapes a newline (#8573)
Problem: shellescape() always escapes a newline, which does not work with
some shells. (Harm te Hennepe)
Solution: Only escape a newline when the "special" argument is non-zero.
(Christian Brabandt, closes vim/vim#1590)
206155280d
This commit is contained in:

committed by
Justin M. Keyes

parent
b006771cba
commit
367343ae6e
@@ -15066,9 +15066,10 @@ static void f_sha256(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||
*/
|
||||
static void f_shellescape(typval_T *argvars, typval_T *rettv, FunPtr fptr)
|
||||
{
|
||||
const bool do_special = non_zero_arg(&argvars[1]);
|
||||
|
||||
rettv->vval.v_string = vim_strsave_shellescape(
|
||||
(const char_u *)tv_get_string(&argvars[0]), non_zero_arg(&argvars[1]),
|
||||
true);
|
||||
(const char_u *)tv_get_string(&argvars[0]), do_special, do_special);
|
||||
rettv->v_type = VAR_STRING;
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user