sh(1): bring sh from freebsd I used freebsd@19bed3ae2eb256a2c68dabbcb77eff2835d569de. * Write absolute path in command -vV and type * Keep ignored SIGINT/SIGQUIT after set in a background job * print a newline when ^D quits sh * Do not ignore INTOFF during a trap * Fix description of the "\$" sequence for PS1 * Allow more scripts without #! * Fix double INTON with vfork * Assert INTOFF rather than applying it in ck* * Remove remnants to compile out fc completely * Fix a "may be unused" warning on mips-gcc * remove duplicate el definition * fix read builtin on 32-bit systems * Improve performance of "read" built-in command when using a seekable * Fix rare memory leak with SIGINT * Do not use our custom completion function, it is not needed anymore * Add set -o pipefail * Send normal output from bind builtin to stdout * Restore $((x)) error checking after fix for $((-9223372036854775808)) * Make sh(1) support \u in PS1. This removes one fork/exec on interactive * Send libedit "ferr" output to fd 2 * Fix an edge case when parsing large numbers which resulted in inconsistent * Do not place exported but unset variables into the environment * Make sh(1) collapse $HOME into "~" in PS1. * Remove -c string from set builtin documentation * Fix ${param?} default error message * Use 126 and 127 exit status for failures opening a script * Unify EXERROR and EXEXEC * Use exitstatus instead of exerrno to pass EXEXEC status * Fix formal overflow in pointer arithmetic * Describe how to prevent *.core files from being created using ulimit. * Don't treat % specially in CDPATH * Don't use padvance() for MAIL/MAILPATH * Split CNL syntax category to avoid a check on state[level].syntax * Allow unquoted newlines in word in ${param+word} etc. * Don't have [ match any [[:class:]] * Allow overriding VTABSIZE at compile-time. * Refactor job status printing, preparing for -o pipefail and similar * Move various structs from jobs.h to jobs.c * Fix a few speelling errors * Don't leak wait* implementation details from jobs.c * Markup and spelling fixes * Fix mandoc -Tlint warnings in bin/ * General further adoption of SPDX licensing ID tags. * Remove broken #ifdef NOHACK code (related to sh -c). * Ignore error when cd writes the directory actually switched to. * Enable interrupts before executing EXIT trap and doing final flush. * Call fc -e editor with interrupts enabled. * Make sure to process SIGINT if SETINTON re-enables processing. * Allow defining nofork builtins from builtins.def and move always-safe ones there. * Fix INTOFF leak when a redirection on a compound command fails. * Keep output buffer across builtins. * Ensure memout.bufsize matches allocated buffer, if it exists. * Simplify output buffering. * Fix '-' from quoted arithmetic in case/glob pattern range. * Fix INTOFF leak after a builtin with different locale settings. * Update TOUR and comments for some code changes, some of them old. * Simplify handling of newlines in command substitution. * Simplify setinteractive(). * Fix use after free when resetting an in-use alias. * Fix unalias -a while an alias is currently in use. * Reduce size of limits table. * Remove an XXX comment: it is normal for builtins to use argptr. * Remove global state from collate_range_cmp(). * Don't scan word twice in ${param=word}. * Don't scan word twice in ${param#%##%%word}. * Don't scan word twice in ${param+-word}. * Remove unused function declaration for arith_lex_reset(). * Remove unused return value of subevalvar_misc(). * Get rid of global variable argbackq. * Fix executing wrong command with ${unsetvar#$(cmdsubst)}$(cmdsubst). * Fix crash if a -T trap is taken during command substitution. * bin: normalize paths using SRCTOP-relative paths or :H when possible * Remove empty Li * Do not import IFS's value from the environment. * Fix a clang warning. * Path generation was not according to collate * Back out non-collating [a-z] ranges. * After removing collation for [a-z] ranges in r302512, do it here too. * Improve descriptions in 'ulimit -a' output. * Clarify the explanations for the hostname and FQDN entries. * Match the descriptions of the \H and \h prompt string sequences to reality. * Hopefully fix Coverity CID 1008328 (Out-of-bounds write) in /bin/sh. * Handle empty hostname and $PWD when building prompt * Write LINENO value to stack string directly. * Merge the projects/release-pkg branch to head. * Simplify code by removing variable bracketed_name. * replace 0 with NULL for pointers. * Fix use-after-free if a trap replaces itself. * Fix copying uninitialized field 'special'. * Fix handling of umtxp resource limit in sh(1)/ulimit(1), limits(1), add * Avoid out-of-bounds access in setoptionbyindex() for 'set -o nolog'. * Fix some dead stores. * Remove a redundant STPUTC check. * Don't trust that signal descriptions fit within 49 bytes. * Fix set -v and multiline history after r295825. * Don't hash alias name when there are no aliases. * Optimize setprompt(0). * Remove unnecessary flushouts while reading script. * Rework code to remove '\0' from shell input. * Don't allocate a redirtab if there are no redirections. * Document 'cd -'. * Constify internal representation in expand.c. * Remove a global variable from cd.c. * Use OLDPWD shell variable for 'cd -'. * Clean a readonly local, even if the variable does not exist outside. * Simplify some code related to positional parameters. * Update associated state when restoring locals while leaving a function. * Reduce size of options table. * Ensure OPTIND=1 in subshell without forking does not affect outer env. * Reduce size of builtins table. * Remove redundant CTLQUOTEMARK checks. * Reindent expandmeta(). * Perform pathname generation during the first expansion phases. * Perform IFS splitting during the first expansion phases. * Split subevalvar() in #/##/%/%% and =/? parts. * sh/mknodes: Close files and check for errors when writing. * Fix use-after-free when attempting to modify a read-only variable. * Remove global state from nodes.c. * Fix ""$@, which should not use the special case for "$@". * Avoid copying argv for simple commands. * Make struct arglist an array instead of a linked list. * Allow empty << EOF markers. * Fix read with escaped IFS characters at the end. * Add set -o nolog. * Fix out of bounds read when there is no ] after a [:class:]. * Don't create bad parse result when postponing a bad substitution error. * Avoid negative character values from $'\Uffffffff' etc. * Backslash-newline should not affect field splitting in read builtin. * When setting option via long name, don't go via letter. * libedit has supported multibyte encodings for a while. * Fix some arithmetic undefined behaviour. Taken-from: FreeBSD

- [DBH] tools/regression/bin/sh/builtins/alias.0
- [DBH] tools/regression/bin/sh/builtins/alias.1
- [DBH] tools/regression/bin/sh/builtins/alias3.0
- [DBH] tools/regression/bin/sh/builtins/alias4.0
- [DBH] tools/regression/bin/sh/builtins/break1.0
- [DBH] tools/regression/bin/sh/builtins/break2.0
- [DBH] tools/regression/bin/sh/builtins/break3.0
- [DBH] tools/regression/bin/sh/builtins/break4.4
- [DBH] tools/regression/bin/sh/builtins/break5.4
- [DBH] tools/regression/bin/sh/builtins/break6.0
- [DBH] tools/regression/bin/sh/builtins/builtin1.0
- [DBH] tools/regression/bin/sh/builtins/case1.0
- [DBH] tools/regression/bin/sh/builtins/case10.0
- [DBH] tools/regression/bin/sh/builtins/case11.0
- [DBH] tools/regression/bin/sh/builtins/case12.0
- [DBH] tools/regression/bin/sh/builtins/case13.0
- [DBH] tools/regression/bin/sh/builtins/case14.0
- [DBH] tools/regression/bin/sh/builtins/case15.0
- [DBH] tools/regression/bin/sh/builtins/case16.0
- [DBH] tools/regression/bin/sh/builtins/case17.0
- [DBH] tools/regression/bin/sh/builtins/case18.0
- [DBH] tools/regression/bin/sh/builtins/case19.0
- [DBH] tools/regression/bin/sh/builtins/case2.0
- [DBH] tools/regression/bin/sh/builtins/case20.0
- [DBH] tools/regression/bin/sh/builtins/case21.0
- [DBH] tools/regression/bin/sh/builtins/case22.0
- [DBH] tools/regression/bin/sh/builtins/case23.0
- [DBH] tools/regression/bin/sh/builtins/case3.0
- [DBH] tools/regression/bin/sh/builtins/case4.0
- [DBH] tools/regression/bin/sh/builtins/case5.0
- [DBH] tools/regression/bin/sh/builtins/case6.0
- [DBH] tools/regression/bin/sh/builtins/case7.0
- [DBH] tools/regression/bin/sh/builtins/case8.0
- [DBH] tools/regression/bin/sh/builtins/case9.0
- [DBH] tools/regression/bin/sh/builtins/cd1.0
- [DBH] tools/regression/bin/sh/builtins/cd10.0
- [DBH] tools/regression/bin/sh/builtins/cd11.0
- [DBH] tools/regression/bin/sh/builtins/cd2.0
- [DBH] tools/regression/bin/sh/builtins/cd3.0
- [DBH] tools/regression/bin/sh/builtins/cd4.0
- [DBH] tools/regression/bin/sh/builtins/cd5.0
- [DBH] tools/regression/bin/sh/builtins/cd6.0
- [DBH] tools/regression/bin/sh/builtins/cd7.0
- [DBH] tools/regression/bin/sh/builtins/cd8.0
- [DBH] tools/regression/bin/sh/builtins/cd9.0
- [DBH] tools/regression/bin/sh/builtins/cd9.0.stdout
- [DBH] tools/regression/bin/sh/builtins/command1.0
- [DBH] tools/regression/bin/sh/builtins/command10.0
- [DBH] tools/regression/bin/sh/builtins/command11.0
- [DBH] tools/regression/bin/sh/builtins/command12.0
- [DBH] tools/regression/bin/sh/builtins/command13.0
- [DBH] tools/regression/bin/sh/builtins/command14.0
- [DBH] tools/regression/bin/sh/builtins/command2.0
- [DBH] tools/regression/bin/sh/builtins/command3.0
- [DBH] tools/regression/bin/sh/builtins/command3.0.stdout
- [DBH] tools/regression/bin/sh/builtins/command4.0
- [DBH] tools/regression/bin/sh/builtins/command5.0
- [DBH] tools/regression/bin/sh/builtins/command5.0.stdout
- [DBH] tools/regression/bin/sh/builtins/command6.0
- [DBH] tools/regression/bin/sh/builtins/command6.0.stdout
- [DBH] tools/regression/bin/sh/builtins/command7.0
- [DBH] tools/regression/bin/sh/builtins/command8.0
- [DBH] tools/regression/bin/sh/builtins/command9.0
- [DBH] tools/regression/bin/sh/builtins/dot1.0
- [DBH] tools/regression/bin/sh/builtins/dot2.0
- [DBH] tools/regression/bin/sh/builtins/dot3.0
- [DBH] tools/regression/bin/sh/builtins/dot4.0
- [DBH] tools/regression/bin/sh/builtins/echo1.0
- [DBH] tools/regression/bin/sh/builtins/echo2.0
- [DBH] tools/regression/bin/sh/builtins/echo3.0
- [DBH] tools/regression/bin/sh/builtins/eval1.0
- [DBH] tools/regression/bin/sh/builtins/eval2.0
- [DBH] tools/regression/bin/sh/builtins/eval3.0
- [DBH] tools/regression/bin/sh/builtins/eval4.0
- [DBH] tools/regression/bin/sh/builtins/eval5.0
- [DBH] tools/regression/bin/sh/builtins/eval6.0
- [DBH] tools/regression/bin/sh/builtins/eval7.0
- [DBH] tools/regression/bin/sh/builtins/eval8.7
- [DBH] tools/regression/bin/sh/builtins/exec1.0
- [DBH] tools/regression/bin/sh/builtins/exec2.0
- [DBH] tools/regression/bin/sh/builtins/exit1.0
- [DBH] tools/regression/bin/sh/builtins/exit2.8
- [DBH] tools/regression/bin/sh/builtins/exit3.0
- [DBH] tools/regression/bin/sh/builtins/export1.0
- [DBH] tools/regression/bin/sh/builtins/fc1.0
- [DBH] tools/regression/bin/sh/builtins/fc2.0
- [DBH] tools/regression/bin/sh/builtins/for1.0
- [DBH] tools/regression/bin/sh/builtins/for2.0
- [DBH] tools/regression/bin/sh/builtins/for3.0
- [DBH] tools/regression/bin/sh/builtins/getopts1.0
- [DBH] tools/regression/bin/sh/builtins/getopts10.0
- [DBH] tools/regression/bin/sh/builtins/getopts2.0
- [DBH] tools/regression/bin/sh/builtins/getopts3.0
- [DBH] tools/regression/bin/sh/builtins/getopts4.0
- [DBH] tools/regression/bin/sh/builtins/getopts5.0
- [DBH] tools/regression/bin/sh/builtins/getopts6.0
- [DBH] tools/regression/bin/sh/builtins/getopts7.0
- [DBH] tools/regression/bin/sh/builtins/getopts8.0
- [DBH] tools/regression/bin/sh/builtins/getopts8.0.stdout
- [DBH] tools/regression/bin/sh/builtins/getopts9.0
- [DBH] tools/regression/bin/sh/builtins/getopts9.0.stdout
- [DBH] tools/regression/bin/sh/builtins/hash1.0
- [DBH] tools/regression/bin/sh/builtins/hash2.0
- [DBH] tools/regression/bin/sh/builtins/hash3.0
- [DBH] tools/regression/bin/sh/builtins/hash4.0
- [DBH] tools/regression/bin/sh/builtins/jobid1.0
- [DBH] tools/regression/bin/sh/builtins/jobid2.0
- [DBH] tools/regression/bin/sh/builtins/kill1.0
- [DBH] tools/regression/bin/sh/builtins/kill2.0
- [DBH] tools/regression/bin/sh/builtins/lineno.0
- [DBH] tools/regression/bin/sh/builtins/lineno2.0
- [DBH] tools/regression/bin/sh/builtins/lineno3.0
- [DBH] tools/regression/bin/sh/builtins/lineno3.0.stdout
- [DBH] tools/regression/bin/sh/builtins/local1.0
- [DBH] tools/regression/bin/sh/builtins/local2.0
- [DBH] tools/regression/bin/sh/builtins/local3.0
- [DBH] tools/regression/bin/sh/builtins/local4.0
- [DBH] tools/regression/bin/sh/builtins/local5.0
- [DBH] tools/regression/bin/sh/builtins/local6.0
- [DBH] tools/regression/bin/sh/builtins/local7.0
- [DBH] tools/regression/bin/sh/builtins/locale1.0
- [DBH] tools/regression/bin/sh/builtins/locale2.0
- [DBH] tools/regression/bin/sh/builtins/printf1.0
- [DBH] tools/regression/bin/sh/builtins/printf2.0
- [DBH] tools/regression/bin/sh/builtins/printf3.0
- [DBH] tools/regression/bin/sh/builtins/printf4.0
- [DBH] tools/regression/bin/sh/builtins/read1.0
- [DBH] tools/regression/bin/sh/builtins/read2.0
- [DBH] tools/regression/bin/sh/builtins/read3.0
- [DBH] tools/regression/bin/sh/builtins/read4.0
- [DBH] tools/regression/bin/sh/builtins/read5.0
- [DBH] tools/regression/bin/sh/builtins/read6.0
- [DBH] tools/regression/bin/sh/builtins/read7.0
- [DBH] tools/regression/bin/sh/builtins/read8.0
- [DBH] tools/regression/bin/sh/builtins/read9.0
- [DBH] tools/regression/bin/sh/builtins/return1.0
- [DBH] tools/regression/bin/sh/builtins/return2.1
- [DBH] tools/regression/bin/sh/builtins/return3.1
- [DBH] tools/regression/bin/sh/builtins/return4.0
- [DBH] tools/regression/bin/sh/builtins/return5.0
- [DBH] tools/regression/bin/sh/builtins/return6.4
- [DBH] tools/regression/bin/sh/builtins/return7.4
- [DBH] tools/regression/bin/sh/builtins/return8.0
- [DBH] tools/regression/bin/sh/builtins/set2.0
- [DBH] tools/regression/bin/sh/builtins/set3.0
- [DBH] tools/regression/bin/sh/builtins/trap1.0
- [DBH] tools/regression/bin/sh/builtins/trap10.0
- [DBH] tools/regression/bin/sh/builtins/trap11.0
- [DBH] tools/regression/bin/sh/builtins/trap12.0
- [DBH] tools/regression/bin/sh/builtins/trap13.0
- [DBH] tools/regression/bin/sh/builtins/trap14.0
- [DBH] tools/regression/bin/sh/builtins/trap15.0
- [DBH] tools/regression/bin/sh/builtins/trap16.0
- [DBH] tools/regression/bin/sh/builtins/trap17.0
- [DBH] tools/regression/bin/sh/builtins/trap2.0
- [DBH] tools/regression/bin/sh/builtins/trap3.0
- [DBH] tools/regression/bin/sh/builtins/trap4.0
- [DBH] tools/regression/bin/sh/builtins/trap5.0
- [DBH] tools/regression/bin/sh/builtins/trap6.0
- [DBH] tools/regression/bin/sh/builtins/trap7.0
- [DBH] tools/regression/bin/sh/builtins/trap8.0
- [DBH] tools/regression/bin/sh/builtins/trap9.0
- [DBH] tools/regression/bin/sh/builtins/type1.0
- [DBH] tools/regression/bin/sh/builtins/type2.0
- [DBH] tools/regression/bin/sh/builtins/type3.0
- [DBH] tools/regression/bin/sh/builtins/type4.0
- [DBH] tools/regression/bin/sh/builtins/unalias.0
- [DBH] tools/regression/bin/sh/builtins/var-assign.0
- [DBH] tools/regression/bin/sh/builtins/var-assign2.0
- [DBH] tools/regression/bin/sh/builtins/wait1.0
- [DBH] tools/regression/bin/sh/builtins/wait10.0
- [DBH] tools/regression/bin/sh/builtins/wait2.0
- [DBH] tools/regression/bin/sh/builtins/wait3.0
- [DBH] tools/regression/bin/sh/builtins/wait4.0
- [DBH] tools/regression/bin/sh/builtins/wait5.0
- [DBH] tools/regression/bin/sh/builtins/wait6.0
- [DBH] tools/regression/bin/sh/builtins/wait7.0
- [DBH] tools/regression/bin/sh/builtins/wait8.0
- [DBH] tools/regression/bin/sh/builtins/wait9.127
- [DBH] tools/regression/bin/sh/errors/assignment-error1.0
- [DBH] tools/regression/bin/sh/errors/assignment-error2.0
- [DBH] tools/regression/bin/sh/errors/backquote-error1.0
- [DBH] tools/regression/bin/sh/errors/backquote-error2.0
- [DBH] tools/regression/bin/sh/errors/bad-binary1.126
- [DBH] tools/regression/bin/sh/errors/bad-keyword1.0
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp1.0
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp2.2
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp2.2.stderr
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp3.2
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp3.2.stderr
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp4.2
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp4.2.stderr
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp5.2
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp5.2.stderr
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp6.2
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp6.2.stderr
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp7.0
- [DBH] tools/regression/bin/sh/errors/bad-parm-exp8.0
- [DBH] tools/regression/bin/sh/errors/option-error.0
- [DBH] tools/regression/bin/sh/errors/redirection-error.0
- [DBH] tools/regression/bin/sh/errors/redirection-error2.2
- [DBH] tools/regression/bin/sh/errors/redirection-error3.0
- [DBH] tools/regression/bin/sh/errors/redirection-error4.0
- [DBH] tools/regression/bin/sh/errors/redirection-error5.0
- [DBH] tools/regression/bin/sh/errors/redirection-error6.0
- [DBH] tools/regression/bin/sh/errors/redirection-error7.0
- [DBH] tools/regression/bin/sh/errors/redirection-error8.0
- [DBH] tools/regression/bin/sh/errors/script-error1.0
- [DBH] tools/regression/bin/sh/errors/write-error1.0
- [DBH] tools/regression/bin/sh/execution/bg1.0
- [DBH] tools/regression/bin/sh/execution/bg10.0
- [DBH] tools/regression/bin/sh/execution/bg10.0.stdout
- [DBH] tools/regression/bin/sh/execution/bg11.0
- [DBH] tools/regression/bin/sh/execution/bg12.0
- [DBH] tools/regression/bin/sh/execution/bg13.0
- [DBH] tools/regression/bin/sh/execution/bg2.0
- [DBH] tools/regression/bin/sh/execution/bg3.0
- [DBH] tools/regression/bin/sh/execution/bg4.0
- [DBH] tools/regression/bin/sh/execution/bg5.0
- [DBH] tools/regression/bin/sh/execution/bg6.0
- [DBH] tools/regression/bin/sh/execution/bg6.0.stdout
- [DBH] tools/regression/bin/sh/execution/bg7.0
- [DBH] tools/regression/bin/sh/execution/bg8.0
- [DBH] tools/regression/bin/sh/execution/bg9.0
- [DBH] tools/regression/bin/sh/execution/env1.0
- [DBH] tools/regression/bin/sh/execution/fork1.0
- [DBH] tools/regression/bin/sh/execution/fork2.0
- [DBH] tools/regression/bin/sh/execution/fork3.0
- [DBH] tools/regression/bin/sh/execution/func1.0
- [DBH] tools/regression/bin/sh/execution/func2.0
- [DBH] tools/regression/bin/sh/execution/func3.0
- [DBH] tools/regression/bin/sh/execution/hash1.0
- [DBH] tools/regression/bin/sh/execution/int-cmd1.0
- [DBH] tools/regression/bin/sh/execution/killed1.0
- [DBH] tools/regression/bin/sh/execution/killed2.0
- [DBH] tools/regression/bin/sh/execution/not1.0
- [DBH] tools/regression/bin/sh/execution/not2.0
- [DBH] tools/regression/bin/sh/execution/path1.0
- [DBH] tools/regression/bin/sh/execution/pipefail1.0
- [DBH] tools/regression/bin/sh/execution/pipefail2.42
- [DBH] tools/regression/bin/sh/execution/pipefail3.42
- [DBH] tools/regression/bin/sh/execution/pipefail4.42
- [DBH] tools/regression/bin/sh/execution/pipefail5.42
- [DBH] tools/regression/bin/sh/execution/pipefail6.42
- [DBH] tools/regression/bin/sh/execution/pipefail7.0
- [DBH] tools/regression/bin/sh/execution/redir1.0
- [DBH] tools/regression/bin/sh/execution/redir2.0
- [DBH] tools/regression/bin/sh/execution/redir3.0
- [DBH] tools/regression/bin/sh/execution/redir4.0
- [DBH] tools/regression/bin/sh/execution/redir5.0
- [DBH] tools/regression/bin/sh/execution/redir6.0
- [DBH] tools/regression/bin/sh/execution/redir7.0
- [DBH] tools/regression/bin/sh/execution/set-C1.0
- [DBH] tools/regression/bin/sh/execution/set-n1.0
- [DBH] tools/regression/bin/sh/execution/set-n2.0
- [DBH] tools/regression/bin/sh/execution/set-n3.0
- [DBH] tools/regression/bin/sh/execution/set-n4.0
- [DBH] tools/regression/bin/sh/execution/set-x1.0
- [DBH] tools/regression/bin/sh/execution/set-x2.0
- [DBH] tools/regression/bin/sh/execution/set-x3.0
- [DBH] tools/regression/bin/sh/execution/set-x4.0
- [DBH] tools/regression/bin/sh/execution/shellproc1.0
- [DBH] tools/regression/bin/sh/execution/shellproc2.0
- [DBH] tools/regression/bin/sh/execution/shellproc3.0
- [DBH] tools/regression/bin/sh/execution/shellproc4.0
- [DBH] tools/regression/bin/sh/execution/shellproc5.0
- [DBH] tools/regression/bin/sh/execution/shellproc6.0
- [DBH] tools/regression/bin/sh/execution/subshell1.0
- [DBH] tools/regression/bin/sh/execution/subshell2.0
- [DBH] tools/regression/bin/sh/execution/subshell3.0
- [DBH] tools/regression/bin/sh/execution/subshell4.0
- [DBH] tools/regression/bin/sh/execution/unknown1.0
- [DBH] tools/regression/bin/sh/execution/unknown2.0
- [DBH] tools/regression/bin/sh/execution/var-assign1.0
- [DBH] tools/regression/bin/sh/expansion/arith1.0
- [DBH] tools/regression/bin/sh/expansion/arith10.0
- [DBH] tools/regression/bin/sh/expansion/arith11.0
- [DBH] tools/regression/bin/sh/expansion/arith12.0
- [DBH] tools/regression/bin/sh/expansion/arith13.0
- [DBH] tools/regression/bin/sh/expansion/arith14.0
- [DBH] tools/regression/bin/sh/expansion/arith15.0
- [DBH] tools/regression/bin/sh/expansion/arith16.0
- [DBH] tools/regression/bin/sh/expansion/arith17.0
- [DBH] tools/regression/bin/sh/expansion/arith2.0
- [DBH] tools/regression/bin/sh/expansion/arith3.0
- [DBH] tools/regression/bin/sh/expansion/arith4.0
- [DBH] tools/regression/bin/sh/expansion/arith5.0
- [DBH] tools/regression/bin/sh/expansion/arith6.0
- [DBH] tools/regression/bin/sh/expansion/arith7.0
- [DBH] tools/regression/bin/sh/expansion/arith8.0
- [DBH] tools/regression/bin/sh/expansion/arith9.0
- [DBH] tools/regression/bin/sh/expansion/assign1.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst1.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst10.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst11.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst12.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst13.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst14.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst15.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst16.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst17.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst18.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst19.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst2.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst20.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst21.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst22.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst23.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst24.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst25.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst26.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst3.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst4.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst5.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst6.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst7.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst8.0
- [DBH] tools/regression/bin/sh/expansion/cmdsubst9.0
- [DBH] tools/regression/bin/sh/expansion/export1.0
- [DBH] tools/regression/bin/sh/expansion/export2.0
- [DBH] tools/regression/bin/sh/expansion/export3.0
- [DBH] tools/regression/bin/sh/expansion/heredoc1.0
- [DBH] tools/regression/bin/sh/expansion/heredoc2.0
- [DBH] tools/regression/bin/sh/expansion/ifs1.0
- [DBH] tools/regression/bin/sh/expansion/ifs2.0
- [DBH] tools/regression/bin/sh/expansion/ifs3.0
- [DBH] tools/regression/bin/sh/expansion/ifs4.0
- [DBH] tools/regression/bin/sh/expansion/ifs5.0
- [DBH] tools/regression/bin/sh/expansion/ifs6.0
- [DBH] tools/regression/bin/sh/expansion/ifs7.0
- [DBH] tools/regression/bin/sh/expansion/length1.0
- [DBH] tools/regression/bin/sh/expansion/length2.0
- [DBH] tools/regression/bin/sh/expansion/length3.0
- [DBH] tools/regression/bin/sh/expansion/length4.0
- [DBH] tools/regression/bin/sh/expansion/length5.0
- [DBH] tools/regression/bin/sh/expansion/length6.0
- [DBH] tools/regression/bin/sh/expansion/length7.0
- [DBH] tools/regression/bin/sh/expansion/length8.0
- [DBH] tools/regression/bin/sh/expansion/local1.0
- [DBH] tools/regression/bin/sh/expansion/local2.0
- [DBH] tools/regression/bin/sh/expansion/pathname1.0
- [DBH] tools/regression/bin/sh/expansion/pathname2.0
- [DBH] tools/regression/bin/sh/expansion/pathname3.0
- [DBH] tools/regression/bin/sh/expansion/pathname4.0
- [DBH] tools/regression/bin/sh/expansion/pathname5.0
- [DBH] tools/regression/bin/sh/expansion/pathname6.0
- [DBH] tools/regression/bin/sh/expansion/plus-minus1.0
- [DBH] tools/regression/bin/sh/expansion/plus-minus2.0
- [DBH] tools/regression/bin/sh/expansion/plus-minus3.0
- [DBH] tools/regression/bin/sh/expansion/plus-minus4.0
- [DBH] tools/regression/bin/sh/expansion/plus-minus5.0
- [DBH] tools/regression/bin/sh/expansion/plus-minus6.0
- [DBH] tools/regression/bin/sh/expansion/plus-minus7.0
- [DBH] tools/regression/bin/sh/expansion/plus-minus8.0
- [DBH] tools/regression/bin/sh/expansion/plus-minus9.0
- [DBH] tools/regression/bin/sh/expansion/question1.0
- [DBH] tools/regression/bin/sh/expansion/question2.0
- [DBH] tools/regression/bin/sh/expansion/readonly1.0
- [DBH] tools/regression/bin/sh/expansion/redir1.0
- [DBH] tools/regression/bin/sh/expansion/set-u1.0
- [DBH] tools/regression/bin/sh/expansion/set-u2.0
- [DBH] tools/regression/bin/sh/expansion/set-u3.0
- [DBH] tools/regression/bin/sh/expansion/tilde1.0
- [DBH] tools/regression/bin/sh/expansion/tilde2.0
- [DBH] tools/regression/bin/sh/expansion/trim1.0
- [DBH] tools/regression/bin/sh/expansion/trim10.0
- [DBH] tools/regression/bin/sh/expansion/trim11.0
- [DBH] tools/regression/bin/sh/expansion/trim2.0
- [DBH] tools/regression/bin/sh/expansion/trim3.0
- [DBH] tools/regression/bin/sh/expansion/trim4.0
- [DBH] tools/regression/bin/sh/expansion/trim5.0
- [DBH] tools/regression/bin/sh/expansion/trim6.0
- [DBH] tools/regression/bin/sh/expansion/trim7.0
- [DBH] tools/regression/bin/sh/expansion/trim8.0
- [DBH] tools/regression/bin/sh/expansion/trim9.0
- [DBH] tools/regression/bin/sh/invocation/sh-ac1.0
- [DBH] tools/regression/bin/sh/invocation/sh-c-missing1.0
- [DBH] tools/regression/bin/sh/invocation/sh-c1.0
- [DBH] tools/regression/bin/sh/invocation/sh-ca1.0
- [DBH] tools/regression/bin/sh/invocation/sh-fca1.0
- [DBH] tools/regression/bin/sh/parameters/env1.0
- [DBH] tools/regression/bin/sh/parameters/exitstatus1.0
- [DBH] tools/regression/bin/sh/parameters/ifs1.0
- [DBH] tools/regression/bin/sh/parameters/mail1.0
- [DBH] tools/regression/bin/sh/parameters/mail2.0
- [DBH] tools/regression/bin/sh/parameters/optind1.0
- [DBH] tools/regression/bin/sh/parameters/optind2.0
- [DBH] tools/regression/bin/sh/parameters/positional1.0
- [DBH] tools/regression/bin/sh/parameters/positional2.0
- [DBH] tools/regression/bin/sh/parameters/positional3.0
- [DBH] tools/regression/bin/sh/parameters/positional4.0
- [DBH] tools/regression/bin/sh/parameters/positional5.0
- [DBH] tools/regression/bin/sh/parameters/positional6.0
- [DBH] tools/regression/bin/sh/parameters/positional7.0
- [DBH] tools/regression/bin/sh/parameters/positional8.0
- [DBH] tools/regression/bin/sh/parameters/positional9.0
- [DBH] tools/regression/bin/sh/parameters/pwd1.0
- [DBH] tools/regression/bin/sh/parameters/pwd2.0
- [DBH] tools/regression/bin/sh/parser/alias1.0
- [DBH] tools/regression/bin/sh/parser/alias10.0
- [DBH] tools/regression/bin/sh/parser/alias11.0
- [DBH] tools/regression/bin/sh/parser/alias12.0
- [DBH] tools/regression/bin/sh/parser/alias13.0
- [DBH] tools/regression/bin/sh/parser/alias14.0
- [DBH] tools/regression/bin/sh/parser/alias15.0
- [DBH] tools/regression/bin/sh/parser/alias15.0.stdout
- [DBH] tools/regression/bin/sh/parser/alias16.0
- [DBH] tools/regression/bin/sh/parser/alias17.0
- [DBH] tools/regression/bin/sh/parser/alias18.0
- [DBH] tools/regression/bin/sh/parser/alias19.0
- [DBH] tools/regression/bin/sh/parser/alias19.0.stdout
- [DBH] tools/regression/bin/sh/parser/alias2.0
- [DBH] tools/regression/bin/sh/parser/alias20.0
- [DBH] tools/regression/bin/sh/parser/alias20.0.stdout
- [DBH] tools/regression/bin/sh/parser/alias3.0
- [DBH] tools/regression/bin/sh/parser/alias4.0
- [DBH] tools/regression/bin/sh/parser/alias5.0
- [DBH] tools/regression/bin/sh/parser/alias6.0
- [DBH] tools/regression/bin/sh/parser/alias7.0
- [DBH] tools/regression/bin/sh/parser/alias8.0
- [DBH] tools/regression/bin/sh/parser/alias9.0
- [DBH] tools/regression/bin/sh/parser/and-pipe-not.0
- [DBH] tools/regression/bin/sh/parser/case1.0
- [DBH] tools/regression/bin/sh/parser/case2.0
- [DBH] tools/regression/bin/sh/parser/comment1.0
- [DBH] tools/regression/bin/sh/parser/comment2.42
- [DBH] tools/regression/bin/sh/parser/dollar-quote10.0
- [DBH] tools/regression/bin/sh/parser/dollar-quote11.0
- [DBH] tools/regression/bin/sh/parser/dollar-quote12.0
- [DBH] tools/regression/bin/sh/parser/dollar-quote13.0
- [DBH] tools/regression/bin/sh/parser/empty-braces1.0
- [DBH] tools/regression/bin/sh/parser/empty-cmd1.0
- [DBH] tools/regression/bin/sh/parser/for1.0
- [DBH] tools/regression/bin/sh/parser/for2.0
- [DBH] tools/regression/bin/sh/parser/func1.0
- [DBH] tools/regression/bin/sh/parser/func2.0
- [DBH] tools/regression/bin/sh/parser/func3.0
- [DBH] tools/regression/bin/sh/parser/heredoc1.0
- [DBH] tools/regression/bin/sh/parser/heredoc10.0
- [DBH] tools/regression/bin/sh/parser/heredoc11.0
- [DBH] tools/regression/bin/sh/parser/heredoc12.0
- [DBH] tools/regression/bin/sh/parser/heredoc13.0
- [DBH] tools/regression/bin/sh/parser/heredoc2.0
- [DBH] tools/regression/bin/sh/parser/heredoc3.0
- [DBH] tools/regression/bin/sh/parser/heredoc4.0
- [DBH] tools/regression/bin/sh/parser/heredoc5.0
- [DBH] tools/regression/bin/sh/parser/heredoc6.0
- [DBH] tools/regression/bin/sh/parser/heredoc7.0
- [DBH] tools/regression/bin/sh/parser/heredoc8.0
- [DBH] tools/regression/bin/sh/parser/heredoc9.0
- [DBH] tools/regression/bin/sh/parser/line-cont1.0
- [DBH] tools/regression/bin/sh/parser/line-cont10.0
- [DBH] tools/regression/bin/sh/parser/line-cont11.0
- [DBH] tools/regression/bin/sh/parser/line-cont12.0
- [DBH] tools/regression/bin/sh/parser/line-cont2.0
- [DBH] tools/regression/bin/sh/parser/line-cont3.0
- [DBH] tools/regression/bin/sh/parser/line-cont4.0
- [DBH] tools/regression/bin/sh/parser/line-cont5.0
- [DBH] tools/regression/bin/sh/parser/line-cont6.0
- [DBH] tools/regression/bin/sh/parser/line-cont7.0
- [DBH] tools/regression/bin/sh/parser/line-cont8.0
- [DBH] tools/regression/bin/sh/parser/line-cont9.0
- [DBH] tools/regression/bin/sh/parser/no-space1.0
- [DBH] tools/regression/bin/sh/parser/no-space2.0
- [DBH] tools/regression/bin/sh/parser/nul1.0
- [DBH] tools/regression/bin/sh/parser/only-redir1.0
- [DBH] tools/regression/bin/sh/parser/only-redir2.0
- [DBH] tools/regression/bin/sh/parser/only-redir3.0
- [DBH] tools/regression/bin/sh/parser/only-redir4.0
- [DBH] tools/regression/bin/sh/parser/pipe-not1.0
- [DBH] tools/regression/bin/sh/parser/set-v1.0
- [DBH] tools/regression/bin/sh/parser/set-v1.0.stderr
- [DBH] tools/regression/bin/sh/parser/var-assign1.0
- [DBH] tools/regression/bin/sh/set-e/and1.0
- [DBH] tools/regression/bin/sh/set-e/and2.1
- [DBH] tools/regression/bin/sh/set-e/and3.0
- [DBH] tools/regression/bin/sh/set-e/and4.0
- [DBH] tools/regression/bin/sh/set-e/background1.0
- [DBH] tools/regression/bin/sh/set-e/cmd1.0
- [DBH] tools/regression/bin/sh/set-e/cmd2.1
- [DBH] tools/regression/bin/sh/set-e/elif1.0
- [DBH] tools/regression/bin/sh/set-e/elif2.0
- [DBH] tools/regression/bin/sh/set-e/eval1.0
- [DBH] tools/regression/bin/sh/set-e/eval2.1
- [DBH] tools/regression/bin/sh/set-e/for1.0
- [DBH] tools/regression/bin/sh/set-e/func1.0
- [DBH] tools/regression/bin/sh/set-e/func2.1
- [DBH] tools/regression/bin/sh/set-e/if1.0
- [DBH] tools/regression/bin/sh/set-e/if2.0
- [DBH] tools/regression/bin/sh/set-e/if3.0
- [DBH] tools/regression/bin/sh/set-e/not1.0
- [DBH] tools/regression/bin/sh/set-e/not2.0
- [DBH] tools/regression/bin/sh/set-e/or1.0
- [DBH] tools/regression/bin/sh/set-e/or2.0
- [DBH] tools/regression/bin/sh/set-e/or3.1
- [DBH] tools/regression/bin/sh/set-e/pipe1.1
- [DBH] tools/regression/bin/sh/set-e/pipe2.0
- [DBH] tools/regression/bin/sh/set-e/return1.0
- [DBH] tools/regression/bin/sh/set-e/semi1.1
- [DBH] tools/regression/bin/sh/set-e/semi2.1
- [DBH] tools/regression/bin/sh/set-e/subshell1.0
- [DBH] tools/regression/bin/sh/set-e/subshell2.1
- [DBH] tools/regression/bin/sh/set-e/until1.0
- [DBH] tools/regression/bin/sh/set-e/until2.0
- [DBH] tools/regression/bin/sh/set-e/until3.0
- [DBH] tools/regression/bin/sh/set-e/while1.0
- [DBH] tools/regression/bin/sh/set-e/while2.0
- [DBH] tools/regression/bin/sh/set-e/while3.0

Add AT&T Research regex(3) regression testsuite Before we replace our ancient regex, we need to baseline it. This is a well-known and maintained regex testsuite from AT&T Research. The following commands from tools/regression/lib/libc-regex can be used: Make full-test-run (this runs all tests consecutively) make test-basic make test-categorize make test-nullsubexpr make test-leftassoc make test-rightassoc make test-forcedassoc make test-repetition To change the locale, set LOCALE (e.g. make LOCAL=en_US.UTF-8 test-basic) These are the baseline results: basic : TEST testregex, 539 tests, 0 errors categorize : TEST testregex, 20 tests, 0 errors nullsubexpr : TEST testregex, 84 tests, 31 errors leftassoc : TEST testregex, 12 tests, 12 errors rightassoc : TEST testregex, 24 tests, 0 errors forcedassoc : TEST testregex, 48 tests, 8 errors repetition : TEST testregex, 129 tests, 37 errors UNSUPPORTED: AUGMENTED,SHELL,CLASS_ESCAPE,COMMENT,DELIMITED,DISCIPLINE,ESCAPE,LEFT, LENIENT,LITERAL,MINIMAL,MULTIPLE,MULTIREF,MUSTDELIM,NULL,RIGHT, SHELL_DOT,SHELL_ESCAPED,SHELL_GROUP,SHELL_PATH,SPAN,regnexec, regsubcomp,redecomp

- [DBH] tools/regression/lib/libc-regex/Makefile
- [DBH] tools/regression/lib/libc-regex/README
- [DBH] tools/regression/lib/libc-regex/datafiles/basic.dat
- [DBH] tools/regression/lib/libc-regex/datafiles/categorize.dat
- [DBH] tools/regression/lib/libc-regex/datafiles/forcedassoc.dat
- [DBH] tools/regression/lib/libc-regex/datafiles/leftassoc.dat
- [DBH] tools/regression/lib/libc-regex/datafiles/nullsubexpr.dat
- [DBH] tools/regression/lib/libc-regex/datafiles/repetition.dat
- [DBH] tools/regression/lib/libc-regex/datafiles/rightassoc.dat
- [DBH] tools/regression/lib/libc-regex/testregex.c

test: Sync with FreeBSD. * Add examples and non-standard primaries to the manual page. * Reduce code size of ops table. * Put some static keywords in the source code. * Accept == as an alias of = which is a popular GNU extension. * Add more regression tests. -We have eaccess(2) now, so use it. Obtained-from: FreeBSD

sh: Sync with FreeBSD * Recognize "--" and explicitly reject options in wait builtin. * Mention possible ambiguities with $(( and ((. * Write as much into the heredoc pipe as possible, to avoid forking. * Don't modify exit status when break/continue/return passes !. * Document a few expansions for the $PS1 and $PS2 environmental variables. * Don't consider jobs -s/-p as reporting the status of jobs. * Improve error handling in read builtin. * Use O_CLOEXEC and F_DUPFD_CLOEXEC instead of separate fcntl() call. * Remove linked list of stack marks. * Allow multiple operands in wait builtin. * Return status 127 for unknown jobs in wait builtin. * Do not read from stdin if an error occurs during -i -c cmd. * Remove mkinit. Obtained-from: FreeBSD

- [DBH] tools/regression/bin/sh/builtins/break4.4
- [DBH] tools/regression/bin/sh/builtins/break5.4
- [DBH] tools/regression/bin/sh/builtins/eval6.0
- [DBH] tools/regression/bin/sh/builtins/local2.0
- [DBH] tools/regression/bin/sh/builtins/local3.0
- [DBH] tools/regression/bin/sh/builtins/read7.0
- [DBH] tools/regression/bin/sh/builtins/wait10.0
- [DBH] tools/regression/bin/sh/builtins/wait8.0
- [DBH] tools/regression/bin/sh/builtins/wait9.127
- [DBH] tools/regression/bin/sh/execution/int-cmd1.0
- [DBH] tools/regression/bin/sh/execution/not1.0
- [DBH] tools/regression/bin/sh/execution/not2.0