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


Groups > gnu.bash.bug > #15240

Re: errata: Explicit variables declaration statements do not resolve back-references from same statement

Path csiph.com!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail
From Chet Ramey <chet.ramey@case.edu>
Newsgroups gnu.bash.bug
Subject Re: errata: Explicit variables declaration statements do not resolve back-references from same statement
Date Wed, 24 Jul 2019 15:34:26 -0400
Lines 78
Approved bug-bash@gnu.org
Message-ID <mailman.2170.1563996886.2688.bug-bash@gnu.org> (permalink)
References <6660abea-7cca-22d4-fcd5-8a3f0743fbd3@noiraude.net> <709a50b7-0f4e-661f-07d2-941a005c7ab6@case.edu>
Reply-To chet.ramey@case.edu
NNTP-Posting-Host lists.gnu.org
Mime-Version 1.0
Content-Type multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="aReNCb7MFnkaNFH2NlcP7v5GIwgweEfBa"
X-Trace usenet.stanford.edu 1563996887 10453 209.51.188.17 (24 Jul 2019 19:34:47 GMT)
X-Complaints-To action@cs.stanford.edu
Cc chet.ramey@case.edu
To Léa Gris <lea.gris@noiraude.net>, 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=1563996882; bh=VVgEMUFNlzNpxzmI7JKkcuGsD8fLD428P6QJDI0j1wU=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type; b=3P2Z6RRQTCj+Ns273xQL1IgL7GSAFxrnCyx3kcMoNmOMW60ZoPqWM7zFSFdNPvWaEy o2/9AY0fWd531pQSW9wmIPXqN/bAKmfB9A7tf03eFZuQCwd8KFp6I2kaVDQwkhOdmvD A7zD3fvCbhDAh6HYhIWXDGj1mwdAC2acrlsLyXyL5cUT1Iiv7Xuwuwf82SUSx8b0wQt ND1Oqa1cCU0zB5craxzMWJuJBGdwUQMkkC0G3h3uS3Mkc3M+8UTVNdfB5elT3Ju5RNL ccSCKQn3VATd18lY9fwEVhqobTwbijl4fdUmd70mD/nqQIz/OvZ6XPzWUpowDHIYgwi TjMtixHg==
DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=case.edu; s=smtp-primary; t=1563996873; bh=VVgEMUFNlzNpxzmI7JKkcuGsD8fLD428P6QJDI0j1wU=; h=Reply-To:Cc:Subject:To:References:From:Message-ID:Date: MIME-Version:In-Reply-To:Content-Type; b=flxNc1aC6RP/1x/g1/TgaF2n58YFm0vE07Tl2X5uSEF88Nh9j0RXf7rx+Yy57LRPv4 l1PcpdoXkA98rb4qkkTM7nUoyXB8+cma3541rsFiUCkbpkasM/6TxPiT4YZywNUAulR L25kUvSVKCZOB2yEUE7a4ME7DukWUGQ/KbEqbicSr08kkakrf9GCmZCK80sQ8xnNV0M aqVD7r+ozGqwNJmVZFcLowpgvSujBUf319k3eoYI7JVjtnqhANciI0rCnHO8x+ctXY8 BYPVlni92aXKrf1olMMUxCg0NSWtr90tp3fPqwSAZYMIIl79O+Dirv62/UbPcPeYh53 bN9H12aA==
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 <6660abea-7cca-22d4-fcd5-8a3f0743fbd3@noiraude.net>
X-Junkmail-Status score=7/90, host=mpv3-2015.case.edu
X-Junkmail-PrAS-Raw score=7/90, refid=2.7.2:2019.7.24.184816: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, __CTYPE_HAS_BOUNDARY, __CTYPE_MULTIPART, __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, __MIME_TEXT_P2, __HAS_ATTACHMENT1, __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, __ATTACHMENT_SIZE_0_10K, __HAS_ATTACHMENT2, BODYTEXTP_SIZE_3000_LESS, BODY_SIZE_2000_2999, [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.194
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 <709a50b7-0f4e-661f-07d2-941a005c7ab6@case.edu>
X-Mailman-Original-References <6660abea-7cca-22d4-fcd5-8a3f0743fbd3@noiraude.net>
Xref csiph.com gnu.bash.bug:15240

Show key headers only | View raw


[Multipart message — attachments visible in raw view] - view raw

On 7/24/19 2:06 PM, Léa Gris wrote:
> Found this strange behavior difference in Bash, between explicit and
> implicit declarations of variables.

It's not that strange.

> An implicit variables declaration statement resolve back-references to
> variables from the same statement.

An assignment statement.

> 
> Whereas:
> 
> An explicit variables declaration statement does not resolve back-reference
> variables from the same statement.

A builtin command performing an assignment on its arguments.

Look at it this way. Since builtins are simple commands, their arguments
are expanded before being invoked. The job of the builtin is to take the
expanded arguments and perform the assignments (values and attributes).
Since the expansions are performed before the builtin is invoked, the
values have not been updated by any previous assignments appearing as
arguments to the builtin.


> ksh93 resolves explicit back-references with typeset.

ksh93 probably does something special to the arguments to typeset so
they're different from other builtins. Bash does some similar things
to implement POSIX's concept of `declaration commands', but those have
mostly to do with the expansions performed on the rhs of the assignment.

-- 
``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: errata: Explicit variables declaration statements do not resolve back-references from same statement Chet Ramey <chet.ramey@case.edu> - 2019-07-24 15:34 -0400

csiph-web