sh(1): bring sh from freebsd

Operating Systems / DragonFlyBSD - Krzysztof Piecuch [protonmail.com] - 27 September 2020 10:45 UTC

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

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

Upstream: gitweb.dragonflybsd.org


  • Share