From 6432f00f0d026c61f683c83ded4d2e15317e927e Mon Sep 17 00:00:00 2001 From: Junegunn Choi Date: Tue, 14 May 2024 01:30:36 +0900 Subject: [PATCH] 0.52.1 --- CHANGELOG.md | 5 +++++ install | 2 +- install.ps1 | 2 +- man/man1/fzf-tmux.1 | 2 +- man/man1/fzf.1 | 2 +- plugin/fzf.vim | 2 +- src/util/util_windows.go | 7 ++++++- 7 files changed, 16 insertions(+), 6 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 4f6d2602587..8a094afe7a7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,11 @@ CHANGELOG ========= +0.52.1 +------ +- Fixed a critical bug in the Windows version + - Windows users are strongly encouraged to upgrade to this version + 0.52.0 ------ - Added `--highlight-line` to highlight the whole current line (à la `set cursorline` of Vim) diff --git a/install b/install index 1b46d40501d..cadfa6e047a 100755 --- a/install +++ b/install @@ -2,7 +2,7 @@ set -u -version=0.52.0 +version=0.52.1 auto_completion= key_bindings= update_config=2 diff --git a/install.ps1 b/install.ps1 index acd33b05287..090bb5ed899 100644 --- a/install.ps1 +++ b/install.ps1 @@ -1,4 +1,4 @@ -$version="0.52.0" +$version="0.52.1" $fzf_base=Split-Path -Parent $MyInvocation.MyCommand.Definition diff --git a/man/man1/fzf-tmux.1 b/man/man1/fzf-tmux.1 index 15e66aa15c1..11161e483a7 100644 --- a/man/man1/fzf-tmux.1 +++ b/man/man1/fzf-tmux.1 @@ -21,7 +21,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .. -.TH fzf-tmux 1 "May 2024" "fzf 0.52.0" "fzf-tmux - open fzf in tmux split pane" +.TH fzf-tmux 1 "May 2024" "fzf 0.52.1" "fzf-tmux - open fzf in tmux split pane" .SH NAME fzf-tmux - open fzf in tmux split pane diff --git a/man/man1/fzf.1 b/man/man1/fzf.1 index 6102023f591..513ffc3a7a1 100644 --- a/man/man1/fzf.1 +++ b/man/man1/fzf.1 @@ -21,7 +21,7 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. .. -.TH fzf 1 "May 2024" "fzf 0.52.0" "fzf - a command-line fuzzy finder" +.TH fzf 1 "May 2024" "fzf 0.52.1" "fzf - a command-line fuzzy finder" .SH NAME fzf - a command-line fuzzy finder diff --git a/plugin/fzf.vim b/plugin/fzf.vim index ee0e41bb20f..735571cff37 100644 --- a/plugin/fzf.vim +++ b/plugin/fzf.vim @@ -95,7 +95,7 @@ function! s:shellesc_cmd(arg) let e .= c endfor let e .= repeat('\', slashes) .'"' - return e + return substitute(substitute(e, '[&|<>()^!"]', '^&', 'g'), '%', '%%', 'g') endfunction function! fzf#shellescape(arg, ...) diff --git a/src/util/util_windows.go b/src/util/util_windows.go index f29e33be518..3a4ab5704e0 100644 --- a/src/util/util_windows.go +++ b/src/util/util_windows.go @@ -7,6 +7,7 @@ import ( "os" "os/exec" "path/filepath" + "regexp" "strings" "sync/atomic" "syscall" @@ -20,6 +21,8 @@ const ( shellTypePowerShell ) +var escapeRegex = regexp.MustCompile(`[&|<>()^%!"]`) + type Executor struct { shell string shellType shellType @@ -131,7 +134,9 @@ func escapeArg(s string) string { b = append(b, '\\') } b = append(b, '"') - return string(b) + return escapeRegex.ReplaceAllStringFunc(string(b), func(match string) string { + return "^" + match + }) } func (x *Executor) QuoteEntry(entry string) string {