From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.2 (2018-09-13) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-1.0 required=5.0 tests=MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=ham autolearn_force=no version=3.4.2 Received: from primenet.com.au (ns1.primenet.com.au [203.24.36.2]) by inbox.vuxu.org (OpenSMTPD) with ESMTP id aa4e041e for ; Tue, 28 Jan 2020 15:26:48 +0000 (UTC) Received: (qmail 22540 invoked by alias); 28 Jan 2020 15:26:43 -0000 Mailing-List: contact zsh-workers-help@zsh.org; run by ezmlm Precedence: bulk X-No-Archive: yes List-Id: Zsh Workers List List-Post: List-Help: List-Unsubscribe: X-Seq: 45351 Received: (qmail 14476 invoked by uid 1010); 28 Jan 2020 15:26:43 -0000 X-Qmail-Scanner-Diagnostics: from mailout2.w1.samsung.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.1/25703. spamassassin: 3.4.2. Clear:RC:0(210.118.77.12):SA:0(-7.0/5.0):. Processed in 3.605647 secs); 28 Jan 2020 15:26:43 -0000 X-Envelope-From: p.stephenson@samsung.com X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: pass (ns1.primenet.com.au: SPF record at _spf.samsung.com designates 210.118.77.12 as permitted sender) DKIM-Filter: OpenDKIM Filter v2.11.0 mailout2.w1.samsung.com 20200128152604euoutp0274790583128e4bad607ca165f44a65be~uFmo_bdvo0515405154euoutp02M X-AuditID: cbfec7f2-ef1ff7000001ef66-c3-5e30528c78a2 Message-ID: <1580225163.6442.49.camel@samsung.com> Subject: Re: [PATCH] sh/ksh init: don't initialise lowercase parameters From: Peter Stephenson To: Date: Tue, 28 Jan 2020 15:26:03 +0000 In-Reply-To: X-Mailer: Evolution 3.18.5.2-0ubuntu3.2 MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFnrPIsWRmVeSWpSXmKPExsWy7djP87o9QQZxBud7VS0ONj9kcmD0WHXw A1MAYxSXTUpqTmZZapG+XQJXRsfHLraCk1wV/7fOZm5gPMDRxcjJISFgIjGr4TcjiC0ksIJR YmFzRhcjF5DdxySxbv1cJginl0niaustFpiON1fesEEkljNK7Hi+lgWu6sips6wQzhlGie9P z0A5Fxgl+hdcYQbp5xUwkvh+8xY7iC0s4C7x895yVhCbTcBQYuqm2WCXiAhISlxrPg1mswio Ssw8eReshlPARmL+9dXsEHdoSGy4eYwJYqagxMmZT8DuYxaQl2gG+hBksYTAfTaJfRP2MkM0 uEg8PPqLCcIWlnh1fAvUIBmJ05N7WCAa2hkl1kx6zQ7h9DBKbDp6hxGiylqi7/ZFIJsDaIWm xPpd+hBhR4ldv98wgYQlBPgkbrwVhDiCT2LStunMEGFeiY42IYhqNYkdTVsZIcIyEk/XKExg VJqF5INZSD6YhbBqASPzKkbx1NLi3PTUYsO81HK94sTc4tK8dL3k/NxNjMBkcPrf8U87GL9e SjrEKMDBqMTDO0PFIE6INbGsuDL3EKMEB7OSCG8nE1CINyWxsiq1KD++qDQntfgQozQHi5I4 r/Gil7FCAumJJanZqakFqUUwWSYOTqkGxsRrk56vbtZI182Tm/vkxmsT+camkq7ZzndbVzHn mr5Y+mNj2YnMjlNSe+9OfJdw5GKbacWu6vcqPrZJOW9ljzVUirWr6y4Xeb7uSsH9OSuOh1yT 0itPE7/b8enT7c8GP3wn7b3nOqH61N+MRcc+LDdJk1zHdOYnz8+3TxgWOU95N/3xxL3On9OV WIozEg21mIuKEwGjlsQiAgMAAA== X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFmpmkeLIzCtJLcpLzFFi42I5/e/4Pd2eIIM4g47JohYHmx8yOTB6rDr4 gSmAMUrPpii/tCRVISO/uMRWKdrQwkjP0NJCz8jEUs/Q2DzWyshUSd/OJiU1J7MstUjfLkEv o+NjF1vBSa6K/1tnMzcwHuDoYuTkkBAwkXhz5Q1bFyMXh5DAUkaJpQu/MkMkZCQ+XfnIDmEL S/y51gVV1M0k0f1tESOEc4ZR4vTSxcwQzgVGic0zTzCCtPAKGEl8v3kLrF1YwF3i573lrCA2 m4ChxNRNs8FqRAQkJa41nwazWQRUJWaevAtWwylgIzH/+mp2iKETGCXmv3sLlmAW0JRo3f4b 6iYNiQ03jzFBLBOUODnzCQtEjbxEM9CDExiFZiFpmYWkbBaSsgWMzKsYRVJLi3PTc4sN9YoT c4tL89L1kvNzNzECI2DbsZ+bdzBe2hh8iFGAg1GJh3eGikGcEGtiWXFl7iFGCQ5mJRHeTiag EG9KYmVValF+fFFpTmrxIUZToI8mMkuJJucDozOvJN7Q1NDcwtLQ3Njc2MxCSZy3Q+BgjJBA emJJanZqakFqEUwfEwenVAOj82+1uALP7rczsmV9Tv6Sbwnh/SHX+6fI7HFa46QLn7Su/vFV KLNe5SKxt8Fuj+E9xxuv7e93rjlx2nLH1qhFTu///T32dOMaqdzZcpuLDxz89yNylUvxwsYe d52lPRcqXfoOSKl2uTwzuT/5d7Jj5aJ3exzvuNQ4+y1p4HgY2fO17eCyV/PeKrEUZyQaajEX FScCAEHwOJ2WAgAA X-CMS-MailID: 20200128152604eucas1p288af70623b5492a75a18c8e01492b12a X-Msg-Generator: CA Content-Type: text/plain; charset="utf-8" X-RootMTR: 20200128152042eucas1p20cbbeeb7cbe5f6abff08128ba8792661 X-EPHeader: CA CMS-TYPE: 201P X-CMS-RootMailID: 20200128152042eucas1p20cbbeeb7cbe5f6abff08128ba8792661 References: On Tue, 2020-01-28 at 16:19 +0100, Martijn Dekker wrote: > In POSIX sh and in ksh, it's the convention that lowercase variable  > names are reserved for scripts, and uppercase names may be used by the  > shell or system. So most lowercase zsh parameters are not initialised  > when zsh is invoked as sh or ksh (through a symlink or the --emulate  > option). > > However, there are two left that are initialised in sh/ksh mode:  > 'histchars' and 'signals'. So this can conflict with POSIX scripts. > > Also, if zsh is invoked as sh or ksh, 'histchars' is available whereas  > the 'HISTCHARS' equivalent is not. It seems quite obvious that this  > should be the other way around. > > The attached patch makes zsh, when invoked as sh or ksh, not initialise  > 'signals', and initialise 'HISTCHARS' instead of 'histchars'. It also  > updates the documentation. That sounds fine to me --- as you know, general policy has always been that emulation modes are there solely for compatibility with other shells and backward compatibility is irrelevant, whereas native mode is the other way round. I'm guessing histchars got that way round in some kind of mistaken link up with compatibility with csh, which tends to deal only with lower case variables.  But that's just a guess, don't think it really matters. pws