Invoke path_helper on macOS on all sessions, not just login

fish reads paths out of /etc/paths.d. Prior to adbaddf it did
this on every shell invocation; with adbaddf it does so on only login
shells. This change wasn't justified so let's revert this behavior.
This commit is contained in:
ridiculousfish 2018-03-31 12:01:29 -07:00
parent 535617623b
commit c0f832a743

View file

@ -200,11 +200,8 @@ if not set -q __fish_init_2_3_0
set -U __fish_init_2_3_0 set -U __fish_init_2_3_0
end end
# # macOS-ism: Emulate calling path_helper.
# Some things should only be done for login terminals if command -sq /usr/libexec/path_helper
# This used to be in etc/config.fish - keep it here to keep the semantics
#
# Adapt construct_path from the macOS /usr/libexec/path_helper # Adapt construct_path from the macOS /usr/libexec/path_helper
# executable for fish; see # executable for fish; see
# https://opensource.apple.com/source/shell_cmds/shell_cmds-203/path_helper/path_helper.c.auto.html . # https://opensource.apple.com/source/shell_cmds/shell_cmds-203/path_helper/path_helper.c.auto.html .
@ -230,15 +227,20 @@ function __fish_macos_set_env -d "set an environment variable like path_helper d
set -xg $argv[1] $result set -xg $argv[1] $result
end end
if status --is-login
# macOS-ism: Emulate calling path_helper.
if command -sq /usr/libexec/path_helper
__fish_macos_set_env 'PATH' '/etc/paths' '/etc/paths.d' __fish_macos_set_env 'PATH' '/etc/paths' '/etc/paths.d'
if [ -n "$MANPATH" ] if [ -n "$MANPATH" ]
__fish_macos_set_env 'MANPATH' '/etc/manpaths' '/etc/manpaths.d' __fish_macos_set_env 'MANPATH' '/etc/manpaths' '/etc/manpaths.d'
end end
functions -e __fish_macos_set_env
end end
#
# Some things should only be done for login terminals
# This used to be in etc/config.fish - keep it here to keep the semantics
#
if status --is-login
# #
# Put linux consoles in unicode mode. # Put linux consoles in unicode mode.
# #