Path: csiph.com!goblin2!goblin1!goblin.stu.neva.ru!usenet.stanford.edu!not-for-mail From: Alexey Izbyshev Newsgroups: gnu.bash.bug Subject: Re: No word splitting for assignment-like expressions in compound assignment Date: Mon, 27 Jul 2020 10:25:07 +0300 Lines: 43 Approved: bug-bash@gnu.org Message-ID: References: <87o8o1zfpn.fsf@hobgoblin.ariadne.com> NNTP-Posting-Host: lists.gnu.org Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: usenet.stanford.edu 1595834719 4976 209.51.188.17 (27 Jul 2020 07:25:19 GMT) X-Complaints-To: action@cs.stanford.edu Cc: "Dale R. Worley" , bug-bash@gnu.org To: =?UTF-8?Q?Lawrence_Vel=C3=A1zquez?= Envelope-to: bug-bash@gnu.org In-Reply-To: User-Agent: Roundcube Webmail/1.4.4 X-Sender: izbyshev@ispras.ru Received-SPF: pass client-ip=83.149.199.84; envelope-from=izbyshev@ispras.ru; helo=mail.ispras.ru X-detected-operating-system: by eggs.gnu.org: First seen = 2020/07/27 03:25:08 X-ACL-Warn: Detected OS = Linux 3.11 and newer X-Spam_score_int: -18 X-Spam_score: -1.9 X-Spam_bar: - X-Spam_report: (-1.9 / 5.0 requ) BAYES_00=-1.9, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-BeenThere: bug-bash@gnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Bug reports for the GNU Bourne Again SHell List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: <87o8o1zfpn.fsf@hobgoblin.ariadne.com> Xref: csiph.com gnu.bash.bug:16621 On 2020-07-27 10:06, Lawrence Velázquez wrote: >> On Jul 27, 2020, at 1:31 AM, Dale R. Worley >> wrote: >> Interesting. The documentation for 4.2.53(1) says this about >> parameter >> assignments generally, with no special rules for compound assignments: >> >> All >> values undergo tilde expansion, parameter and variable >> expansion, com- >> mand substitution, arithmetic expansion, and quote removal (see >> EXPAN- >> SION below). ... Word splitting is not >> performed, with the exception of "$@" as explained below under >> Special >> Parameters. Pathname expansion is not performed. >> >> So it seems like the word splitting in "A=(X$Z)" is incorrect. So is >> pathname expansion in that context. > > > If word splitting were not performed in compound assignments, this... > > foo=(a b c) > > ...would not work. If pathname expansion were not performed in compound > assignments, this... > > foo=(*) > > ...would not work. Arrays would become significantly less usable if > word splitting and pathname expansion were not allowed in compound > assignments. > To be clear, I don't consider word splitting and expansions in compound assignments to be a problem: this is well-known and long-standing behavior, even though it doesn't seem to be explicitly documented. In particular, I expect word splitting to happen in "A=(X$Z)" case. But I expect it to happen in "A=(X=$Z)" too, and the lack of it seems unintentional to me. Alexey