Skip to content


Subversion checkout URL

You can clone with
Download ZIP


When changed to 8-bit encoding, fish attempts to use ellipsis. #649

xfix opened this Issue · 2 comments

3 participants

glitchmr@pineapple ~> echo $LANG
glitchmr@pineapple ~> echo ~/.config/fish/
…fig/fish/completions/ …fig/fish/fish_history …fig/fish/fish_read_history …fig/fish/fishd.pineapple …fig/fish/functions/ …fig/fish/generated_completions/
glitchmr@pineapple ~> set LANG pl_PL.ISO-8859-2
glitchmr@pineapple ~> echo ~/.config/fish/
…fig/fish/comp$ …fig/fish/fish$ …fig/fish/fish_read$ …fig/fish/fishd.p$ …fig/fish/fu$ …fig/fish/generated_comp$
glitchmr@pineapple ~>

Paths begin with … that ISO-8859-2 doesn't have, and end with $ cutting last seven characters of name.


I think what's going on is something like this:

  1. Modifying $LANG calls setlocale
  2. setlocale fails. The locale remains pl_PL.UTF-8, which is Unicode, and therefore the ellipsis character is still three dots.
  3. When you tab complete, fish_pager is started. It sees $LANG = pl_PL.ISO-8859-2. The locale is initialized to "C", which is not Unicode

So the crazy …fig/fish/comp$ …fig/fish/fish$ is explained like so: the $ is from fish_pager, which inherited a busted locale. The ellipsis is from fish, which inherited an OK locale, and refused to change it.


With the death of fish_pager, does this still happen?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.