mirror of
https://github.com/fish-shell/fish-shell
synced 2024-12-29 06:13:20 +00:00
d1be300ac7
Previously, elements already existing in the path variable would keep their position when the path was being constructed from the config files. This caused issues given that $PATH typically already contains "/usr/bin:/bin" when fish initializes within a macOS terminal app. In this case, these would keep their position at the front of the $PATH, even though the system path_helper configs explicitly place them _after_ other paths, like "/usr/local/bin". This would render binaries in "/usr/local/bin" as effectively "invisible" if they also happen to live in "/usr/bin" as well. This is not the intended This change makes the __fish_macos_set_env config function emulate the macOS standard path_helper behavior more faithfully, with: 1. The path list being constructed *from scratch* based on the paths specified in the config files 2. Any distinct entries in the exist path environment variable being appended to this list 3. And then this list being used to *replace* the existing path environment variable The result, for a vanilla fish shell on macOS, is that the $PATH is now set to: /usr/local/bin /usr/local/sbin /usr/bin /bin /usr/sbin /sbin Where previously it was set to: /usr/bin /bin /usr/local/bin /usr/sbin /sbin This new $PATH exactly matches the order of paths specified in `/etc/paths`. |
||
---|---|---|
.. | ||
completions | ||
functions | ||
groff | ||
tools | ||
__fish_build_paths.fish.in | ||
config.fish | ||
lynx.lss |