freebsd-nq/bin/sh
Jilles Tjoelker 4dc6bdd3e7 sh: Expand here documents in the current process.
Expand here documents at the same point other redirections are expanded but
use a non-fork subshell environment (like simple command substitutions) for
compatibility. Substitition errors result in an empty here document like
before.

As a result, a fork is avoided for short (<4K) expanded here documents.

Unexpanded here documents (with quoted end marker after <<) are not affected
by this change. They already only forked when >4K.

Side effects:
* Order of expansion is slightly different.
* Slow expansions are not executed in parallel with the redirected command.
* A non-fork subshell environment is subtly different from a forked process.
2013-02-03 15:54:57 +00:00
..
bltin
funcs sh: Remove "kill" example function, which is superseded by the kill builtin 2012-01-21 20:39:17 +00:00
alias.c sh: Fix two issues when an alias is redefined: 2012-11-08 13:33:48 +00:00
alias.h
arith_yacc.c Add prototypes, ANSIfy functions definitions to reduce WARNS=6 output. 2012-01-25 08:42:19 +00:00
arith_yacc.h
arith_yylex.c Add prototypes, ANSIfy functions definitions to reduce WARNS=6 output. 2012-01-25 08:42:19 +00:00
arith.h
builtins.def
cd.c sh: Prefer internal nextopt() to libc getopt(). 2012-09-15 21:56:30 +00:00
cd.h
error.c
error.h
eval.c sh: Expand here documents in the current process. 2013-02-03 15:54:57 +00:00
eval.h sh: Fix execution of multiple statements in a trap when evalskip is set 2012-01-16 11:07:46 +00:00
exec.c sh: Simplify cd-hash interaction. 2013-01-14 16:40:50 +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: Expand here documents in the current process. 2013-02-03 15:54:57 +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
init.h sh: Remove mkinit's initialization routine. 2013-01-20 12:44:50 +00:00
input.c sh: Replace an mkinit use with an initialization. 2013-01-19 22:12:08 +00:00
input.h sh: Remove an unused variable. 2012-11-14 14:08:24 +00:00
jobs.c sh: Show negated commands (!) in jobs output. 2013-01-31 21:50:44 +00:00
jobs.h sh: Remove unused variable in_dowait. 2012-07-15 10:49:16 +00:00
mail.c
mail.h
main.c sh: Remove mkinit's initialization routine. 2013-01-20 12:44:50 +00:00
main.h sh: Make various functions static. 2012-01-01 22:17:12 +00:00
Makefile Work better with how make/bmake works: 2012-05-24 19:48:15 +00:00
memalloc.c
memalloc.h
miscbltin.c sh: Prefer our character classification functions to <ctype.h>. 2013-01-31 22:10:57 +00:00
mkbuiltins Work better with how make/bmake works: 2012-05-24 19:48:15 +00:00
mkinit.c sh: Remove mkinit's initialization routine. 2013-01-20 12:44:50 +00:00
mknodes.c
mksyntax.c sh: Prefer our character classification functions to <ctype.h>. 2013-01-31 22:10:57 +00:00
mktokens
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
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
output.c sh: Detect and flag write errors on stdout in builtins. 2012-12-12 22:01:10 +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: Fix crash when parsing '{ } &'. 2013-01-13 19:26:33 +00:00
parser.h
redir.c sh: Expand here documents in the current process. 2013-02-03 15:54:57 +00:00
redir.h
sh.1 Add FILES section. 2013-01-22 18:02:58 +00:00
shell.h
show.c
show.h
TOUR sh: Remove mkinit's initialization routine. 2013-01-20 12:44:50 +00:00
trap.c sh: Fix EINTR race condition in "wait" and "set -T" using sigsuspend(). 2012-07-29 18:04:38 +00:00
trap.h sh: Fix EINTR race condition in "wait" and "set -T" using sigsuspend(). 2012-07-29 18:04:38 +00:00
var.c sh: Remove mkinit's initialization routine. 2013-01-20 12:44:50 +00:00
var.h sh: Use vfork in a few common cases. 2012-02-04 23:12:14 +00:00