fish-shell/fish-shell — pull request #854 by ppuryear (2013-06-04 01:08:36+00:00)
Title: Resolve symlinks before adding /bin and /usr/bin in setup_path().

This avoids appending either /bin or /usr/bin to the PATH if PATH
already contains a symlink to either of these directories.

Some Linux distributions (e.g. Arch) now ship /bin as a symlink to /usr/bin and omit /bin from the system default PATH. However, fish insists on having /bin in the PATH and adds it on startup if it's missing (see setup_path in env.cpp). This patch reworks setup_path to that it doesn't add any redundant directories.

This should solve issue #852.

Note: I'm not very familiar with this codebase, so please feel free to critique my approach here.