fzf: FZF is broken on Termux with fish shell due to findutils v.4.9.0
Updated my fish on termux after that FZF don’t work, when type ‘fzf’ i get this error
[Command failed: set -o pipefail; command find -L . -mindepth 1 ( -path ‘/.’ -o -fstype ‘sysfs’ -o -fstype ‘devfs’ -o -fstype ‘devtmpfs’ -o -fstype ‘proc’ ) -prune -o -type f -print -o -type l -print 2> /dev/null | cut -b3-]
Edit: updated for correct code without " ".
Edit 2: in later discovery, it was not fish that was the issue, it was findutils 4.9.0
that also got updated in the same time and was the culprit to this error.
After findutils 4.9.0-1
everything works as intended.
About this issue
- Original URL
- State: closed
- Created 2 years ago
- Comments: 26 (3 by maintainers)
FYI: I opened a termux-packages
findutils
issue: termux/termux-packages#9506Sorry, my mistake but yes of course.
hmm. Well, I also run fish (git/ pre-3.5) and don’t run termux, so I suppose I could check that.
At the moment bin/fzf-tmux line 186 looks suspicious:
[[ -n "$FZF_DEFAULT_COMMAND" ]] && envs="$envs FZF_DEFAULT_COMMAND=$(printf %q "$FZF_DEFAULT_COMMAND")"
. I suspect ‘printf %q’ is a bash extension which quotes a string in a way appropriate to the bash shell. I think bash doesn’t interpret ’ ( ', but fish does. Adding somesed s/
to this line to ensure that parentheses are single-quoted might be what is needed.