freebsd-dev/bin/sh
Jilles Tjoelker 2935c4cc5e sh: Make return return from the closest function or dot script.
Formerly, return always returned from a function if it was called from a
function, even if there was a closer dot script. This was for compatibility
with the Bourne shell which only allowed returning from functions.

Other modern shells and POSIX return from the function or the dot script,
whichever is closest.

Git 1.8.4's rebase --continue depends on the POSIX behaviour.

Reported by:	Christoph Mallon, avg
2013-09-04 22:10:16 +00:00
..
bltin sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
funcs sh: Remove "kill" example function, which is superseded by the kill builtin 2012-01-21 20:39:17 +00:00
alias.c sh: Recognize "--" as end of options in alias builtin. 2013-08-25 11:42:53 +00:00
alias.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
arith_yacc.c Add prototypes, ANSIfy functions definitions to reduce WARNS=6 output. 2012-01-25 08:42:19 +00:00
arith_yacc.h sh: Import arithmetic expression code from dash. 2011-02-08 23:18:06 +00:00
arith_yylex.c sh: Reject ++ and -- in arithmetic. 2013-08-24 20:06:00 +00:00
arith.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
builtins.def sh: Remove the "exp" builtin. 2011-05-27 20:53:07 +00:00
cd.c sh: Prefer internal nextopt() to libc getopt(). 2012-09-15 21:56:30 +00:00
cd.h sh: Fix duplicate prototypes for builtins. 2011-06-13 21:03:27 +00:00
error.c sh: Add a function to print warnings (with command name and newline). 2010-12-21 20:47:06 +00:00
error.h sh: Allow EV_EXIT through function calls, make {...} <redir more consistent. 2011-04-23 22:28:56 +00:00
eval.c sh: Make return return from the closest function or dot script. 2013-09-04 22:10:16 +00:00
eval.h sh: Make return return from the closest function or dot script. 2013-09-04 22:10:16 +00:00
exec.c sh: Recognize "--" as end of options in type builtin. 2013-08-30 12:09:59 +00:00
exec.h sh: Expand assignment-like words specially for export/readonly/local. 2012-07-15 10:19:43 +00:00
expand.c sh: Fix various compiler warnings. 2013-04-01 17:18:22 +00:00
expand.h sh: Expand here documents in the current process. 2013-02-03 15:54:57 +00:00
histedit.c sh: Prefer internal nextopt() to libc getopt(). 2012-09-15 21:56:30 +00:00
input.c sh: Remove #define MKINIT. 2013-07-25 19:48:15 +00:00
input.h sh: Remove mkinit. 2013-07-25 15:08:41 +00:00
jobs.c sh: Fix race condition with signals and wait or set -T. 2013-09-02 21:57:46 +00:00
jobs.h sh: Fix race condition with signals and wait or set -T. 2013-09-02 21:57:46 +00:00
mail.c Consistently use "STATIC" for all functions in order to be able to set 2010-10-13 04:01:01 +00:00
mail.h
main.c sh: Make return return from the closest function or dot script. 2013-09-04 22:10:16 +00:00
main.h sh: Make various functions static. 2012-01-01 22:17:12 +00:00
Makefile sh: Remove mkinit. 2013-07-25 15:08:41 +00:00
memalloc.c sh: Remove linked list of stack marks. 2013-05-11 20:51:00 +00:00
memalloc.h sh: Remove linked list of stack marks. 2013-05-11 20:51:00 +00:00
miscbltin.c sh: Improve error handling in read builtin: 2013-05-03 15:28:31 +00:00
mkbuiltins Work better with how make/bmake works: 2012-05-24 19:48:15 +00:00
mknodes.c sh: Fix crash with empty functions (f() { }) introduced in r196483 2009-08-28 22:41:25 +00:00
mksyntax.c sh: Simplify mksyntax and make it fit for cross-compiling. 2013-02-07 22:42:33 +00:00
mktokens sh: Add case statement fallthrough (with ';&' instead of ';;'). 2011-06-17 13:03:49 +00:00
myhistedit.h sh: Make various functions static. 2012-01-01 22:17:12 +00:00
mystring.c sh: Remove unused function scopyn(). 2012-01-01 22:15:38 +00:00
mystring.h sh: Remove unused function scopyn(). 2012-01-01 22:15:38 +00:00
nodes.c.pat sh: Add const to nodesavestr(). 2013-04-07 16:28:36 +00:00
nodetypes sh: Expand here documents in the current process. 2013-02-03 15:54:57 +00:00
options.c sh: Remove XXX comment about removing nextopt(). 2012-09-08 19:24:03 +00:00
options.h sh: Add do-nothing -h option. 2011-06-18 23:43:28 +00:00
output.c sh: Remove output.c's reset() handler. 2013-07-25 13:09:17 +00:00
output.h sh: Detect and flag write errors on stdout in builtins. 2012-12-12 22:01:10 +00:00
parser.c sh: Simplify list() in the parser. 2013-08-30 20:50:28 +00:00
parser.h sh: Cast -1 to pointer rather than pointer to variable of wrong type. 2013-08-30 10:45:02 +00:00
redir.c sh: Remove unnecessary reset functions. 2013-08-16 20:24:41 +00:00
redir.h sh: Remove unnecessary reset functions. 2013-08-16 20:24:41 +00:00
sh.1 sh: Make return return from the closest function or dot script. 2013-09-04 22:10:16 +00:00
shell.h sh: Remove #define MKINIT. 2013-07-25 19:48:15 +00:00
show.c In the spirit of r90111, depend on c89 and remove the "STATIC" macro 2010-10-13 22:18:03 +00:00
show.h sh: Constify various strings. 2009-12-24 18:41:14 +00:00
TOUR sh: Remove mkinit. 2013-07-25 15:08:41 +00:00
trap.c sh: Fix race condition with signals and wait or set -T. 2013-09-02 21:57:46 +00:00
trap.h sh: Fix race condition with signals and wait or set -T. 2013-09-02 21:57:46 +00:00
var.c sh: Recognize "--" as end of options in local builtin. 2013-08-14 21:59:48 +00:00
var.h sh: Use vfork in a few common cases. 2012-02-04 23:12:14 +00:00