freebsd-dev/tools
Jilles Tjoelker 45496405c6 sh: Allow EV_EXIT through function calls, make {...} <redir more consistent.
If EV_EXIT causes an exit, use the exception mechanism to unwind
redirections and local variables. This way, if the final command is a
redirected command, an EXIT trap now executes without the redirections.

Because of these changes, EV_EXIT can now be inherited by the body of a
function, so do so. This means that a function no longer prevents a fork
before an exec being skipped, such as in
  f() { head -1 /etc/passwd; }; echo $(f)

Wrapping a single builtin in a function may still cause an otherwise
unnecessary fork with command substitution, however.

An exit command or -e failure still invokes the EXIT trap with the
original redirections and local variables in place.

Note: this depends on SHELLPROC being gone. A SHELLPROC depended on
keeping the redirections and local variables and only cleaning up the
state to restore them.
2011-04-23 22:28:56 +00:00
..
build Regenerate after r220401. It turns out makeman is clever about implied 2011-04-06 20:19:07 +00:00
debugscripts Fix a couple of typos. 2010-07-30 11:58:18 +00:00
diag Start the dreaded NOFOO -> NO_FOO conversion. 2004-12-21 08:47:35 +00:00
kerneldoc - Update config to doxygen 1.5.2 (I use this with 1.5.9). 2009-08-24 13:10:55 +00:00
KSE Use, in uncovered part, the END() macro in order to improve debugging. 2009-05-25 14:37:10 +00:00
LibraryReport
regression sh: Allow EV_EXIT through function calls, make {...} <redir more consistent. 2011-04-23 22:28:56 +00:00
sched - Update my copyright. 2009-01-22 06:21:30 +00:00
test Fix warnings and style(9) issues. 2011-03-11 17:33:31 +00:00
tools Generate opt_ah.h now for all ath tools, a recent HAL change of mine 2011-04-11 06:53:45 +00:00
install.sh Teach tools/install.sh the -d directory mode. 2011-02-22 08:07:17 +00:00
make_libdeps.sh Actualize. 2010-01-25 14:17:36 +00:00
README

$FreeBSD$

This directory tree contains tools used for the maintenance and
testing of FreeBSD.  There is no toplevel Makefile structure since
these tools are not meant to be built as part of the standard system,
though there may be individual Makefiles in some of the subdirs.

Please read the README files in the subdirs for further information.