From 35e282928ade1b46f9faec8d8bd04c6fe66eafcc Mon Sep 17 00:00:00 2001 From: Kurtis Rader Date: Wed, 6 Apr 2016 17:18:06 -0700 Subject: clarify documentation for the `source` command Make it clear that fish 2.3.0 changed how `$argv` is initialized. --- doc_src/source.txt | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) (limited to 'doc_src') diff --git a/doc_src/source.txt b/doc_src/source.txt index dba14045..abb99af5 100644 --- a/doc_src/source.txt +++ b/doc_src/source.txt @@ -7,7 +7,7 @@ source FILENAME [ARGUMENTS...] \subsection source-description Description -`source` evaluates the commands of the specified file in the current shell. This is different from starting a new process to perform the commands (i.e. `fish < FILENAME`) since the commands will be evaluated by the current shell, which means that changes in shell variables will affect the current shell. If additional arguments are specified after the file name, they will be inserted into the $argv variable. +`source` evaluates the commands of the specified file in the current shell. This is different from starting a new process to perform the commands (i.e. `fish < FILENAME`) since the commands will be evaluated by the current shell, which means that changes in shell variables will affect the current shell. If additional arguments are specified after the file name, they will be inserted into the `$argv` variable. The `$argv` variable will not include the name of the sourced file. If no file is specified, or if the file name '`-`' is used, stdin will be read. @@ -22,3 +22,7 @@ The return status of `source` is the return status of the last job to execute. I source ~/.config/fish/config.fish # Causes fish to re-read its initialization file. \endfish + +\subsection Caveats + +In fish versions prior to 2.3.0 the `$argv` variable would have a single element (the name of the sourced file) if no arguments are present. Otherwise it would contain arguments without the name of the sourced file. That behavior was very confusing and unlike other shells such as bash and zsh. -- cgit v1.2.3