diff --git a/share/functions/fish_config.fish b/share/functions/fish_config.fish index 9b9252eb8..e69189d3f 100644 --- a/share/functions/fish_config.fish +++ b/share/functions/fish_config.fish @@ -130,7 +130,11 @@ function fish_config --description "Launch fish's web based configuration" funcsave fish_prompt or return - funcsave fish_right_prompt 2>/dev/null + if functions -q fish_right_prompt + funcsave fish_right_prompt + else + rm -f $__fish_config_dir/functions/fish_right_prompt.fish + end return end @@ -362,7 +366,8 @@ function __fish_config_prompt_save # if necessary. function fish_prompt end - function fish_right_prompt + if functions -q fish_right_prompt + functions --erase fish_right_prompt end source $argv[1] # N.B We're passed either stdin or argv. end diff --git a/tests/checks/fish_config.fish b/tests/checks/fish_config.fish index 6a5cda0ca..dae04bbec 100644 --- a/tests/checks/fish_config.fish +++ b/tests/checks/fish_config.fish @@ -43,8 +43,7 @@ echo yes | fish_config prompt save nim >/dev/null grep -q nim@Hattori $__fish_config_dir/functions/fish_prompt.fish || echo 'failed to save prompt?' cat $__fish_config_dir/functions/fish_right_prompt.fish -# CHECK: function fish_right_prompt -# CHECK: end +# CHECKERR: cat: {{.*}}/functions/fish_right_prompt.fish: No such file or directory cat $__fish_config_dir/functions/fish_mode_prompt.fish # CHECKERR: cat: {{.*}}/functions/fish_mode_prompt.fish: No such file or directory