Module Name: src Committed By: kre Date: Mon Nov 26 13:47:39 UTC 2018
Modified Files: src/bin/sh: eval.c Log Message: Make it be that an empty command is treated as a regular builtin for the purposes of any redirects it might have -- ie: as posix requires, make the redirects appear to have been executed in a subshell environment, so if one fails, aside from a diagnositc msg, all the running script sees is a command that failed ($? != 0), rather that having the shell exit which used to happen (the empty command was being treated as a special builtin). Continue to treat the empty command as special for the purposes of var assigns it might contain (those are not executed in a sub-shell and persist) - an error there (eg: assigning to a readonly var) will continue to cause the shell (non-interactive shell) to exit. This makes the NetBSD shell behave like all other (reasonably modern) shells - fix method (not the implementation, details differ) taken from FreeBSD who fixed this back in early 2010. Problem pointed out in (non-list) mail by Martijn Dekker. To generate a diff of this commit: cvs rdiff -u -r1.163 -r1.164 src/bin/sh/eval.c Please note that diffs are not public domain; they are subject to the copyright notices on the relevant files.