summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorJunegunn Choi <junegunn.c@gmail.com>2024-05-06 12:07:51 +0900
committerJunegunn Choi <junegunn.c@gmail.com>2024-05-06 13:46:06 +0900
commit5669f48343cac868eb7432950db61c9aa2383ab6 (patch)
tree2e6f2e9de27cc75a4802591e87b4ecc54116dcc9 /src
parent24ff66d4a9d6889988e4d7e373f33f4098870b9e (diff)
Do not enable delayed expansion mode when running cmd.exe
And simplify the argument escaping code. Fix #3764. This may breaks some existing use cases, but the mode causes too much trouble when escaping arguments and it makes some things not possible. # Now you can pass special characters to rg process without any escaping problems: &|<>()@^%! fzf --ansi --disabled --bind "change:reload:rg --column --line-number --no-heading --color=always --smart-case -- {q}" # No sudden expansion of the arguments on '!' fzf --disabled --preview "echo {q} {n} {}" --query "&|<>()@^%!" --prompt "&|<>()@^%!"
Diffstat (limited to 'src')
-rw-r--r--src/util/util_windows.go4
1 files changed, 1 insertions, 3 deletions
diff --git a/src/util/util_windows.go b/src/util/util_windows.go
index 9d51cc97..7bbf6ee7 100644
--- a/src/util/util_windows.go
+++ b/src/util/util_windows.go
@@ -42,7 +42,7 @@ func NewExecutor(withShell string) *Executor {
args = args[1:]
} else if strings.HasPrefix(basename, "cmd") {
shellType = shellTypeCmd
- args = []string{"/v:on/s/c"}
+ args = []string{"/s/c"}
} else if strings.HasPrefix(basename, "pwsh") || strings.HasPrefix(basename, "powershell") {
shellType = shellTypePowerShell
args = []string{"-NoProfile", "-Command"}
@@ -119,8 +119,6 @@ func escapeArg(s string) string {
slashes = 0
case '\\':
slashes++
- case '&', '|', '<', '>', '(', ')', '@', '^', '%', '!':
- b = append(b, '^')
case '"':
for ; slashes > 0; slashes-- {
b = append(b, '\\')