Update stderr redirection for new Fish shell versions

Use of '^' character to redirect stderr has been deprecated starting
Fish version 3.1. It now produces an error. Stderr should be redirected
with '2>' like on SH shells. Hopefully '2>' redirection is also
supported on old Fish versions (all version 2 support it).

Fixes #325
This commit is contained in:
Xavier Delaruelle
2020-03-18 22:02:56 +01:00
parent 05451a831f
commit 711c90104f
3 changed files with 6 additions and 6 deletions

View File

@@ -54,7 +54,7 @@ function __fish_module_use_config --description 'Test if module command should h
return 1
end
complete -c module -n '__fish_module_use_avail' -f -a "(module avail --color=never -s -t -S --no-indepth (commandline -ct) ^&1 | sed '\
complete -c module -n '__fish_module_use_avail' -f -a "(module avail --color=never -s -t -S --no-indepth (commandline -ct) 2>&1 | sed '\
/^-\+/d; /^\s*\$/d; \
/->.*\$/d; \
/:\$/d; \
@@ -62,12 +62,12 @@ complete -c module -n '__fish_module_use_avail' -f -a "(module avail --color=nev
s#^\(.*\)/\(.\+\)(.*default.*)#\1\n\1\/\2#; \
s#(.*)\$##g; \
s#\s*\$##g;')"
complete -c module -n '__fish_module_use_list' -f -a "(module list --color=never -s -t ^&1 | sed '\
complete -c module -n '__fish_module_use_list' -f -a "(module list --color=never -s -t 2>&1 | sed '\
/No Modulefiles Currently Loaded\.\$/d; \
/Currently Loaded Modulefiles:\$/d;')"
complete -c module -n '__fish_module_use_initlist' -f -a "(module initlist --color=never -s ^&1 | sed '\
complete -c module -n '__fish_module_use_initlist' -f -a "(module initlist --color=never -s 2>&1 | sed '\
/ loads modules:\$/d;')"
complete -c module -n '__fish_module_use_savelist' -f -a "(module savelist --color=never -s -t ^&1 | sed '\
complete -c module -n '__fish_module_use_savelist' -f -a "(module savelist --color=never -s -t 2>&1 | sed '\
/No named collection\.\$/d; \
/Named collection list\$/d; \
/:\$/d; \

View File

@@ -5935,7 +5935,7 @@ ml() { module ml "$@"; };}
if {[isStderrTty]} {
append fdef {end
function module
_module_raw $argv ^&1
_module_raw $argv 2>&1
end}
} else {
append fdef end

View File

@@ -199,7 +199,7 @@ set func_modcmd_zsh "\\s*eval `$tclshlocre $modulecmd_pathre zsh \"\\$\\@\"`;"
if {$is_stderr_tty} {
set func_name "_module_raw"
set add_func_sh "\nmodule\\\(\\\) { _module_raw \"\\\$\\\@\" 2>&1; };"
set add_func_fish "\nfunction module\n\\s*_module_raw \\\$argv \\\^&1\nend"
set add_func_fish "\nfunction module\n\\s*_module_raw \\\$argv 2>&1\nend"
} else {
set func_name "module"
set add_func_sh ""