google/purr

Fedora 38 - fzf Commands Fail On Incompatible SHELL Env Variable

mochaaP opened this issue · 5 comments

Expected Behavior

Logs to show and binding are working.

Actual Behavior

Logs didn't show up and the display is broken (see that ANSI escape sequence?):

image

Bindings also does nothing.

Steps to Reproduce the Problem

  1. adb devices to confirm the device is connected
  2. adb logcat to check if logcat is working
  3. purr and reproduce

Reproduction on other distros are being investigated.

Specifications

  • Version: 1.0.4
  • Platform:
    • OS: Fedora Linux 38
    • fzf: 0.40.0 (bundled)
    • zsh: 5.9-5.fc38
    • adb: 1.0.41
    • sed: 4.8
    • grep: 3.8
    • coreutils: 9.1

Tested on clean Arch Linux container. fzf uses SHELL env variable to call shell for commands, causing errors if using incompatible shells (if zsh is not login shell). Quick one-line fix available. Hope this helps :)

Ruh roh. Thanks for the in-depth reporting and isolating the issue.

I'll see if I can isolate the commands and manually set the SHELL variable. I'll probably have to demand that the user has some sort of login shell available, but I already demand zsh, so that shouldn't be an issue.

Should be fixed now. Tested by setting SHELL to /usr/bin/bash, which seemed to replicate the issue without the commit, and doesn't repro with the commit.

@mochaaP Would you mind double-checking this fix on other distros? Thanks!

Confirmed to work. Thanks!