fisher: Broken for fish 2.7.0

After update fish shell to latest version 2.7.0 I noticed the fisher command stop working.

This happens in 10 different servers running Centos 7 and 2 machine under Ubuntu 16.04

❯ fisher up
fish: argparse: command not found...
/usr/share/fish/functions/math.fish (line 7): 
    argparse -n math --stop-nonopt --min-args=1 $options -- $argv
    ^
in function “math”
	called on line 2062 of file ~/.config/fish/functions/fisher.fish
	with parameter list “1511450765784 - 0”

in function “__fisher_get_epoch_in_ms”
	called on line 17 of file ~/.config/fish/functions/fisher.fish

in command substitution
	called on line 15 of file ~/.config/fish/functions/fisher.fish

in function “fisher”
	called on standard input
	with parameter list “up”

fish: argparse: command not found...
/usr/share/fish/functions/isatty.fish (line 2): 
    argparse -n isatty $options -- $argv
    ^
in function “isatty”
	called on line 279 of file ~/.config/fish/functions/fisher.fish

in function “fisher”
	called on standard input
	with parameter list “up”

About this issue

  • Original URL
  • State: closed
  • Created 7 years ago
  • Comments: 18 (7 by maintainers)

Most upvoted comments

Hi @faho, do you know if isatty changed or what may be the cause of this error?

isatty now uses the new argparse builtin to parse its arguments - it’s basically our answer to getopt. A number of functions have been changed to use it.

This looks like the old fish (2.6.0?) is picking up the new functions.

@agarzon, @askl56: This should just solve itself once you close the old sessions or e.g. exec fish.

@Markcial thanks for pointing that out, after reinstalling fish 2.7.1 (stable via homebrew) fisher now works again.

Confirmed working on 2.7.1 (stable)

Fish 2.7.1-1096-ga9e9af5c is a nightly build

I’m running fish 2.7.1 with fisherman 2.13.2 without issues.

Well, I have to mention that I did nothing, and suddenly fisher is working back in all servers, no update, command or logout was executed.