gnash 1.3.8
Immutable
release. Only release title and notes can be modified.
gnash 1.3.8
A continued bash-conformance release. Since 1.3.7, gnash has been run
against further batches of bash 5.3's own test suite and brought into
byte-for-byte agreement across arrays, builtins, and control flow.
Highlights below; a number of smaller fidelity fixes are included.
Arrays and declare
- Unset individual array elements, and diagnose bad and readonly
array-element assignments. - Parse a quoted compound array value in
declare, and create an indexed
array from a subscripteddeclarename. - Slice an indexed array by index rather than dense position, and drop empty
elements from an unquoted array expansion. - Reject bad subscripts in a compound array literal and a bare value mixed
into an associative-array literal; quote associative-array subscripts in
declare -pandsetoutput.
Special and virtual variables
- Expose the special virtual arrays in
declare/setlistings, and list
BASH_ALIASESandBASH_CMDSas associative arrays. - Treat a declared-but-unset variable as unset for
-v.
Builtins
umask:-S,-p, and symbolic modes.cd: searchCDPATH.source:source -p PATH, honor thesourcepathshopt, pass positional
parameters to a sourced file, and fix its error prefix.enable -sfilters to the POSIX special builtins.- Keep prefix assignments to
export/readonly/declare -xpermanent. shoptreports an error for an invalid option or-oname, and
emacs/monitor/privilegedare recorded asset -ooption state.
Control flow and scripts
- Propagate
continue Nthrough enclosing loops. - Re-exec a script with no
#!line using the current shell.
Signals
- List signals in columns, and add
SIGEMT,SIGIO, andSIGINFO.
Install
brew tap brianjfox/tools && brew trust brianjfox/tools && brew install gnash
Or download the universal (arm64 + x86_64) macOS tarball below.