docs: Improve autoloading/event documentation

The thing that says "event handlers can't be autoloaded, put it in config.fish". I make good words.
This commit is contained in:
Fabian Homborg 2015-09-11 11:31:04 +02:00
parent b8d9ba993d
commit 2c648c80c8
2 changed files with 3 additions and 3 deletions

View file

@ -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 <a href="index.html#event">event handlers</a> until they are run or sourced otherwise. To activate an event handler for every new shell, add the function to your <a href="index.html#initialization">shell initialization file</a> instead of using `funcsave`.

View file

@ -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 <a href=#event>event handlers</a>, 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 <a href=#event>event handlers</a>, 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 <a href='commands.html#source'>source</a> a function's file instead of relying on <a href=#syntax-function-autoloading>autoloading</a>.
Please note that event handlers only become active when a function is loaded, which means you might need to otherwise <a href='commands.html#source'>source</a> or execute a function instead of relying on <a href=#syntax-function-autoloading>autoloading</a>. One approach is to put it into your <a href="index.html#initialization">initialization file</a>.
For more information on how to define new event handlers, see the documentation for the <a href='commands.html#function'>function</a> command.