Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > gnu.bash.bug > #15194

Re: Unexpected result of array assignment

Path csiph.com!3.us.feeder.erje.net!feeder.erje.net!news.linkpendium.com!news.linkpendium.com!panix!usenet.stanford.edu!not-for-mail
From Chet Ramey <chet.ramey@case.edu>
Newsgroups gnu.bash.bug
Subject Re: Unexpected result of array assignment
Date Fri, 19 Jul 2019 15:21:45 -0400
Lines 37
Approved bug-bash@gnu.org
Message-ID <mailman.1798.1563564870.2688.bug-bash@gnu.org> (permalink)
References <nycvar.YAK.7.76.1907180212120.95422@nzl.bcra-fbhepr.pb.hx> <c76a7b29-cf5f-3321-bba4-3cdeaa6410db@case.edu>
Reply-To chet.ramey@case.edu
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 7bit
X-Trace usenet.stanford.edu 1563564873 22120 209.51.188.17 (19 Jul 2019 19:34:33 GMT)
X-Complaints-To action@cs.stanford.edu
Cc chet.ramey@case.edu
To "Darren 'Tadgy' Austin" <darren@afterdark.org.uk>, bug-bash@gnu.org
Envelope-to bug-bash@gnu.org
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1563564856; bh=K2grkDLSGSdbiN+lMCajrWyDk+smZ13d188lrXjoIrA=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=2kPoCpHFq3x+2cyZMxUlGgWmKYQOANE9thr6zOMhuD67lwoWcJnT2KB1A3RjsGlvRo AbxwJkHIqRPTYq42H5QvsVWhrGEigP5UTONxqTVZzH+ustTRQWurNwRCfivGzDtOWJ0 7k6N1z/MEi8T7cvSizj62gTptNLiGSBwRz3kgU6xmOjErH0geNwtyLyq8w8e5uZb8Jh i4ribVRs48FJnxTFjNjE/EB/roEa2B/p+h/tB99Qp/4dJFd1Jg4/utjwXB4bVieakMu cPPDT063zPluSqFy6IZWrK43RpDNFAwvNt9hQchgTpubS9COS7ugQk/RUps3c2Ryt7Q KLeFIqtA==
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1563564112; bh=K2grkDLSGSdbiN+lMCajrWyDk+smZ13d188lrXjoIrA=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=VlnD9jOLlVAbJXZwWH3MV8tQmijlSUOJsFgxZG+K15+2QJSQDLuCH7xSYx3yjBNt4J 5Murqx3vjToWNum1iuVdFz/6pK9yio5Z2yXrVMnG3mmpUUxZEvQgtQRT/G7omIEAfM8 RxDHzGIvodZdEelIx1ycYYJsvwfacyI42whIJb4jYWS5CJIMS9Jz+CcfPbdjdKtdg9k exPg+Wf1Y270eLIOyrfp90JDqwBJ81aa8GznYtHQOMKMEcWemh3QEiOzGzYaUwuhGzL v20Q13VHHRzIehwwC0vPdTgbAsNtLkDre8KQAuLlkZIcjzeyOjnMhNqYyXSd9Xd7Or/ 6l//A8pQ==
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1563564108; bh=aTfEiY+T0ITLanZe9neDLyZVQF1habY0dNSlA5lGjKo=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type:Content-Transfer-Encoding; b=jtWvAc5ysJCPCNn6D5YOkdjxdcQtR57/++cjmap6ZSHSgqIukelIjD1Kz0ODOv7CZQ 4wrfp8rUbdIHq57MM+GC+h0oJDNzcJ6Hga5/WYZUnBx1LhYpy6cDMbK/NLB5zSW/5aP pAFryBeyH/rqcfayoRnuGStOehDRJpNjOdDNLMxYUL+THaTtzJ5wZ/SBFztM39cR4H/ KEvC8ojttD7IKVN/5nDmr3R9JZlRfwTpnLe2014Y73ccUQhqSAKK4HCkHJi05cgEasY grFREaUt3l77sqc65oWoMa9vPoWD8XjBOuZwPQmlrr2joQJR6fSPNr/frkKpoCpmBlO i/5BXsdw==
Openpgp preference=signencrypt
Autocrypt addr=chet.ramey@case.edu; prefer-encrypt=mutual; keydata= xsDiBEEOsGwRBACFa0A1oa71HSZLWxAx0svXzhOZNQZOzqHmSuGOG92jIpQpr8DpvgRh40Yp AwdcXb8QG1J5yGAKeevNE1zCFaA725vGSdHUyypHouV0xoWwukYO6qlyyX+2BZU+okBUqoWQ koWxiYaCSfzB2Ln7pmdys1fJhcgBKf3VjWCjd2XJTwCgoFJOwyBFJdugjfwjSoRSwDOIMf0D /iQKqlWhIO1LGpMrGX0il0/x4zj0NAcSwAk7LaPZbN4UPjn5pqGEHBlf1+xDDQCkAoZ/VqES GZragl4VqJfxBr29Ag0UDvNbUbXoxQsARdero1M8GiAIRc50hj7HXFoERwenbNDJL86GPLAQ OTGOCa4W2o29nFfFjQrsrrYHzVtyA/9oyKvTeEMJ7NA3VJdWcmn7gOu0FxEmSNhSoV1T4vP2 1Wf7f5niCCRKQLNyUy0wEApQi4tSysdz+AbgAc0b/bHYVzIf2uO2lIEZQNNt+3g2bmXgloWm W5fsm/di50Gm1l1Na63d3RZ00SeFQos6WEwLUHEB0yp6KXluXLLIZitEJM0gQ2hldCBSYW1l eSA8Y2hldC5yYW1leUBjYXNlLmVkdT7CYQQTEQIAIQIbAwYLCQgHAwIDFQIDAxYCAQIeAQIX gAUCRX3FIgIZAQAKCRC7WGnwZOp0q069AKCNDRn+zzN/AHbaynls/Lvq1kH/RQCgkLvF8bDs maUHSxSIPqzlGuKWDxbOwE0EQQ6wbxAEAJCukwDigRDPhAuI+lf+6P64lWanIFOXIndqhvU1 3cDbQ/Wt5LwPzm2QTvd7F+fcHOgZ8KOFScbDpjJaRqwIybMTcIN0B2pBLX/C10W1aY+cUrXZ gXUGVISEMmpaP9v02auToo7XXVEHC+XLO9IU7/xaU98FL69l6/K4xeNSBRM/AAMHA/wNAmRB pcyK0+VggZ5esQaIP/LyolAm2qwcmrd3dZi+g24s7yjV0EUwvRP7xHRDQFgkAo6++QbuecU/ J90lxrVnQwucZmfz9zgWDkT/MpfB/CNRSKLFjhYq2yHmHWT6vEjw9Ry/hF6Pc0oh1a62USdf aKAiim0nVxxQmPmiRvtCmcJJBBgRAgAJBQJBDrBvAhsMAAoJELtYafBk6nSr43AAn2ZZFQg8 Gs/zUzvXMt7evaFqVTzcAJ0cHtKpP1i/4H4R9+OsYeQdxxWxTQ==
User-Agent Mozilla/5.0 (Macintosh; Intel Mac OS X 10.14; rv:60.0) Gecko/20100101 Thunderbird/60.8.0
In-Reply-To <nycvar.YAK.7.76.1907180212120.95422@nzl.bcra-fbhepr.pb.hx>
Content-Language en-US
X-Junkmail-Status score=7/90, host=mpv1-2015.case.edu
X-Junkmail-PrAS-Raw score=7/90, refid=2.7.2:2019.7.19.182717:17:7.944, ip=, rules=DKIM_SIGNATURE, __HAS_REPLYTO, __HAS_CC_HDR, __SUBJ_REPLY, __BOUNCE_CHALLENGE_SUBJ, __BOUNCE_NDR_SUBJ_EXEMPT, __SUBJ_ALPHA_END, __TO_MALFORMED_2, __TO_NAME, __TO_NAME_DIFF_FROM_ACC, __HAS_REFERENCES, __REFERENCES, __HAS_FROM, FROM_EDU_TLD, __HAS_MSGID, __SANE_MSGID, DATE_TZ_NA, __USER_AGENT, __MOZILLA_USER_AGENT, __MIME_VERSION, __IN_REP_TO, __CT, __CT_TEXT_PLAIN, __CTE, __REPLYTO_SAMEAS_FROM_ADDY, __REPLYTO_SAMEAS_FROM_ACC, __FROM_DOMAIN_IN_ANY_CC1, __FROM_DOMAIN_IN_ANY_CC2, __REPLYTO_SAMEAS_FROM_DOMAIN, __DKIM_ALIGNS_1, __DKIM_ALIGNS_2, __ANY_URI, __URI_WITH_PATH, __URI_NO_WWW, __CP_URI_IN_BODY, __SUBJ_ALPHA_NEGATE, __URI_IN_BODY, __URI_NOT_IMG, __FORWARDED_MSG, __BODY_NO_MAILTO, __NO_HTML_TAG_RAW, BODYTEXTP_SIZE_3000_LESS, BODY_SIZE_1400_1499, __MIME_TEXT_P1, __MIME_TEXT_ONLY, __URI_NS, HTML_00_01, HTML_00_10, DKIM_ALIGNS, BODY_SIZE_5000_LESS, [TRUNCATED], so=2010-03-03 19:42:08, dmn=2016-08-03-0138
X-detected-operating-system by eggs.gnu.org: GNU/Linux 2.4.x-2.6.x [generic]
X-Received-From 129.22.103.226
X-BeenThere bug-bash@gnu.org
X-Mailman-Version 2.1.23
Precedence list
List-Id Bug reports for the GNU Bourne Again SHell <bug-bash.gnu.org>
List-Unsubscribe <https://lists.gnu.org/mailman/options/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=unsubscribe>
List-Archive <https://lists.gnu.org/archive/html/bug-bash>
List-Post <mailto:bug-bash@gnu.org>
List-Help <mailto:bug-bash-request@gnu.org?subject=help>
List-Subscribe <https://lists.gnu.org/mailman/listinfo/bug-bash>, <mailto:bug-bash-request@gnu.org?subject=subscribe>
X-Mailman-Original-Message-ID <c76a7b29-cf5f-3321-bba4-3cdeaa6410db@case.edu>
X-Mailman-Original-References <nycvar.YAK.7.76.1907180212120.95422@nzl.bcra-fbhepr.pb.hx>
Xref csiph.com gnu.bash.bug:15194

Show key headers only | View raw


On 7/17/19 9:16 PM, Darren 'Tadgy' Austin wrote:

> Bash Version: 5.0
> Patch Level: 3
> Release Status: release
> 
> Description:
>         There seems to be unexpect (a bug?) behaviour with bash's handling of array assignments.
>         Specifically, if you try to assign an array element a value containing that same array value, it fails to work.
>         See example below :)
>         Bug confirmed by the folks in #bash on Freenode - unable to explain what is happening.

Thanks for the report.

This changed between bash-4.2 and bash-4.3 as part of changes to avoid
scanning the subscript in an associative array reference multiple times:
before and after expansion, and for compatibility with ksh93 (which
behaves the same as bash-4.3+).

It's obliquely referenced in the documentation:

"When  +=  is  applied  to an array variable using compound
 assignment (see Arrays below), the variable's value is not unset (as it
 is when using =)"

However, I agree that it would be more consistent to let the expansion
of the rhs use the existing value of the array before clearing it, since
that's what indexed arrays do. I'll make associative array assignment
do that.

Chet

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
		 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    chet@case.edu    http://tiswww.cwru.edu/~chet/

Back to gnu.bash.bug | Previous | Next | Find similar | Unroll thread


Thread

Re: Unexpected result of array assignment Chet Ramey <chet.ramey@case.edu> - 2019-07-19 15:21 -0400

csiph-web