diff --git a/doc_src/funcsave.txt b/doc_src/funcsave.txt index d47ae8e76..32b3f4f31 100644 --- a/doc_src/funcsave.txt +++ b/doc_src/funcsave.txt @@ -9,4 +9,4 @@ funcsave FUNCTION_NAME `funcsave` saves the current definition of a function to a file in the fish configuration directory. This function will be automatically loaded by current and future fish sessions. This can be useful if you have interactively created a new function and wish to save it for later use. -Note that event handlers will not be executed before they are loaded. +Note that because fish loads functions on-demand, saved functions will not function as event handlers until they are run or sourced otherwise. To activate an event handler for every new shell, add the function to your shell initialization file instead of using `funcsave`. diff --git a/doc_src/index.hdr.in b/doc_src/index.hdr.in index 978a98457..b3f0db92c 100644 --- a/doc_src/index.hdr.in +++ b/doc_src/index.hdr.in @@ -251,7 +251,7 @@ The default value for `$fish_function_path` is `~/.config/fish/functions` `/etc/ It is very important that function definition files only contain the definition for the specified function and nothing else. Otherwise, it is possible that autoloading a function files requires that the function already be loaded, which creates a circular dependency. -Autoloading also won't work for event handlers, since fish cannot know that a function is supposed to be executed when an event occurs when it hasn't yet loaded the function. +Autoloading also won't work for event handlers, since fish cannot know that a function is supposed to be executed when an event occurs when it hasn't yet loaded the function. See there for details. \subsubsection syntax-conditional Conditional execution of code and flow control @@ -1115,7 +1115,7 @@ function --on-signal WINCH my_signal_handler end \endfish -Please note that event handlers only become active when a function is loaded which means you might need to manually source a function's file instead of relying on autoloading. +Please note that event handlers only become active when a function is loaded, which means you might need to otherwise source or execute a function instead of relying on autoloading. One approach is to put it into your initialization file. For more information on how to define new event handlers, see the documentation for the function command.