Fish shell sets locale that does not exist

Upon installing fish from Entware you’ll get the following file in /storage/.opt/etc/fish/config.fish. Among other things it sets these two variables:

LANG to en_US.UTF-8
LC_ALL to same value

The issue is that these locales are not present on the system:

# locale -a
C
POSIX

That means that programs like vim cannot work correctly with UTF-8 encoded files correctly when invoked inside fish session. Could you please patch this?

A quick workaround is to set those variables manually:

set -x LANG C.UTF-8
set -x LC_ALL C.UTF-8

There is locale kodi addon if this helps.

Will test it and report back, but even if it works then it should be set as a dependency.

This is not general distro and not everything applies. Manual work is easy to handle.

Thank you, in any case: locale addon is a nice thing if you want to have extra locales on your system. By default it installs and enables en_GB. Strangely enough fish seems to ignore it and one has to execute set commands in .config/fish/config.fish to make this work.

This topic was automatically closed 91 days after the last reply. New replies are no longer allowed.