share/config: Erase on_interactive before doing __fish_config_interactive

This removes a possibility of an infinite loop where something in
__fish_config_interactive triggers a fish_prompt or fish_read event,
which calls __fish_on_interactive which calls
__fish_config_interactive again, ...

Fixes #9564
This commit is contained in:
Fabian Boehm 2023-02-11 14:15:44 +01:00
parent 24fb7ff67c
commit 7ac2fe2bd3

View File

@ -141,8 +141,10 @@ end
# This handler removes itself after it is first called.
#
function __fish_on_interactive --on-event fish_prompt --on-event fish_read
__fish_config_interactive
# We erase this *first* so it can't be called again,
# e.g. if fish_greeting calls "read".
functions -e __fish_on_interactive
__fish_config_interactive
end
# Set the locale if it isn't explicitly set. Allowing the lack of locale env vars to imply the