diff --git a/etc/config.fish b/etc/config.fish index 2c4a2251f..0683f40e6 100644 --- a/etc/config.fish +++ b/etc/config.fish @@ -28,8 +28,8 @@ if status --is-login # Put linux consoles in unicode mode. # - if expr "$LANG" : ".*\.[Uu][Tt][Ff].*" >/dev/null - if test "$TERM" = linux + if test "$TERM" = linux + if expr "$LANG" : ".*\.[Uu][Tt][Ff].*" >/dev/null if which unicode_start >/dev/null unicode_start end diff --git a/fish.cpp b/fish.cpp index 3d7c749e1..36dbdb75c 100644 --- a/fish.cpp +++ b/fish.cpp @@ -460,6 +460,9 @@ int main(int argc, char **argv) const io_chain_t empty_ios; if (read_init(paths)) { + /* Stop the exit status of any initialization commands (#635) */ + proc_set_last_status(STATUS_BUILTIN_OK); + /* Run the commands specified as arguments, if any */ if (! cmds.empty()) {