This is the mail archive of the
cygwin
mailing list for the Cygwin project.
Bash declare built-in regression loses array quotations
- From: "Matt D." <matt at codespunk dot com>
- To: cygwin at cygwin dot com
- Date: Fri, 13 Jan 2017 15:00:01 -0500
- Subject: Bash declare built-in regression loses array quotations
- Authentication-results: sourceware.org; auth=none
- Reply-to: codespunk+cygwin at gmail dot com
I updated yesterday to the latest Cygwin x86 release which included an
updated Bash 4.4.5(1). This release changes the default behavior of the
built-in 'declare' command which is causing scripts which relied on this
functionality to break.
The following test will illustrate the change:
declare -A list
list[a]=1
list[b]=2
list[c]=3
declare -p | grep list=
On Bash 4.4.5(1) the output is:
declare -A list=([a]="1" [b]="2" [c]="3" )
Previously the result was:
declare -A list='([a]="1" [b]="2" [c]="3" )'
I can confirm that this has always been the expected output when running
this command on Cygwin and Linux. I run CentOS which does not track the
latest Bash release and I don't know the procedure to check whether this
is an upstream regression or not.
I have rolled back to Bash 4.3.48-8 which has restored the previous
functionality.
Please advise.
Matt D.
--
Problem reports: http://cygwin.com/problems.html
FAQ: http://cygwin.com/faq/
Documentation: http://cygwin.com/docs.html
Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple