diff options
author | axel <axel@liljencrantz.se> | 2006-06-13 02:48:54 +1000 |
---|---|---|
committer | axel <axel@liljencrantz.se> | 2006-06-13 02:48:54 +1000 |
commit | f46145a6b3f3bbab9328280cb1a6310d85f866c4 (patch) | |
tree | 4e3650d29e22e9e7c4111c2d43fcfcb289f4b68e | |
parent | c61f6ceea669cccd760390fa80e6a1591a66b307 (diff) |
Do not change status when the 'return' builtin is called with no argument
darcs-hash:20060612164854-ac50b-5f428c819e8dafb44b591150d1965c5158854781.gz
-rw-r--r-- | builtin.c | 2 | ||||
-rw-r--r-- | doc_src/return.txt | 18 |
2 files changed, 11 insertions, 9 deletions
@@ -2623,7 +2623,7 @@ static int builtin_break_continue( wchar_t **argv ) static int builtin_return( wchar_t **argv ) { int argc = builtin_count_args( argv ); - int status = 0; + int status = proc_get_last_status(); block_t *b = current_block; diff --git a/doc_src/return.txt b/doc_src/return.txt index 005ca360..a3c97809 100644 --- a/doc_src/return.txt +++ b/doc_src/return.txt @@ -2,16 +2,18 @@ \section return return - Stop the innermost currently evaluated function \subsection return-synopsis Synopsis - <tt>function NAME; [COMMANDS...] break [STATUS]; [COMMANDS...] end</tt> + <tt>function NAME; [COMMANDS...] return [STATUS]; [COMMANDS...] end</tt> -\subsection return-description Description The \c return builtin is -used to halt a currently running function. It is usually added inside -of a conditional block such as an <a href="#if">if</a> statement or a -<a href="#switch">switch</a> statement to conditionally stop the -executing function and return to the caller, but it can also be used -to specify the exit status of a function. +\subsection return-description Description -- \c STATUS is the return status of the function. If unspecified, the status is set to 0. +The \c return builtin is used to halt a currently running function. It +is usually added inside of a conditional block such as an <a +href="#if">if</a> statement or a <a href="#switch">switch</a> +statement to conditionally stop the executing function and return to +the caller, but it can also be used to specify the exit status of a +function. + +- \c STATUS is the return status of the function. If unspecified, the status is unchanged. \subsection return-example Example The following code is an implementation of the false command as a fish function |