From 6a0d19229df6ed02addbeff176514a48497a34bb Mon Sep 17 00:00:00 2001 From: Luki446 Date: Sat, 11 Nov 2023 22:32:08 +0100 Subject: [PATCH] fix(terminal): make backslashes in 'shell' work on Windows If backslashes are used in 'shell' option, escape them to make Terminal mode work. --- src/nvim/ex_docmd.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/nvim/ex_docmd.c b/src/nvim/ex_docmd.c index f4200c0bcf..fe1910b51a 100644 --- a/src/nvim/ex_docmd.c +++ b/src/nvim/ex_docmd.c @@ -7296,7 +7296,9 @@ static void ex_terminal(exarg_T *eap) char shell_argv[512] = { 0 }; while (*p != NULL) { - snprintf(tempstring, sizeof(tempstring), ",\"%s\"", *p); + char *escaped = vim_strsave_escaped(*p, "\"\\"); + snprintf(tempstring, sizeof(tempstring), ",\"%s\"", escaped); + xfree(escaped); xstrlcat(shell_argv, tempstring, sizeof(shell_argv)); p++; }