bash-5.0-beta release

This commit is contained in:
Chet Ramey
2018-09-17 15:10:56 -04:00
parent 9a51695bed
commit 2f5dfe5a18
144 changed files with 27560 additions and 36005 deletions
+20 -4
View File
@@ -396,6 +396,15 @@ above.
BASH_ARGC and BASH_ARGV is available at compatibility levels less than
or equal to 44.
61. Bash-5.0 doesn't allow a `break' or `continue' in a subshell to attempt
to break or continue loop execution inherited from the calling context.
62. Bash-5.0 doesn't allow variable assignments preceding builtins like
export and readonly to modify variables with the same name in preceding
contexts (including the global context) unless the shell is in posix
mode, since export and readonly are special builtins.
Shell Compatibility Level
=========================
@@ -451,15 +460,22 @@ compat43 set
(declare -a foo='(1 2)')
- word expansion errors are considered non-fatal errors that cause the
current command to fail, even in Posix mode
- when executing a shell function, the loop state (while/until/etc.) is
not reset, so `break' or `continue' in a shell function will break or
continue loops in the calling context. Bash-4.4 and later reset the
loop state to prevent this.
- when executing a shell function, the loop state (while/until/etc.)
is not reset, so `break' or `continue' in that function will break
or continue loops in the calling context. Bash-4.4 and later reset
the loop state to prevent this.
compat44 set
- the shell sets up the values used by BASH_ARGV and BASH_ARGC so
they can expand to the shell's positional parameters even if extended
debug mode is not enabled
- a subshell inherits loops from its parent contenxt, so `break'
or `continue' will cause the subshell to exit
- variable assignments preceding builtins like export and readonly
that set attributes continue to affect variables with the same
name in the calling environment even if the shell is not in posix
mode
-------------------------------------------------------------------------------