From 822203d7b07c57a01100fb758c05815e27b1f995 Mon Sep 17 00:00:00 2001 From: Fabian Boehm Date: Sat, 11 Feb 2023 14:15:44 +0100 Subject: [PATCH] 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 (cherry picked from commit 7ac2fe2bd3401d57cd980fa0706ed4c7a2116746) --- share/config.fish | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/share/config.fish b/share/config.fish index 7060fa08b..d85fd1e18 100644 --- a/share/config.fish +++ b/share/config.fish @@ -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