fish version installed (fish --version):
fish, version 2.5.0-180-g0a929f7a-dirty
OS/terminal used:
FreeBSD 12.0, QTerminal
Commit f70b1ff simplified the Python completion code, but it introduced a new bug. On a system with a symlink from python to either python2 or python3, python.fish will use the completions for the default interpreter, regardless of which interpreter is invoked. The problem is that, unlike in the old code, the new python2.fish and python3.fish files don't pass the executable name to python.fish.
Reproduction steps
- Ensure that /usr/local/bin/python points to /usr/local/bin/python2
- Type "python3 -" and press tab
- Among the suggestions should be "-q", "-X", "-b", and "-bb". But none of those will be there. Instead you'll see "-3", "-t", and "-Q"
sh -c 'env HOME=$(mktemp -d) fish')?fish version installed (
fish --version):fish, version 2.5.0-180-g0a929f7a-dirty
OS/terminal used:
FreeBSD 12.0, QTerminal
Commit f70b1ff simplified the Python completion code, but it introduced a new bug. On a system with a symlink from
pythonto eitherpython2orpython3,python.fishwill use the completions for the default interpreter, regardless of which interpreter is invoked. The problem is that, unlike in the old code, the new python2.fish and python3.fish files don't pass the executable name to python.fish.Reproduction steps