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=0.8 required=5.0 tests=LONGWORDS,MAILING_LIST_MULTI, RCVD_IN_DNSWL_NONE autolearn=no 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 621fd88b for ; Wed, 1 Jan 2020 13:45:47 +0000 (UTC) Received: (qmail 4512 invoked by alias); 1 Jan 2020 13:45:40 -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: 45179 Received: (qmail 18907 invoked by uid 1010); 1 Jan 2020 13:45:40 -0000 X-Qmail-Scanner-Diagnostics: from wout3-smtp.messagingengine.com by f.primenet.com.au (envelope-from , uid 7791) with qmail-scanner-2.11 (clamdscan: 0.102.1/25677. spamassassin: 3.4.2. Clear:RC:0(64.147.123.19):SA:0(-0.6/5.0):. Processed in 4.384434 secs); 01 Jan 2020 13:45:40 -0000 X-Envelope-From: d.s@daniel.shahaf.name X-Qmail-Scanner-Mime-Attachments: | X-Qmail-Scanner-Zip-Files: | Received-SPF: none (ns1.primenet.com.au: domain at daniel.shahaf.name does not designate permitted sender hosts) X-ME-Sender: X-ME-Proxy-Cause: gggruggvucftvghtrhhoucdtuddrgedufedrvdefledgheehucetufdoteggodetrfdotf fvucfrrhhofhhilhgvmecuhfgrshhtofgrihhlpdfqfgfvpdfurfetoffkrfgpnffqhgen uceurghilhhouhhtmecufedttdenucesvcftvggtihhpihgvnhhtshculddquddttddmne cujfgurhepfffhvffukfggtggugfgjfgesthektddttderjeenucfhrhhomhepffgrnhhi vghlucfuhhgrhhgrfhcuoegurdhssegurghnihgvlhdrshhhrghhrghfrdhnrghmvgeqne cukfhppeejledrudektddrheejrdduudelnecurfgrrhgrmhepmhgrihhlfhhrohhmpegu rdhssegurghnihgvlhdrshhhrghhrghfrdhnrghmvgenucevlhhushhtvghrufhiiigvpe dt X-ME-Proxy: Date: Wed, 1 Jan 2020 13:44:57 +0000 From: Daniel Shahaf To: Peter Stephenson , dana Cc: zsh-workers@zsh.org Subject: Re: Test failures in --disable-multibyte Message-ID: <20200101134457.kdzfrmlyzjwptxaz@tarpaulin.shahaf.local2> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <3E382EE0-CFFC-4ED9-A006-62C5A38E2B75@dana.is> <43145cb5fdd27a0e8a9f97d1e620e6199bda7c49.camel@ntlworld.com> User-Agent: NeoMutt/20170113 (1.7.2) dana wrote on Tue, Dec 31, 2019 at 14:23:47 -0600: > On 31 Dec 2019, at 12:39, Daniel Shahaf wrote: > > given that so many > > tests fail — and failed in 5.7.1 too — I wonder whether anyone actually builds > > zsh with --disable-multibyte. > > See workers/44272. Some people apparently do test with it at least. Thanks; I'd forgotten about it. In Gentoo, USE flags can be set globally (like /etc/make.conf in FreeBSD), so it's not even clear that someone was specifically interested in a Unicode-less zsh; for all I know, someone was just doing a QA run, building all packages under various configurations. > Re: systems without wide-character support, i'm not very familiar, but the zsh > in Optware (package system for embedded devices) seems to use the defaults, > fwiw Thanks, that's a useful data point. Peter Stephenson wrote on Tue, Dec 31, 2019 at 19:46:23 +0000: > On Tue, 2019-12-31 at 18:39 +0000, Daniel Shahaf wrote: > > In the circumstances, I wonder if we should just make those functions a hard > > dependency and remove the --disable-multibyte (#ifndef MULTIBYTE_SUPPORT) > > codepaths entirely. > > It's not generally expected you'll want to disable multibyte explicitly, > but it tests the case you get if you have a system which doesn't have > the required multibyte support. It's not clear if zsh gets compiled on > such systems now --- they won't be very common but there might be some > deliberately reduced systems for low-level use. These only need testing > in a similarly limited fashion. This state of affairs doesn't sound quite right. If those codepaths need testing, the test suite should be made to pass in that configuration, so that bugfixes would be able to be tested for unintended side effects. With no working test suite and no known users, it sounds like --disable-multibyte is _de facto_ unsupported, but we are not ready to officially pull the plug on it due to the possibility of it being used on a C99-less embedded system somewhere. So, how about having NEWS in 5.8 say that unless someone asks us to continue supporting --disable-multibyte, it will become unsupported and may be removed? (For what it's worth, even on embedded systems it should be trivial to implement the requisite standard library functions¹ for the ASCII-only subset of inputs in terms of the C89 standard library, which we already require.) Cheers, Daniel ¹ configure.ac requires the following functions to be available: iswalnum iswcntrl iswdigit iswgraph iswlower iswprint iswpunct iswspace iswupper iswxdigit mbrlen mbrtowc wcrtomb towupper towlower wcschr wcscpy wcslen wcsncmp wcsncpy wcwidth wmemchr wmemcmp wmemcpy wmemmove wmemset