From debbugs-submit-bounces@debbugs.gnu.org Mon Sep 16 17:25:39 2024 Received: (at submit) by debbugs.gnu.org; 16 Sep 2024 21:25:39 +0000 Received: from localhost ([127.0.0.1]:53493 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqJE3-0001Oa-E9 for submit@debbugs.gnu.org; Mon, 16 Sep 2024 17:25:39 -0400 Received: from lists.gnu.org ([209.51.188.17]:44666) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqJE2-0001OT-1u for submit@debbugs.gnu.org; Mon, 16 Sep 2024 17:25:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sqJDn-0003Bl-N6 for bug-gnu-emacs@gnu.org; Mon, 16 Sep 2024 17:25:24 -0400 Received: from gatalith.at ([45.132.245.72]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sqJDl-0005AL-IM for bug-gnu-emacs@gnu.org; Mon, 16 Sep 2024 17:25:23 -0400 Received: by gatalith.at (Postfix, from userid 1000) id 6584A3914F8; Mon, 16 Sep 2024 23:25:17 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gatalith.at; s=dkim; t=1726521917; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type; bh=WAaIhgnJcDtM4fks+sEzIGS/PmAW6G/Vi4U0rcUftYc=; b=DOJ9WUZJUu7f1SWhO/dAFqoxr64/pmZH7n/pjwKIMayrZOOn9+bf2Op3VDjkEjBGUiV24/ 3+ATgM4Yc3aqZo3m6bLT9Vhsflajin7ojOjXkS0KMKr3vdRAY970Un2iBRQM/vbuT4wXRd 1DTcj1WUutkljYJeGgxJLlJDukC5eRw= Date: Mon, 16 Sep 2024 23:25:16 +0200 From: Thomas Klausner To: bug-gnu-emacs@gnu.org Subject: Fix ctype(3) usage Message-ID: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="i0B56l7oc1tpSdhG" Content-Disposition: inline Received-SPF: pass client-ip=45.132.245.72; envelope-from=wiz@gatalith.at; helo=gatalith.at X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, SPF_HELO_PASS=-0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no X-Spam_action: no action X-Spam-Score: -1.4 (-) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -2.4 (--) --i0B56l7oc1tpSdhG Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Tags: patch When compiling emacs on NetBSD-10.99.12/amd64, I get the following warning In file included from /usr/include/ctype.h:100, from fns.c:29: fns.c: In function 'Fyes_or_no_p': fns.c:3582:33: warning: array subscript has type 'char' [-Wchar-subscripts] 3582 | if ((len > 0) && !isspace (s[len - 1])) | ^ The NetBSD man page for ctype(3): https://man.netbsd.org/ctype.3 is quite explicit about the problems with this - ctype(3) functions only accept -1 and "unsigned char" and you can get very weird problems if this is disregarded. The attached patch adds the missing cast. In GNU Emacs 31.0.50 (build 1, x86_64--netbsd, GTK+ Version 3.24.43, cairo version 1.18.0) of 2024-09-16 Repository revision: f27553c30a772a0103d2e6762e4d7f588f302e4b Repository branch: HEAD System Description: NetBSD 10.99.12/amd64 Configured using: 'configure --srcdir=/scratch/wip/emacs-git/work/emacs --localstatedir=/var --with-native-compilation --without-ns --without-imagemagick --without-xaw3d --with-x-toolkit=gtk3 --prefix=/usr/pkg --build=x86_64--netbsd --host=x86_64--netbsd --infodir=/usr/pkg/info --mandir=/usr/pkg/man --enable-option-checking=yes 'CFLAGS=-O2 -g -g -fstack-clash-protection -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/libdrm' 'CPPFLAGS=-g -I/usr/pkg/include -I/usr/include -I/usr/pkg/include/freetype2 -I/usr/pkg/include/glib-2.0 -I/usr/pkg/include/gio-unix-2.0 -I/usr/pkg/lib/glib-2.0/include -I/usr/pkg/include/harfbuzz -I/usr/pkg/include/libdrm' 'LDFLAGS=-Wl,-R/usr/pkg/gcc14/lib -Wl,-zrelro -Wl,-znow -L/usr/pkg/lib -Wl,-R/usr/pkg/lib -L/usr/lib -Wl,-R/usr/lib'' --i0B56l7oc1tpSdhG Content-Type: text/x-c; charset=us-ascii Content-Disposition: attachment; filename="patch-src_fns.c" $NetBSD$ Fix ctype(3) usage. --- src/fns.c.orig 2024-09-16 21:11:40.908684144 +0000 +++ src/fns.c @@ -3579,7 +3579,7 @@ by a mouse, or by some window-system ges { char *s = SSDATA (prompt); ptrdiff_t len = strlen (s); - if ((len > 0) && !isspace (s[len - 1])) + if ((len > 0) && !isspace ((unsigned char)s[len - 1])) prompt = CALLN (Fconcat, prompt, build_string (" ")); } prompt = CALLN (Fconcat, prompt, Vyes_or_no_prompt); --i0B56l7oc1tpSdhG-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 17 07:52:47 2024 Received: (at 73307) by debbugs.gnu.org; 17 Sep 2024 11:52:47 +0000 Received: from localhost ([127.0.0.1]:54124 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqWlD-0007iJ-AJ for submit@debbugs.gnu.org; Tue, 17 Sep 2024 07:52:47 -0400 Received: from eggs.gnu.org ([209.51.188.92]:47862) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqWlB-0007i4-B0 for 73307@debbugs.gnu.org; Tue, 17 Sep 2024 07:52:46 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sqWkp-00031a-F4; Tue, 17 Sep 2024 07:52:23 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=tMe2wvesoIZEte4jcAQ36LLbIyv5z8DWqW+YpZ8vsUI=; b=dPiNxvhDAiIn Dmr3/uOrIZn+qZQ3YnNxL8WNkBlWX48rB9m+Q7U2y9KluuiRPON9iVoEpVTCuAH0+uLZRc2U+eNL6 EDmSpfRNTwS1uIBwTQtjXvG4IFsef5fA9jgTx0hHiTFWhRVhb8dRPn4jWeQ43fQk31LljqO7PDJ+F J2L8gQj0PSycvTRr5GM2WtXXKlaTKE5CwTmKTO880Xrempg+qD6t3LMzfhR8o+yadyCPx9sJNV06B xWc8l0cQxfobhJ6d7ifurQxCq6eRIm1ggzWjnzGvTpJf1XRdHcB8ZPHxXcXBtYYO1297GYhTQOfL1 Y6Q5Wj04tdqTMdaqFV2FSw==; Date: Tue, 17 Sep 2024 14:52:20 +0300 Message-Id: <86r09ibiq3.fsf@gnu.org> From: Eli Zaretskii To: Thomas Klausner , Paul Eggert In-Reply-To: (message from Thomas Klausner on Mon, 16 Sep 2024 23:25:16 +0200) Subject: Re: bug#73307: Fix ctype(3) usage References: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73307 Cc: 73307@debbugs.gnu.org X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Mon, 16 Sep 2024 23:25:16 +0200 > From: Thomas Klausner > > When compiling emacs on NetBSD-10.99.12/amd64, I get the following > warning > > In file included from /usr/include/ctype.h:100, > from fns.c:29: > fns.c: In function 'Fyes_or_no_p': > fns.c:3582:33: warning: array subscript has type 'char' [-Wchar-subscripts] > 3582 | if ((len > 0) && !isspace (s[len - 1])) > | ^ > > The NetBSD man page for ctype(3): https://man.netbsd.org/ctype.3 > is quite explicit about the problems with this - ctype(3) functions only > accept -1 and "unsigned char" and you can get very weird problems if > this is disregarded. > > The attached patch adds the missing cast. > [...] > > --- src/fns.c.orig 2024-09-16 21:11:40.908684144 +0000 > +++ src/fns.c > @@ -3579,7 +3579,7 @@ by a mouse, or by some window-system ges > { > char *s = SSDATA (prompt); > ptrdiff_t len = strlen (s); > - if ((len > 0) && !isspace (s[len - 1])) > + if ((len > 0) && !isspace ((unsigned char)s[len - 1])) > prompt = CALLN (Fconcat, prompt, build_string (" ")); > } > prompt = CALLN (Fconcat, prompt, Vyes_or_no_prompt); Thanks. However, I'm not sure this is the right fix, the function is defined with argument type of 'int'. Paul, any comments? From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 17 07:56:50 2024 Received: (at 73307) by debbugs.gnu.org; 17 Sep 2024 11:56:50 +0000 Received: from localhost ([127.0.0.1]:54130 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqWp8-0007xe-3T for submit@debbugs.gnu.org; Tue, 17 Sep 2024 07:56:50 -0400 Received: from gatalith.at ([45.132.245.72]:52813) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqWp6-0007xV-En for 73307@debbugs.gnu.org; Tue, 17 Sep 2024 07:56:48 -0400 Received: by gatalith.at (Postfix, from userid 1000) id C09DB390CC5; Tue, 17 Sep 2024 13:56:00 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gatalith.at; s=dkim; t=1726574160; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=fjq3fwKMApQV7Oy4JuLOo5HzR/7KwatG5wUbTIaL59c=; b=lktEbTyRelk0k6q7vSiGwmAQ+VKDJMldJAuXFbGobtUn5O+0Un87HTOB/viG6aZiJXr7Zr f0OQ+7gDwQHw2iJuuh7xfIMcxibDkvpP7C8b1CmluMG6vIADRc1/pqZjTqfIFx9+clBPfi hPaV5MtEOpDRBv+lgBia7slYzc4nQFk= Date: Tue, 17 Sep 2024 13:55:59 +0200 From: Thomas Klausner To: Eli Zaretskii Subject: Re: bug#73307: Fix ctype(3) usage Message-ID: References: <86r09ibiq3.fsf@gnu.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <86r09ibiq3.fsf@gnu.org> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 73307 Cc: 73307@debbugs.gnu.org, Paul Eggert X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On Tue, Sep 17, 2024 at 02:52:20PM +0300, Eli Zaretskii wrote: > Thanks. However, I'm not sure this is the right fix, the function is > defined with argument type of 'int'. Paul, any comments? That is exactly the problem. If you pass a 'signed char' below -1, it gets converted to the same integer value, also a negative number below -1, and you end up passing an invalid argument to the function. The function is defined to only accept EOF and non-negative values in the range of 'unsigned char'. -1 is only special because that's usually the value of EOF. Thomas From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 17 20:05:54 2024 Received: (at 73307-done) by debbugs.gnu.org; 18 Sep 2024 00:05:54 +0000 Received: from localhost ([127.0.0.1]:56230 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqiCf-0006xX-Hz for submit@debbugs.gnu.org; Tue, 17 Sep 2024 20:05:54 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:60980) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqiCd-0006xH-Gl for 73307-done@debbugs.gnu.org; Tue, 17 Sep 2024 20:05:52 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 950403C011BD4; Tue, 17 Sep 2024 17:05:30 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id 1CrF7B32fJGt; Tue, 17 Sep 2024 17:05:30 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id EFF443C011BD7; Tue, 17 Sep 2024 17:05:29 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu EFF443C011BD7 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1726617930; bh=XJZSo/opSCMrvIp3Si/axaVLSBinsnnYKoBzfwuS8Us=; h=Message-ID:Date:MIME-Version:To:From; b=YcdTc+fDCVjlxlpnItLlKN1u6+iUcII1oG4GYZLyqQLZdOQBy+kLaVJzlbpzoOKxT mt2a+SxoZRoVjlLsSa6rvyz025xV6VxbahyjUMIvGFrwaGCm7SMsLOK6e4VM8+EAlY aHYi7rRQ9umuv7WCR9ZHkfIYowqF7MvwlIlDQEZ3WJVIOy7fL4+08RtyktDnq/Pv9p scdaWlVxBpN5l+4I6iamgAth7KQeK/aOaIJV80RWkTQxNNoPI6dz1se5ItjoX/3MXP ABLjMB1xc93vHAamEc8LbbefbzzPtIPQqo4kdLK99c0DHW+m0yM0fwCIT9yUqkAvA5 W+XCDjMKHB5fQ== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id xxPzeiYIdOGo; Tue, 17 Sep 2024 17:05:29 -0700 (PDT) Received: from [192.168.254.12] (unknown [47.150.137.250]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id BC92B3C011BD4; Tue, 17 Sep 2024 17:05:29 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------0acPehYJigiIb8l9Pe7EdgUy" Message-ID: <89deb908-92a6-489f-bab9-116556ce8ce4@cs.ucla.edu> Date: Tue, 17 Sep 2024 17:05:29 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#73307: Fix ctype(3) usage To: Eli Zaretskii References: <86r09ibiq3.fsf@gnu.org> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <86r09ibiq3.fsf@gnu.org> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 73307-done Cc: Po Lu , 73307-done@debbugs.gnu.org, Thomas Klausner X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------0acPehYJigiIb8l9Pe7EdgUy Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit On 2024-09-17 04:52, Eli Zaretskii wrote: > However, I'm not sure this is the right fix, the function is > defined with argument type of 'int'. Paul, any comments? Although that patch was an improvement it still had problems, as it incorrectly assumed the string does not end in a multibyte space, and that Emacs's locale matches the system's. Emacs itself should not use unless it knows the string is unibyte and the system locale matches Emacs's. I scanned through its source code looking for all problematic instances of that have crept in (except I didn't scan the MS-Windows code, where you're the expert), and found five other places where ctype.h was obviously misused. I installed the attached to fix these glitches and am boldly closing this the report. I can't easily test patch 0003, which fixes Android-specific code. Although I think it's an improvement, in unlikely cases I suspect it still doesn't exactly match what the Android kernel does with #! lines. I don't know whether that matters. I'll CC this to Po Lu (my goto person for Android) as a heads-up. --------------0acPehYJigiIb8l9Pe7EdgUy Content-Type: text/x-patch; charset=UTF-8; name="0001-Fix-yes-or-no-p-with-multibyte-spaces.patch" Content-Disposition: attachment; filename="0001-Fix-yes-or-no-p-with-multibyte-spaces.patch" Content-Transfer-Encoding: base64 RnJvbSA0M2NkZTAzZmE1YTY2M2ExNTA5YTc2MjA3N2MxMWViNTdhNjBjZWU4IE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE3IFNlcCAyMDI0IDE1OjIyOjAyIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAxLzRdIEZpeCB5ZXMtb3Itbm8tcCB3aXRoIG11bHRpYnl0ZSBzcGFjZXMKTUlNRS1WZXJz aW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04CkNvbnRl bnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKClByb2JsZW0gcmVwb3J0ZWQgYnkgVGhvbWFz IEtsYXVzbmVyIChCdWcjNzMzMDcpLgpFbWFjcyBzaG91bGRu4oCZdCB1c2UgY3R5cGUuaCwg YXMgaXQgZG9lc27igJl0IHdvcmsgZm9yIG11bHRpYnl0ZQpjaGFycyBhbmQgaXQgZG9lc27i gJl0IHdvcmsgd2l0aCBFbWFjc+KAmXMgbG9jYWxlIG1vZGVsIGFueXdheS4KKiBzcmMvZm5z LmM6IEluY2x1ZGUgc3ludGF4LmgsIG5vdCBjdHlwZS5oLgooRnllc19vcl9ub19wKTogQ2hl Y2sgdGhlIGNoYXJhY3RlciBjYXRlZ29yeSB3aXRoIFNZTlRBWCwgbm90CndpdGggaXNzcGFj ZSwgd2hpY2ggYXNzdW1lcyB0aGUgY3VycmVudCBsb2NhbGUgYW5kIHdvcmtzIG9ubHkKd2l0 aCBzaW5nbGUtYnl0ZSBjaGFyYWN0ZXJzLgotLS0KIHNyYy9mbnMuYyB8IDE4ICsrKysrKysr KystLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDggZGVsZXRp b25zKC0pCgpkaWZmIC0tZ2l0IGEvc3JjL2Zucy5jIGIvc3JjL2Zucy5jCmluZGV4IDU3MTEz YThjNWVkLi4zNzBmNzcxMWI5MCAxMDA2NDQKLS0tIGEvc3JjL2Zucy5jCisrKyBiL3NyYy9m bnMuYwpAQCAtMjYsNyArMjYsNiBAQCBDb3B5cmlnaHQgKEMpIDE5ODUtMjAyNCBGcmVlIFNv ZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICNpbmNsdWRlIDxpbnRwcm9wcy5oPgogI2luY2x1 ZGUgPHZsYS5oPgogI2luY2x1ZGUgPGVycm5vLmg+Ci0jaW5jbHVkZSA8Y3R5cGUuaD4KICNp bmNsdWRlIDxtYXRoLmg+CiAKICNpbmNsdWRlICJsaXNwLmgiCkBAIC0zNiw2ICszNSw3IEBA IENvcHlyaWdodCAoQykgMTk4NS0yMDI0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5j LgogI2luY2x1ZGUgImNvbXBvc2l0ZS5oIgogI2luY2x1ZGUgImJ1ZmZlci5oIgogI2luY2x1 ZGUgImludGVydmFscy5oIgorI2luY2x1ZGUgInN5bnRheC5oIgogI2luY2x1ZGUgIndpbmRv dy5oIgogI2luY2x1ZGUgInB1cmVzaXplLmgiCiAjaW5jbHVkZSAiZ251dGxzLmgiCkBAIC0z NTc2LDEzICszNTc2LDE1IEBAIERFRlVOICgieWVzLW9yLW5vLXAiLCBGeWVzX29yX25vX3As IFN5ZXNfb3Jfbm9fcCwgMSwgMSwgMCwKICAgaWYgKHVzZV9zaG9ydF9hbnN3ZXJzKQogICAg IHJldHVybiBjYWxsMSAoUXlfb3Jfbl9wLCBwcm9tcHQpOwogCi0gIHsKLSAgICBjaGFyICpz ID0gU1NEQVRBIChwcm9tcHQpOwotICAgIHB0cmRpZmZfdCBsZW4gPSBzdHJsZW4gKHMpOwot ICAgIGlmICgobGVuID4gMCkgJiYgIWlzc3BhY2UgKHNbbGVuIC0gMV0pKQotICAgICAgcHJv bXB0ID0gQ0FMTE4gKEZjb25jYXQsIHByb21wdCwgYnVpbGRfc3RyaW5nICgiICIpKTsKLSAg fQotICBwcm9tcHQgPSBDQUxMTiAoRmNvbmNhdCwgcHJvbXB0LCBWeWVzX29yX25vX3Byb21w dCk7CisgIHB0cmRpZmZfdCBwcm9tcHRsZW4gPSBTQ0hBUlMgKHByb21wdCk7CisgIGJvb2wg cHJvbXB0X2VuZHNfaW5fbm9uc3BhY2UKKyAgICA9ICgwIDwgcHJvbXB0bGVuCisgICAgICAg JiYgKFNZTlRBWCAoWEZJWE5BVCAoRmFyZWYgKHByb21wdCwgbWFrZV9maXhudW0gKHByb21w dGxlbiAtIDEpKSkpCisJICAgIT0gU3doaXRlc3BhY2UpKTsKKyAgQVVUT19TVFJJTkcgKHNw YWNlX3N0cmluZywgIiAiKTsKKyAgcHJvbXB0ID0gQ0FMTE4gKEZjb25jYXQsIHByb21wdCwK KwkJICBwcm9tcHRfZW5kc19pbl9ub25zcGFjZSA/IHNwYWNlX3N0cmluZyA6IGVtcHR5X3Vu aWJ5dGVfc3RyaW5nLAorCQkgIFZ5ZXNfb3Jfbm9fcHJvbXB0KTsKIAogICBzcGVjcGRsX3Jl ZiBjb3VudCA9IFNQRUNQRExfSU5ERVggKCk7CiAgIHNwZWNiaW5kIChRZW5hYmxlX3JlY3Vy c2l2ZV9taW5pYnVmZmVycywgUXQpOwotLSAKMi40My4wCgo= --------------0acPehYJigiIb8l9Pe7EdgUy Content-Type: text/x-patch; charset=UTF-8; name="0002-Fix-misuse-of-toupper-in-sfnt_parse_style.patch" Content-Disposition: attachment; filename="0002-Fix-misuse-of-toupper-in-sfnt_parse_style.patch" Content-Transfer-Encoding: base64 RnJvbSA1OGE0NGI2YWMzMTdjOWExN2JjZGQyMDhlNGVjMzNmZjk3NzI0MjllIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE3IFNlcCAyMDI0IDE1OjIzOjQ3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCAyLzRdIEZpeCBtaXN1c2Ugb2YgdG91cHBlciBpbiBzZm50X3BhcnNlX3N0eWxlCk1JTUUt VmVyc2lvbjogMS4wCkNvbnRlbnQtVHlwZTogdGV4dC9wbGFpbjsgY2hhcnNldD1VVEYtOApD b250ZW50LVRyYW5zZmVyLUVuY29kaW5nOiA4Yml0CgoqIHNyYy9zZm50Zm9udC5jOiBJbmNs dWRlIGMtY3R5cGUuaCwgbm90IGN0eXBlLmguCihzZm50X3BhcnNlX3N0eWxlKTogVXBjYXNl IGp1c3QgaW5pdGlhbCBBU0NJSSBsZXR0ZXJzOwp0aGF04oCZcyBnb29kIGVub3VnaCBoZXJl LgotLS0KIHNyYy9zZm50Zm9udC5jIHwgOCArKysrLS0tLQogMSBmaWxlIGNoYW5nZWQsIDQg aW5zZXJ0aW9ucygrKSwgNCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9zcmMvc2ZudGZv bnQuYyBiL3NyYy9zZm50Zm9udC5jCmluZGV4IDhjMDJjMDVlN2E2Li5mMjFiNmMwNzgyZiAx MDA2NDQKLS0tIGEvc3JjL3NmbnRmb250LmMKKysrIGIvc3JjL3NmbnRmb250LmMKQEAgLTIw LDcgKzIwLDcgQEAgQ29weXJpZ2h0IChDKSAyMDIzLTIwMjQgRnJlZSBTb2Z0d2FyZSBGb3Vu ZGF0aW9uLCBJbmMuCiAjaW5jbHVkZSA8Y29uZmlnLmg+CiAKICNpbmNsdWRlIDxmY250bC5o PgotI2luY2x1ZGUgPGN0eXBlLmg+CisjaW5jbHVkZSA8Yy1jdHlwZS5oPgogCiAjaW5jbHVk ZSAibGlzcC5oIgogCkBAIC01MzQsMTIgKzUzNCwxMiBAQCBzZm50X3BhcnNlX3N0eWxlIChM aXNwX09iamVjdCBzdHlsZV9uYW1lLCBzdHJ1Y3Qgc2ZudF9mb250X2Rlc2MgKmRlc2MpCiAJ fQogCiAgICAgICAvKiBUaGlzIHRva2VuIGlzIGV4dHJhbmVvdXMgb3Igd2FzIG5vdCByZWNv Z25pemVkLiAgQ2FwaXRhbGl6ZQotCSB0aGUgZmlyc3QgbGV0dGVyIGFuZCBzZXQgaXQgYXMg dGhlIGFkc3R5bGUuICAqLworCSB0aGUgZmlyc3QgbGV0dGVyIGlmIGl0J3MgQVNDSUkgbG93 ZXJjYXNlLCB0aGVuIHNldCB0aGUgdG9rZW4gYXMKKwkgdGhlIGFkc3R5bGUuICAqLwogCiAg ICAgICBpZiAoc3RybGVuIChzaW5nbGUpKQogCXsKLQkgIGlmIChpc2xvd2VyIChzaW5nbGVb MF0pKQotCSAgICBzaW5nbGVbMF0gPSB0b3VwcGVyIChzaW5nbGVbMF0pOworCSAgc2luZ2xl WzBdID0gY190b3VwcGVyIChzaW5nbGVbMF0pOwogCiAJICBpZiAoTklMUCAoZGVzYy0+YWRz dHlsZSkpCiAJICAgIGRlc2MtPmFkc3R5bGUgPSBidWlsZF9zdHJpbmcgKHNpbmdsZSk7Ci0t IAoyLjQzLjAKCg== --------------0acPehYJigiIb8l9Pe7EdgUy Content-Type: text/x-patch; charset=UTF-8; name="0003-Fix-some-misparsing-in-check_interpreter.patch" Content-Disposition: attachment; filename="0003-Fix-some-misparsing-in-check_interpreter.patch" Content-Transfer-Encoding: base64 RnJvbSBlMGIwMjdkMTIxNWVkMzJmZTBmM2QwOTU2ZDJkN2E4MTU1MjI3NGYyIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE3IFNlcCAyMDI0IDE2OjM4OjUzIC0wNzAwClN1YmplY3Q6IFtQQVRD SCAzLzRdIEZpeCBzb21lICMhIG1pc3BhcnNpbmcgaW4gY2hlY2tfaW50ZXJwcmV0ZXIKTUlN RS1WZXJzaW9uOiAxLjAKQ29udGVudC1UeXBlOiB0ZXh0L3BsYWluOyBjaGFyc2V0PVVURi04 CkNvbnRlbnQtVHJhbnNmZXItRW5jb2Rpbmc6IDhiaXQKCiogZXhlYy9leGVjLmM6IERvIG5v dCBpbmNsdWRlIGN0eXBlLmgsIGFzIHRoZSBrZXJuZWwKZG9lcyBub3QgY2FyZSBhYm91dCB0 aGUgbG9jYWxlLgooY2hlY2tfaW50ZXJwcmV0ZXIpOiBUcmVhdCBvbmx5IHNwYWNlcyBhbmQg dGFicyBhcyB3aGl0ZSBzcGFjZS4KRG8gbm90IGluc3BlY3QgbW9yZSBieXRlcyB0aGFuIHdl cmUgcmVhZC4KQWx0aG91Z2ggdGhlIHJlc3VsdGluZyBjb2RlIGRvZXMgbm90IGV4YWN0bHkg bWF0Y2ggd2hhdAp0aGUgQW5kcm9pZCBrZXJuZWwgZG9lcywgaXTigJlzIGNsb3NlciB0aGFu IHdoYXQgaXQgd2FzIGJlZm9yZS4KLS0tCiBleGVjL2V4ZWMuYyB8IDEwICsrKysrLS0tLS0K IDEgZmlsZSBjaGFuZ2VkLCA1IGluc2VydGlvbnMoKyksIDUgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZXhlYy9leGVjLmMgYi9leGVjL2V4ZWMuYwppbmRleCA3NzVhOGIwNmI5Ni4u ZjMxYzlhODk3NDQgMTAwNjQ0Ci0tLSBhL2V4ZWMvZXhlYy5jCisrKyBiL2V4ZWMvZXhlYy5j CkBAIC0yNCw3ICsyNCw2IEBAIENvcHlyaWdodCAoQykgMjAyMy0yMDI0IEZyZWUgU29mdHdh cmUgRm91bmRhdGlvbiwgSW5jLgogI2luY2x1ZGUgPGZjbnRsLmg+CiAjaW5jbHVkZSA8YXNz ZXJ0Lmg+CiAjaW5jbHVkZSA8c3RyaW5nLmg+Ci0jaW5jbHVkZSA8Y3R5cGUuaD4KICNpbmNs dWRlIDxzdGRsaWIuaD4KIAogI2luY2x1ZGUgPHN5cy9wdHJhY2UuaD4KQEAgLTExNiwxMSAr MTE1LDExIEBAIGNoZWNrX2ludGVycHJldGVyIChjb25zdCBjaGFyICpuYW1lLCBpbnQgZmQs IGNvbnN0IGNoYXIgKipleHRyYSkKIAogICAvKiBTdHJpcCBsZWFkaW5nIHdoaXRlc3BhY2Uu ICAqLwogICBzdGFydCA9IGJ1ZmZlcjsKLSAgd2hpbGUgKCpzdGFydCAmJiAoKHVuc2lnbmVk IGNoYXIpICpzdGFydCkgPCAxMjggJiYgaXNzcGFjZSAoKnN0YXJ0KSkKKyAgd2hpbGUgKHN0 YXJ0IDwgYnVmZmVyICsgcmMgJiYgKCpzdGFydCA9PSAnICcgfHwgKnN0YXJ0ID09ICdcdCcp KQogICAgICsrc3RhcnQ7CiAKICAgLyogTG9vayBmb3IgYSBuZXdsaW5lIGNoYXJhY3Rlci4g ICovCi0gIGVuZCA9IG1lbWNociAoc3RhcnQsICdcbicsIHJjKTsKKyAgZW5kID0gbWVtY2hy IChzdGFydCwgJ1xuJywgYnVmZmVyICsgcmMgLSBzdGFydCk7CiAKICAgaWYgKCFlbmQpCiAg ICAgZ290byBmYWlsOwpAQCAtMTMwLDExICsxMjksMTIgQEAgY2hlY2tfaW50ZXJwcmV0ZXIg KGNvbnN0IGNoYXIgKm5hbWUsIGludCBmZCwgY29uc3QgY2hhciAqKmV4dHJhKQogICAqZW5k ID0gJ1wwJzsKIAogICAvKiBOb3cgbG9vayBmb3IgYW55IHdoaXRlc3BhY2UgY2hhcmFjdGVy cy4gICovCi0gIHdzID0gc3RyY2hyIChzdGFydCwgJyAnKTsKKyAgZm9yICh3cyA9IHN0YXJ0 OyAqd3MgJiYgKndzICE9ICcgJyAmJiAqd3MgIT0gJ1x0Jzsgd3MrKykKKyAgICBjb250aW51 ZTsKIAogICAvKiBJZiB0aGVyZSdzIG5vIHdoaXRlc3BhY2UsIHJldHVybiB0aGUgZW50aXJl IHN0YXJ0LiAgKi8KIAotICBpZiAoIXdzKQorICBpZiAoISp3cykKICAgICB7CiAgICAgICBp ZiAobHNlZWsgKGZkLCAwLCBTRUVLX1NFVCkpCiAJZ290byBmYWlsOwotLSAKMi40My4wCgo= --------------0acPehYJigiIb8l9Pe7EdgUy Content-Type: text/x-patch; charset=UTF-8; name="0004-Use-c-ctype.h-in-lib-src.patch" Content-Disposition: attachment; filename="0004-Use-c-ctype.h-in-lib-src.patch" Content-Transfer-Encoding: base64 RnJvbSA4NjViNTRlMmFjZWE0ZmRhYTNmMzAyZWQyMjVmNTAyODFiMzcxZDZlIE1vbiBTZXAg MTcgMDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIEVnZ2VydCA8ZWdnZXJ0QGNzLnVjbGEuZWR1 PgpEYXRlOiBUdWUsIDE3IFNlcCAyMDI0IDE2OjU0OjE3IC0wNzAwClN1YmplY3Q6IFtQQVRD SCA0LzRdIFVzZSBjLWN0eXBlLmggaW4gbGliLXNyYwoKVGhpcyBmaXhlcyBzb21lIHVubGlr ZWx5IGJ1Z3MgYW5kIHJlbW92ZXMgdGhlIHRlbXB0YXRpb24Kb2YgdXNpbmcgY3R5cGUuaC4g IEFsdGhvdWdoIHNvbWUgdXNlcyB3ZXJlIGNvcnJlY3QsCm1hbnkgd2VyZW4ndC4KKiBsaWIt c3JjL2Vicm93c2UuYzogSW5jbHVkZSBjLWN0eXBlLmgsIG5vdCBjdHlwZS5oLgoqIGxpYi1z cmMvZW1hY3NjbGllbnQuYzogSW5jbHVkZSBjLWN0eXBlLmgsIG5vdCBjdHlwZS5oLgoqIGxp Yi1zcmMvdXBkYXRlLWdhbWUtc2NvcmUuYzogSW5jbHVkZSBjLWN0eXBlLmgsIG5vdCBjdHlw ZS5oLgpBbGwgdXNlcyBjaGFuZ2VkLgotLS0KIGxpYi1zcmMvZWJyb3dzZS5jICAgICAgICAg ICB8IDEwICsrKysrLS0tLS0KIGxpYi1zcmMvZW1hY3NjbGllbnQuYyAgICAgICB8ICA2ICsr Ky0tLQogbGliLXNyYy91cGRhdGUtZ2FtZS1zY29yZS5jIHwgIDQgKystLQogMyBmaWxlcyBj aGFuZ2VkLCAxMCBpbnNlcnRpb25zKCspLCAxMCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9saWItc3JjL2Vicm93c2UuYyBiL2xpYi1zcmMvZWJyb3dzZS5jCmluZGV4IDgyMWMyOTI3 MmE0Li4xM2MxYmVmZGMzZSAxMDA2NDQKLS0tIGEvbGliLXNyYy9lYnJvd3NlLmMKKysrIGIv bGliLXNyYy9lYnJvd3NlLmMKQEAgLTIyLDExICsyMiwxMSBAQCBDb3B5cmlnaHQgKEMpIDE5 OTItMjAyNCBGcmVlIFNvZnR3YXJlIEZvdW5kYXRpb24sIEluYy4KICNpbmNsdWRlIDxzdGRk ZWYuaD4KICNpbmNsdWRlIDxzdGRsaWIuaD4KICNpbmNsdWRlIDxzdHJpbmcuaD4KLSNpbmNs dWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPGFzc2VydC5oPgogI2luY2x1ZGUgPGdldG9wdC5o PgogCiAjaW5jbHVkZSA8YXR0cmlidXRlLmg+CisjaW5jbHVkZSA8Yy1jdHlwZS5oPgogI2lu Y2x1ZGUgPGZsZXhtZW1iZXIuaD4KICNpbmNsdWRlIDxtaW4tbWF4Lmg+CiAjaW5jbHVkZSA8 dW5sb2NrZWQtaW8uaD4KQEAgLTE4NzUsNyArMTg3NSw3IEBAICNkZWZpbmUgUlNUUklOR19F T0ZfQ0hFQ0sJCQkJCQlcCiAKICAgICAgICAgaW50X3N1ZmZpeGVzOgogICAgICAgICAgIC8q IEludGVnZXIgc3VmZml4ZXMuICAqLwotICAgICAgICAgIHdoaWxlIChpc2FscGhhIChjKSkK KyAgICAgICAgICB3aGlsZSAoY19pc2FscGhhIChjKSkKICAgICAgICAgICAgIEdFVCAoYyk7 CiAgICAgICAgICAgVU5HRVQgKCk7CiAgICAgICAgICAgcmV0dXJuIENJTlQ7CkBAIC0xOTA3 LDcgKzE5MDcsNyBAQCAjZGVmaW5lIFJTVFJJTkdfRU9GX0NIRUNLCQkJCQkJXAogICAgICAg ICAgICAgfQogCiAgICAgICAgICAgLyogT3B0aW9uYWwgdHlwZSBzdWZmaXhlcy4gICovCi0g ICAgICAgICAgd2hpbGUgKGlzYWxwaGEgKGMpKQorICAgICAgICAgIHdoaWxlIChjX2lzYWxw aGEgKGMpKQogICAgICAgICAgICAgR0VUIChjKTsKIAkgIFVOR0VUICgpOwogICAgICAgICAg IHJldHVybiBDRkxPQVQ7CkBAIC0yMTU4LDcgKzIxNTgsNyBAQCBpbml0X3NjYW5uZXIgKHZv aWQpCiAgIC8qIFNldCB1cCBjaGFyYWN0ZXIgY2xhc3MgdmVjdG9ycy4gICovCiAgIGZvciAo aSA9IDA7IGkgPCBzaXplb2YgaXNfaWRlbnQ7ICsraSkKICAgICB7Ci0gICAgICBpZiAoaSA9 PSAnXycgfHwgaXNhbG51bSAoaSkpCisgICAgICBpZiAoaSA9PSAnXycgfHwgY19pc2FsbnVt IChpKSkKICAgICAgICAgaXNfaWRlbnRbaV0gPSAxOwogCiAgICAgICBpZiAoaSA+PSAnMCcg JiYgaSA8PSAnOScpCkBAIC0yOTQ2LDcgKzI5NDYsNyBAQCBvcGVyYXRvcl9uYW1lIChpbnQg KnNjKQogICAgICAgICAgIE1BVENIICgpOwogCiAJICAvKiBJZiB0aGlzIGlzIGEgc2ltcGxl IG9wZXJhdG9yIGxpa2UgYCsnLCBzdG9wIG5vdy4gICovCi0JICBpZiAoIWlzYWxwaGEgKCh1 bnNpZ25lZCBjaGFyKSAqcykgJiYgKnMgIT0gJygnICYmICpzICE9ICdbJykKKwkgIGlmICgh Y19pc2FscGhhICgqcykgJiYgKnMgIT0gJygnICYmICpzICE9ICdbJykKIAkgICAgYnJlYWs7 CiAKIAkgICsrdG9rZW5zX21hdGNoZWQ7CmRpZmYgLS1naXQgYS9saWItc3JjL2VtYWNzY2xp ZW50LmMgYi9saWItc3JjL2VtYWNzY2xpZW50LmMKaW5kZXggOGU2NGYxZTkyZDMuLmMxZmZh MTQ4MGVjIDEwMDY0NAotLS0gYS9saWItc3JjL2VtYWNzY2xpZW50LmMKKysrIGIvbGliLXNy Yy9lbWFjc2NsaWVudC5jCkBAIC02OCw3ICs2OCw2IEBAIENvcHlyaWdodCAoQykgMTk4Ni0y MDI0IEZyZWUgU29mdHdhcmUgRm91bmRhdGlvbiwgSW5jLgogCiAjZGVmaW5lIERFRkFVTFRf VElNRU9VVCAoMzApCiAKLSNpbmNsdWRlIDxjdHlwZS5oPgogI2luY2x1ZGUgPGVycm5vLmg+ CiAjaW5jbHVkZSA8Z2V0b3B0Lmg+CiAjaW5jbHVkZSA8aW50dHlwZXMuaD4KQEAgLTgzLDYg KzgyLDcgQEAgI2RlZmluZSBERUZBVUxUX1RJTUVPVVQgKDMwKQogI2luY2x1ZGUgPHVuaXN0 ZC5oPgogCiAjaW5jbHVkZSA8YXR0cmlidXRlLmg+CisjaW5jbHVkZSA8Yy1jdHlwZS5oPgog I2luY2x1ZGUgPGZpbGVuYW1lLmg+CiAjaW5jbHVkZSA8aW50cHJvcHMuaD4KICNpbmNsdWRl IDxtaW4tbWF4Lmg+CkBAIC0yMTI0LDcgKzIxMjQsNyBAQCBtYWluIChpbnQgYXJnYywgY2hh ciAqKmFyZ3YpCiAJICAgICAgdW5zaWduZWQgY2hhciBjOwogCSAgICAgIGRvCiAJCWMgPSAq KytwOwotCSAgICAgIHdoaWxlIChpc2RpZ2l0IChjKSB8fCBjID09ICc6Jyk7CisJICAgICAg d2hpbGUgKGNfaXNkaWdpdCAoYykgfHwgYyA9PSAnOicpOwogCiAJICAgICAgaWYgKGMgPT0g MCkKICAgICAgICAgICAgICAgICB7CkBAIC0yMTM2LDcgKzIxMzYsNyBAQCBtYWluIChpbnQg YXJnYywgY2hhciAqKmFyZ3YpCiAgICAgICAgICAgICB9CiAjaWZkZWYgV0lORE9XU05UCiAJ ICBlbHNlIGlmICghIElTX0FCU09MVVRFX0ZJTEVfTkFNRSAoYXJndltpXSkKLQkJICAgJiYg KGlzYWxwaGEgKGFyZ3ZbaV1bMF0pICYmIGFyZ3ZbaV1bMV0gPT0gJzonKSkKKwkJICAgJiYg KGNfaXNhbHBoYSAoYXJndltpXVswXSkgJiYgYXJndltpXVsxXSA9PSAnOicpKQogCSAgICAv KiBXaW5kb3dzIGNhbiBoYXZlIGEgZGlmZmVyZW50IGRlZmF1bHQgZGlyZWN0b3J5IGZvciBl YWNoCiAJICAgICAgIGRyaXZlLCBzbyB0aGUgY3dkIHBhc3NlZCB2aWEgIi1kaXIiIGlzIG5v dCBzdWZmaWNpZW50CiAJICAgICAgIHRvIGFjY291bnQgZm9yIHRoYXQuCmRpZmYgLS1naXQg YS9saWItc3JjL3VwZGF0ZS1nYW1lLXNjb3JlLmMgYi9saWItc3JjL3VwZGF0ZS1nYW1lLXNj b3JlLmMKaW5kZXggZTNiMjRhZDc3MTcuLjc1NDVkMDM5MGMxIDEwMDY0NAotLS0gYS9saWIt c3JjL3VwZGF0ZS1nYW1lLXNjb3JlLmMKKysrIGIvbGliLXNyYy91cGRhdGUtZ2FtZS1zY29y ZS5jCkBAIC00MSwxMSArNDEsMTEgQEAgQ29weXJpZ2h0IChDKSAyMDAyLTIwMjQgRnJlZSBT b2Z0d2FyZSBGb3VuZGF0aW9uLCBJbmMuCiAjaW5jbHVkZSA8c3RkbGliLmg+CiAjaW5jbHVk ZSA8dGltZS5oPgogI2luY2x1ZGUgPHB3ZC5oPgotI2luY2x1ZGUgPGN0eXBlLmg+CiAjaW5j bHVkZSA8ZmNudGwuaD4KICNpbmNsdWRlIDxzeXMvc3RhdC5oPgogI2luY2x1ZGUgPGdldG9w dC5oPgogCisjaW5jbHVkZSA8Yy1jdHlwZS5oPgogI2luY2x1ZGUgPHVubG9ja2VkLWlvLmg+ CiAKICNpZmRlZiBXSU5ET1dTTlQKQEAgLTE0Myw3ICsxNDMsNyBAQCBub3JtYWxpemVfaW50 ZWdlciAoY2hhciAqbnVtKQogewogICBib29sIG5lZzsKICAgY2hhciAqcDsKLSAgd2hpbGUg KCpudW0gIT0gJ1xuJyAmJiBpc3NwYWNlICgqbnVtKSkKKyAgd2hpbGUgKCpudW0gIT0gJ1xu JyAmJiBjX2lzc3BhY2UgKCpudW0pKQogICAgIG51bSsrOwogICBuZWcgPSAqbnVtID09ICct JzsKICAgbnVtICs9IG5lZyB8fCAqbnVtID09ICctJzsKLS0gCjIuNDMuMAoK --------------0acPehYJigiIb8l9Pe7EdgUy-- From debbugs-submit-bounces@debbugs.gnu.org Tue Sep 17 22:14:02 2024 Received: (at 73307-done) by debbugs.gnu.org; 18 Sep 2024 02:14:02 +0000 Received: from localhost ([127.0.0.1]:56764 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqkCg-0005vo-46 for submit@debbugs.gnu.org; Tue, 17 Sep 2024 22:14:02 -0400 Received: from sonic303-20.consmr.mail.ne1.yahoo.com ([66.163.188.146]:34931) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqkCd-0005vD-UW for 73307-done@debbugs.gnu.org; Tue, 17 Sep 2024 22:14:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1726625618; bh=nwDHGmq8zPqEkVABfJXMSIlbOdqxgcfsUGctrSg2HWk=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From:Subject:Reply-To; b=JmYJEgTCd4Zb+illRsC4tX1B2/GZ7g8U/6R23rKNMQ2v44wUgi1rKwNlR02QJgZ+yNoYz3fAd9Cq1dn2OdoSNmVe58Rm49cnkO6Kye9KwHEcLeqrJQkxrsBgpPYseULp6b1EGFNjutFKjkEd5mm5vxU96srw1HsTE9KQXAnwm/nZa0bspQnklPmWLH53ixYFrJDtGd78fCBb28H3QuLCoalKVZrRAatvgmAoWhQ7TaW0oxtH51fKDUO8ATWvE+a2DaIiCiXJVxnzgsYNyQ3JJhlL/xjxJz63mUc8LLbin4bc5tNgaBericLsbGiC65lOZYBtBE0G1zhHDYW+br1ncg== X-SONIC-DKIM-SIGN: v=1; a=rsa-sha256; c=relaxed/relaxed; d=yahoo.com; s=s2048; t=1726625618; bh=d+NK41x/Q6Ay2wWYmMlR4AYlHPxunGBRJTsfFYsKIDk=; h=X-Sonic-MF:From:To:Subject:Date:From:Subject; b=ng9Ljn8jyqsHHj9kPFGmKHsd07wtlN4jZ1qC8rQej0l8eQgQQKOJuC1tFkb64MRlcOfJ1eLjqQWX3StgGrAwqxKWqH1w77mV0Sc6UU/gb8QZAoYCq2zsn7FLlrmxdMHHAED+MedFHc5xL6FGdR02i/CSXXjcgJxugBISaHu1OyxqMm45mesp+GkvG86Zv27foDJYjFwsGO4WhrF9r+VYXLA9VME/kn685vcJ26lGbxCb49le2lmfn2OFMUPkCD0BacqETKDw8mgfXUSyKA6R1Gev8V5atrgPonFQ/HS2AiwUzNLx89yTccFm8zE/Tg9W8pgMoC9P187xek4gVTobmA== X-YMail-OSG: wBa_SL8VM1m68oA9svm70bz8SD3cv_twljbrms_jEZEKdsthfE6nhaBYPm_S4GA 4e5g8n46f1GKHFwUOmGzcPKLGTo4by0uz0KEkgRQ5lwB0IBy_HazjxtKKhxIpnovPtsOWcmBAPtK cgwNeQxoOnDUd5vUnKx3GejftCSwArYaPHYsDXQhYQaGYgQYVh8NDmtY8.nhfV.leMJn8LU28zkd MVun3wmOYHD_PXXZUrPp46xCQr1nYKGyBpKd30MJpwgKY3O8hhgUpTEQaeF5WVxbq.XtbLV4tIhB 1zJW0i8nlWQGHbJkYR_rbpDzVXbHvbIrXcUrIv1xzpGYuaZ7GJZQduljHiarKbfs4vENZ3viGF5E Ft9f672ziFXKzKYiP1DE7Rgc70CgdFb4SusdkeMDmYjT8Fd1w8.t9d13wmYnUwA6zQZbL0pOvzVT BFzbECCmGB_sGHB1q4UhlHuoNXvlY2sstNny3qGXmStSfxs5Hwc29eR_QQ1JfMaNoJJfTHcn9tdJ mPR3ivyM2cY0trWBhnbH0DglCTR4pV9mU..pK6KAUemcYPIYo1CB41vW2E3T5QGcR_5t9ZWTdeyg Xx9oAXtQJyfk7_DzF5x4k24iNYP1muoczPpD4aDBW5HKCGEUhfwt2sW_LvQWIgjRcqYupARgqoJH oMGTC1LXwwzPROx5U93LBAi.yOdHdumRfwmiTRNYslq9LvswqB.st_BP6LwijQrfLgYFMbh4u0L8 DHrYnHolc.F5u6pwRR4CnuY.P0KmZigvjqwyYp3G12dO6JFiGO3I5a2EdJCottvWewZamVoybrho J83up8WNxxFvvC170Vbfind6_bYUQ5Hs1lcgFiv8pz.L.E7VrQ_AnvYqBRuTwulxhBZFUTGQ9iD6 QTKfuksVIhlp0Xl.3sasN_VZ0fjDUHGkPN3qpQ0fHIisE3esroUlfBMqeeSwnGQOZ4vdRPKcLjMl XZ.23uwO9LDUcHqkVBrTRyfHDCNl_TJCEb5v0i0ZmXDJtsOwXZBsHwzGU_7Kqt90e6BckYiK4FjN rTEXFYnRWvN1Vl5QI4UI6.UMw1C7TcyenE_LtIBPqlYXwywr7eudCCwTurm3HwI9QRIlGlUITZSH LO1Xkc.FQTtxKy3AsoLycXbqBqgQImxdJ5btFtIbeUip2Ev_BUfe1Kh6ER6gkbFJCk.X3IR1jtop T5RWomqxfCMbysVhfbUxKKNhHoGe6i6xwc3ne2SiaaZMWRXSRGifZ9B7EHSpbOkqJIn5KAb.XQc3 wajkmSRFxS2RS4yCirlRYWkereM5tzUUYlWKZ4BX2EMjt2F9rNmqGBjRF037MyBpEiLIeKUuWCFa 7YBYOOXWUnEx0AU7Ehvd8yBkb_f9T3F_GcQSRJ0z1X7uB5QzlF94vAUpcZlxdv0nVkPBohxYsy6u qCJNyYCUfB__zTc2qW0hnO5iKU0HNlKl5VAFO4rrlcp0sMBDxXfeoTg4h1IZKum.oY1Jb9jwTa4B rsdt_GK_aKmdzFfHr4BTTN9c6gvyMK1dmU9KojKFXn7PlOu2QrOBaaSM38tRA_1QRzO0BRYsAh2. hUC0QoOXE22nEqu0WSqxXbX6DrHxjURCnaQojVPtv1nrxD3SKfNeh3p4nF0MSlLikL.DE7grShtK EEMyBqBauvu6X7_x_ciDMgM5krWwuhvXIETejDEIszyGlzggrmPDSySeALCcX87ysWhx8AsjAyyW LIIqkeVhRTs2kKhWwb958EwirhPRoqHk1ztQOUIYTuwc9d9J8Ycx.sj5P_tIzaBfO6kQUyCIoYGl ZCRvvZY8Bu8NAtVEshBaxuxAzIWtI3eUrvyKjLI10n1kx71vcLPc.1umGLmNjt0mXiXUs8VmaGnX decEOVQdzqqugfCvpwTTZhqkIZtj8bO3fEBc33APMeZv2KYszK_85sBvDH8BZi4oXaxYvXjo04Oe CWmAQ8aBMdBpWfEY7teBc2tFGeHgaDK3yxjm80glGdqfDR69sYXQi70NF6WOmNapQ25zOOm4G06y SepWtd4VSeTqR3..dP3ydK2J0tbu_D.QyowSSnQ3Fk97bPTQW6Biso5asShsHFTYHeI.walfRc4U L5.CdVnDYrWDGuXCNbWuX5X5k5WtRGUUB0ghcpEbJOjQ9sEx1dSqtBRxxXY.Okpt3XurBwRtcICf yoi26x5qudaPdmhBsB5ioUPy_p.AjOImiBzb99NDMMRDhVRFqA05lfZ_7TuESPlzwzyiDmlTB1LA e180aM71q_XuQU2uPMpmM_UFFIkA9XnowzS2H2DQB0pbWicTcyTF.94YanYen X-Sonic-MF: X-Sonic-ID: 9f1a5c96-b2ea-4af4-9a29-53edaa59600c Received: from sonic.gate.mail.ne1.yahoo.com by sonic303.consmr.mail.ne1.yahoo.com with HTTP; Wed, 18 Sep 2024 02:13:38 +0000 Received: by hermes--production-sg3-fc85cddf6-pbnn7 (Yahoo Inc. Hermes SMTP Server) with ESMTPA ID 3df7ed6e538c20dd02ecc60a03794d8a; Wed, 18 Sep 2024 02:13:34 +0000 (UTC) From: Po Lu To: Paul Eggert Subject: Re: bug#73307: Fix ctype(3) usage In-Reply-To: <89deb908-92a6-489f-bab9-116556ce8ce4@cs.ucla.edu> (Paul Eggert's message of "Tue, 17 Sep 2024 17:05:29 -0700") References: <86r09ibiq3.fsf@gnu.org> <89deb908-92a6-489f-bab9-116556ce8ce4@cs.ucla.edu> Date: Wed, 18 Sep 2024 10:13:26 +0800 Message-ID: <874j6d4sl5.fsf@yahoo.com> User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-Mailer: WebService/1.1.22645 mail.backend.jedi.jws.acl:role.jedi.acl.token.atz.jws.hermes.yahoo Content-Length: 424 X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 73307-done Cc: Eli Zaretskii , 73307-done@debbugs.gnu.org, Thomas Klausner X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) Paul Eggert writes: > I can't easily test patch 0003, which fixes Android-specific > code. Although I think it's an improvement, in unlikely cases I > suspect it still doesn't exactly match what the Android kernel does > with #! lines. I don't know whether that matters. I'll CC this to Po > Lu (my goto person for Android) as a heads-up. It's OK. Though I have never encountered shebangs with tabs. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 07:46:21 2024 Received: (at 73307) by debbugs.gnu.org; 18 Sep 2024 11:46:21 +0000 Received: from localhost ([127.0.0.1]:57175 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqt8W-0006fE-Oy for submit@debbugs.gnu.org; Wed, 18 Sep 2024 07:46:21 -0400 Received: from eggs.gnu.org ([209.51.188.92]:46826) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqt8R-0006ew-RQ for 73307@debbugs.gnu.org; Wed, 18 Sep 2024 07:46:19 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sqt80-0003cB-QE; Wed, 18 Sep 2024 07:45:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=1OMXcIvJvmo+OrYU4nZl3kMlbuq+qVEdaYf/EmBZh/U=; b=EMAIa2zNGhNQ OvNPDz9XwEzq9/n6wwYQ3sZ57Xakx1SdPHMp6rSBmUup+Ima2fSUVhY/osPgl50RduZ3q+UhXRGkh GJ2mKcX7l5o5H4FMPVZBV6qHcTpRM/YqO6Ak+goSuHXhsO0uI12b3VtODhb6ni7m1HD8KbrmPosMX sEQfVxk+vFu/yrUyMk6D7ZyXs+bOLUHi3in4U2XEZ0qhq47/6vXRdyMa11jn6fQxwOFHBKbbAcIkh UhZ21HzA7v3p1E7PtOqf0HyciKDbbIJRbOKZI3/nEx5Vt4l6GJXZrakJl47HxKvXFP3M3sY+O8pk/ 8IZR4wjg415PxtYKhHJEGw==; Date: Wed, 18 Sep 2024 14:45:25 +0300 Message-Id: <86r09h9odm.fsf@gnu.org> From: Eli Zaretskii To: Paul Eggert , Stefan Monnier In-Reply-To: <89deb908-92a6-489f-bab9-116556ce8ce4@cs.ucla.edu> (message from Paul Eggert on Tue, 17 Sep 2024 17:05:29 -0700) Subject: Re: bug#73307: Fix ctype(3) usage References: <86r09ibiq3.fsf@gnu.org> <89deb908-92a6-489f-bab9-116556ce8ce4@cs.ucla.edu> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73307 Cc: luangruo@yahoo.com, 73307@debbugs.gnu.org, wiz@gatalith.at X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Tue, 17 Sep 2024 17:05:29 -0700 > Cc: 73307-done@debbugs.gnu.org, Thomas Klausner , > Po Lu > From: Paul Eggert > > On 2024-09-17 04:52, Eli Zaretskii wrote: > > However, I'm not sure this is the right fix, the function is > > defined with argument type of 'int'. Paul, any comments? > > Although that patch was an improvement it still had problems, as it > incorrectly assumed the string does not end in a multibyte space, and > that Emacs's locale matches the system's. > > Emacs itself should not use unless it knows the string is > unibyte and the system locale matches Emacs's. I scanned through its > source code looking for all problematic instances of that have > crept in (except I didn't scan the MS-Windows code, where you're the > expert), and found five other places where ctype.h was obviously > misused. I installed the attached to fix these glitches and am boldly > closing this the report. > > I can't easily test patch 0003, which fixes Android-specific code. > Although I think it's an improvement, in unlikely cases I suspect it > still doesn't exactly match what the Android kernel does with #! lines. > I don't know whether that matters. I'll CC this to Po Lu (my goto person > for Android) as a heads-up. Thanks. This part doesn't look right to me: > - { > - char *s = SSDATA (prompt); > - ptrdiff_t len = strlen (s); > - if ((len > 0) && !isspace (s[len - 1])) > - prompt = CALLN (Fconcat, prompt, build_string (" ")); > - } > - prompt = CALLN (Fconcat, prompt, Vyes_or_no_prompt); > + ptrdiff_t promptlen = SCHARS (prompt); > + bool prompt_ends_in_nonspace > + = (0 < promptlen > + && (SYNTAX (XFIXNAT (Faref (prompt, make_fixnum (promptlen - 1)))) > + != Swhitespace)); > + AUTO_STRING (space_string, " "); > + prompt = CALLN (Fconcat, prompt, > + prompt_ends_in_nonspace ? space_string : empty_unibyte_string, > + Vyes_or_no_prompt); You are testing characters for whitespace syntax, which is AFAIU subject to buffer-local syntax tables. Thus, a strange enough setting of buffer syntax could make this code return unexpected results. Stefan, am I right? Why can't we use something closer to the original code, which doesn't depend on buffer-local customizations? In particular, what's the problem with using c_isspace (and what do you mean by "multibyte space"?) From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 11:18:47 2024 Received: (at 73307) by debbugs.gnu.org; 18 Sep 2024 15:18:47 +0000 Received: from localhost ([127.0.0.1]:59114 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqwS7-0002Oi-Im for submit@debbugs.gnu.org; Wed, 18 Sep 2024 11:18:47 -0400 Received: from mailscanner.iro.umontreal.ca ([132.204.25.50]:55200) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqwS5-0002OU-90 for 73307@debbugs.gnu.org; Wed, 18 Sep 2024 11:18:46 -0400 Received: from pmg1.iro.umontreal.ca (localhost.localdomain [127.0.0.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 3B4E2100045; Wed, 18 Sep 2024 11:18:23 -0400 (EDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=iro.umontreal.ca; s=mail; t=1726672702; bh=Y2B4efn1nQcik5v/XjYv+se58wkacgIG2ILF3syHh7c=; h=From:To:Cc:Subject:In-Reply-To:References:Date:From; b=i6VDVU/r9DBZbnWgIUIo+Sxy4juc+bFUemgUX0BMAaQ7a908kvU7LZvs3b26jCBpi tGZOdZhH50w1C6OoxsFLnqfIUhTGJR+EzxgbTLPoghJBBtjffs6IhJ5q6iOjRtvwDN tHvC1B0S/ka95fs9aisC+4ROGYxJuETh0JWiborWNRaFkRxgEye3SpW6fkyAoTE0Z4 WDnHteLo6p8djOS6lhbknsKwCNWEj4Xcu9cmTdOUGXmdqDiWjQcGhYhimDxwEyd/xz MT7hXUeOzFa9BhThxP/f4cx6QAx3U+gZxV2+BJQWYJ08FzS6NSFLcxI/jRHTdQmMje Vk+zQWqf5SJ5g== Received: from mail01.iro.umontreal.ca (unknown [172.31.2.1]) by pmg1.iro.umontreal.ca (Proxmox) with ESMTP id 30F65100035; Wed, 18 Sep 2024 11:18:22 -0400 (EDT) Received: from lechazo (lechon.iro.umontreal.ca [132.204.27.242]) by mail01.iro.umontreal.ca (Postfix) with ESMTPSA id 1DCB41202E2; Wed, 18 Sep 2024 11:18:22 -0400 (EDT) From: Stefan Monnier To: Eli Zaretskii Subject: Re: bug#73307: Fix ctype(3) usage In-Reply-To: <86r09h9odm.fsf@gnu.org> (Eli Zaretskii's message of "Wed, 18 Sep 2024 14:45:25 +0300") Message-ID: References: <86r09ibiq3.fsf@gnu.org> <89deb908-92a6-489f-bab9-116556ce8ce4@cs.ucla.edu> <86r09h9odm.fsf@gnu.org> Date: Wed, 18 Sep 2024 11:18:21 -0400 User-Agent: Gnus/5.13 (Gnus v5.13) MIME-Version: 1.0 Content-Type: text/plain X-SPAM-INFO: Spam detection results: 0 ALL_TRUSTED -1 Passed through trusted hosts only via SMTP AWL 0.148 Adjusted score from AWL reputation of From: address BAYES_00 -1.9 Bayes spam probability is 0 to 1% DKIM_SIGNED 0.1 Message has a DKIM or DK signature, not necessarily valid DKIM_VALID -0.1 Message has at least one valid DKIM or DK signature DKIM_VALID_AU -0.1 Message has a valid DKIM or DK signature from author's domain DKIM_VALID_EF -0.1 Message has a valid DKIM or DK signature from envelope-from domain X-SPAM-LEVEL: X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73307 Cc: luangruo@yahoo.com, 73307@debbugs.gnu.org, Paul Eggert , wiz@gatalith.at X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > You are testing characters for whitespace syntax, which is AFAIU > subject to buffer-local syntax tables. Thus, a strange enough setting > of buffer syntax could make this code return unexpected results. > > Stefan, am I right? Yup. > Why can't we use something closer to the original code, which doesn't > depend on buffer-local customizations? We could use the global/default syntax table? [ Or rely on some of the unicode tables? ] Stefan From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 11:35:44 2024 Received: (at 73307) by debbugs.gnu.org; 18 Sep 2024 15:35:44 +0000 Received: from localhost ([127.0.0.1]:59155 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqwiW-0003Uj-55 for submit@debbugs.gnu.org; Wed, 18 Sep 2024 11:35:44 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:34510) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqwiT-0003UU-8Z for 73307@debbugs.gnu.org; Wed, 18 Sep 2024 11:35:42 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 86FCD3C011BDD; Wed, 18 Sep 2024 08:35:19 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id wWvlwdPbUZJ1; Wed, 18 Sep 2024 08:35:19 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 3C8283C011BDE; Wed, 18 Sep 2024 08:35:19 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 3C8283C011BDE DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1726673719; bh=6qfdwKDq59DY4q+sNS4/AQih2wZgWaw/MUZOsKrk7kg=; h=Message-ID:Date:MIME-Version:To:From; b=Y/YdsWRfXYjTxzwTKHSpgggKl8BUDlPGtWp4+vo1FoJyyc5K62QHUF1ps/vj2LAM7 BpUjykyZREOZutSn2YIYL+0CGzbduW2zSH3NWIRhIQ3wfITim+HsL6wNI78x1QUWdc y5jP+8OJY0nih5NHZd6wIlSoG6zAsDNLfPDIjzXcz+buOdS0BYuOFcNFPOxfefvP7+ tJByhxFK7YkJ2IF2+VYZbVkvr0NaoHVKqeln8kwOk7KJoaK1kCgvZqQwRv+DbLMG2R 158TGPHWaUZY6gtjsVFX5AZM81hcQNgMS17Dbq1BxJY/txw/OFlZIkjn/7U8GzpSCa echZzFUsIVaxQ== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id A9Zv03q7yEqh; Wed, 18 Sep 2024 08:35:19 -0700 (PDT) Received: from [192.168.254.12] (unknown [47.150.137.250]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 101ED3C011BDD; Wed, 18 Sep 2024 08:35:19 -0700 (PDT) Content-Type: multipart/mixed; boundary="------------yBjh0mwWlSbMQ0eoEx0XzXAV" Message-ID: Date: Wed, 18 Sep 2024 08:35:18 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#73307: Fix ctype(3) usage To: Eli Zaretskii , Stefan Monnier References: <86r09ibiq3.fsf@gnu.org> <89deb908-92a6-489f-bab9-116556ce8ce4@cs.ucla.edu> <86r09h9odm.fsf@gnu.org> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <86r09h9odm.fsf@gnu.org> X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 73307 Cc: luangruo@yahoo.com, 73307@debbugs.gnu.org, wiz@gatalith.at X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) This is a multi-part message in MIME format. --------------yBjh0mwWlSbMQ0eoEx0XzXAV Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable On 2024-09-18 04:45, Eli Zaretskii wrote: > what's the > problem with using c_isspace (and what do you mean by "multibyte > space" Using c_isspace would be OK, in that it'd handle most practical=20 examples. I wrote the fancier version to handle prompts that end in=20 non-ASCII spaces, e.g., (yes-or-no-p "Delete all files?=C2=A0") where the= =20 last character is actually U+00A0 NO-BREAK_SPACE instead of U+0020=20 SPACE, so its UTF-8 encoding is multiple bytes. If it's not important to=20 handle such cases we could just use c_isspace. > You are testing characters for whitespace syntax, which is AFAIU > subject to buffer-local syntax tables. Thanks, I didn't think of that. How about the attached patch? It is an=20 alternative to just using c_isspace. --------------yBjh0mwWlSbMQ0eoEx0XzXAV Content-Type: text/x-patch; charset=UTF-8; name="fns.c.diff" Content-Disposition: attachment; filename="fns.c.diff" Content-Transfer-Encoding: base64 ZGlmZiAtLWdpdCBhL3NyYy9mbnMuYyBiL3NyYy9mbnMuYwppbmRleCAzNzBmNzcxMWI5MC4u ZDNlZTk4YzNiYWUgMTAwNjQ0Ci0tLSBhL3NyYy9mbnMuYworKysgYi9zcmMvZm5zLmMKQEAg LTM1LDcgKzM1LDYgQEAgQ29weXJpZ2h0IChDKSAxOTg1LTIwMjQgRnJlZSBTb2Z0d2FyZSBG b3VuZGF0aW9uLCBJbmMuCiAjaW5jbHVkZSAiY29tcG9zaXRlLmgiCiAjaW5jbHVkZSAiYnVm ZmVyLmgiCiAjaW5jbHVkZSAiaW50ZXJ2YWxzLmgiCi0jaW5jbHVkZSAic3ludGF4LmgiCiAj aW5jbHVkZSAid2luZG93LmgiCiAjaW5jbHVkZSAicHVyZXNpemUuaCIKICNpbmNsdWRlICJn bnV0bHMuaCIKQEAgLTM1NzksOCArMzU3OCw3IEBAIERFRlVOICgieWVzLW9yLW5vLXAiLCBG eWVzX29yX25vX3AsIFN5ZXNfb3Jfbm9fcCwgMSwgMSwgMCwKICAgcHRyZGlmZl90IHByb21w dGxlbiA9IFNDSEFSUyAocHJvbXB0KTsKICAgYm9vbCBwcm9tcHRfZW5kc19pbl9ub25zcGFj ZQogICAgID0gKDAgPCBwcm9tcHRsZW4KLSAgICAgICAmJiAoU1lOVEFYIChYRklYTkFUIChG YXJlZiAocHJvbXB0LCBtYWtlX2ZpeG51bSAocHJvbXB0bGVuIC0gMSkpKSkKLQkgICAhPSBT d2hpdGVzcGFjZSkpOworICAgICAgICYmICFibGFua3AgKFhGSVhOQVQgKEZhcmVmIChwcm9t cHQsIG1ha2VfZml4bnVtIChwcm9tcHRsZW4gLSAxKSkpKSk7CiAgIEFVVE9fU1RSSU5HIChz cGFjZV9zdHJpbmcsICIgIik7CiAgIHByb21wdCA9IENBTExOIChGY29uY2F0LCBwcm9tcHQs CiAJCSAgcHJvbXB0X2VuZHNfaW5fbm9uc3BhY2UgPyBzcGFjZV9zdHJpbmcgOiBlbXB0eV91 bmlieXRlX3N0cmluZywK --------------yBjh0mwWlSbMQ0eoEx0XzXAV-- From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 12:11:30 2024 Received: (at 73307) by debbugs.gnu.org; 18 Sep 2024 16:11:30 +0000 Received: from localhost ([127.0.0.1]:59190 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqxH8-0005R5-JK for submit@debbugs.gnu.org; Wed, 18 Sep 2024 12:11:30 -0400 Received: from eggs.gnu.org ([209.51.188.92]:33888) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqxH6-0005Qr-IY for 73307@debbugs.gnu.org; Wed, 18 Sep 2024 12:11:29 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1sqxGj-0003BB-3a; Wed, 18 Sep 2024 12:11:05 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=NnCOqkOIoLi4qPLYrnl5yfDs+A28PK8mCfxctsO17Qs=; b=LMhPMFDwjK/h a3L1MPOzNVRF7+/kMOGUXquXp9HZVW5B9tzOJbgMhwC10e8/OebE7i24z6hCSl7evmtrHlLnht96o PppB6xa3BBSiuNgzfxv+mKSl+eK8uSVejJkEfbX7HPuPOVVWDqRXyRIytPtl2eFqQvaYVli68STrC LOYMkADISmW6XAUKlhgjpQACVbd03JuElyjeQiURj2vuvbXptMBnn5mVaCycMQF6BmymlQ8YtVZDB VznTJSmd/5LF+ffy+BehnNW4mkh5yk4+jSE0FtYdrorp3LswxIkbkIQ8ncuShs4Ly1wqgP9eG0p3T 8dNg61TVhoQ4DyjmXp3OwA==; Date: Wed, 18 Sep 2024 19:11:02 +0300 Message-Id: <86ldzp9c2x.fsf@gnu.org> From: Eli Zaretskii To: Paul Eggert In-Reply-To: (message from Paul Eggert on Wed, 18 Sep 2024 08:35:18 -0700) Subject: Re: bug#73307: Fix ctype(3) usage References: <86r09ibiq3.fsf@gnu.org> <89deb908-92a6-489f-bab9-116556ce8ce4@cs.ucla.edu> <86r09h9odm.fsf@gnu.org> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 73307 Cc: luangruo@yahoo.com, 73307@debbugs.gnu.org, wiz@gatalith.at, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -3.3 (---) > Date: Wed, 18 Sep 2024 08:35:18 -0700 > Cc: 73307@debbugs.gnu.org, wiz@gatalith.at, luangruo@yahoo.com > From: Paul Eggert > > > You are testing characters for whitespace syntax, which is AFAIU > > subject to buffer-local syntax tables. > > Thanks, I didn't think of that. How about the attached patch? It is an > alternative to just using c_isspace. That's much better, thanks. But I'm not sure we really want to allow any Zs character there. For example, what about U+3000 IDEOGRAPHIC SPACE? But if this is okay with us, please install. From debbugs-submit-bounces@debbugs.gnu.org Wed Sep 18 12:22:30 2024 Received: (at 73307) by debbugs.gnu.org; 18 Sep 2024 16:22:30 +0000 Received: from localhost ([127.0.0.1]:59200 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqxRm-000607-76 for submit@debbugs.gnu.org; Wed, 18 Sep 2024 12:22:30 -0400 Received: from mail.cs.ucla.edu ([131.179.128.66]:33834) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1sqxRj-0005zs-Lf for 73307@debbugs.gnu.org; Wed, 18 Sep 2024 12:22:28 -0400 Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id E21003C011BDD; Wed, 18 Sep 2024 09:22:05 -0700 (PDT) Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10032) with ESMTP id CTYJEKCk-7NA; Wed, 18 Sep 2024 09:22:05 -0700 (PDT) Received: from localhost (localhost [127.0.0.1]) by mail.cs.ucla.edu (Postfix) with ESMTP id 9DA213C011BE0; Wed, 18 Sep 2024 09:22:05 -0700 (PDT) DKIM-Filter: OpenDKIM Filter v2.10.3 mail.cs.ucla.edu 9DA213C011BE0 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=cs.ucla.edu; s=9D0B346E-2AEB-11ED-9476-E14B719DCE6C; t=1726676525; bh=kLSmxF6awRdmEasoC3zKUZLkIeMeMScu+Tq7XdQfbCs=; h=Message-ID:Date:MIME-Version:To:From; b=H3cLz4AjHCec6hElznkkZ/NIzL0QRWOR0o/wB7oLJX9TP62tZ+QytYBrt6Rojh0WQ qEBrQceLQGAqB8ukT/o5TgbaJkZu1eMXYMuvaPsgXY0En6yRvYZkF1ZCSJ4eBrA4Cm ZAerf30dQ83jNEfweZ2IPO234es4QMcDBpPqSKJri7etCksFfoed6kjFp1QN2k0Zq/ 5JSZmJUC+shEAPd7dT6F0CgPSGFNxasynnwASneuPZhx7Hc5TpijJU6RRJBx9P9sTB F4w8bZbGWqT0X9TF5nKS38L80y00guQadRPth6cudNcdsKtn7uiWqSDCXDVMvx6z5m KeMfTnsGiMWeg== X-Virus-Scanned: amavis at mail.cs.ucla.edu Received: from mail.cs.ucla.edu ([127.0.0.1]) by localhost (mail.cs.ucla.edu [127.0.0.1]) (amavis, port 10026) with ESMTP id 3snxh48J1LrB; Wed, 18 Sep 2024 09:22:05 -0700 (PDT) Received: from [192.168.254.12] (unknown [47.150.137.250]) by mail.cs.ucla.edu (Postfix) with ESMTPSA id 77D1C3C011BDD; Wed, 18 Sep 2024 09:22:05 -0700 (PDT) Message-ID: Date: Wed, 18 Sep 2024 09:22:05 -0700 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: bug#73307: Fix ctype(3) usage To: Eli Zaretskii References: <86r09ibiq3.fsf@gnu.org> <89deb908-92a6-489f-bab9-116556ce8ce4@cs.ucla.edu> <86r09h9odm.fsf@gnu.org> <86ldzp9c2x.fsf@gnu.org> Content-Language: en-US From: Paul Eggert Organization: UCLA Computer Science Department In-Reply-To: <86ldzp9c2x.fsf@gnu.org> Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: quoted-printable X-Spam-Score: -0.0 (/) X-Debbugs-Envelope-To: 73307 Cc: luangruo@yahoo.com, 73307@debbugs.gnu.org, wiz@gatalith.at, monnier@iro.umontreal.ca X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: debbugs-submit-bounces@debbugs.gnu.org Sender: "Debbugs-submit" X-Spam-Score: -1.0 (-) On 2024-09-18 09:11, Eli Zaretskii wrote: > what about U+3000 IDEOGRAPHIC SPACE? That should be OK. For (yes-or-no-p "=E6=82=A8=E6=83=B3=E5=88=A0=E9=99=A4= =E6=89=80=E6=9C=89=E6=96=87=E4=BB=B6=E5=90=97=EF=BC=9F=E3=80=80"), where = the prompt=20 ends in U+3000, no space is needed. I installed the patch. From unknown Sat Aug 09 15:53:33 2025 Received: (at fakecontrol) by fakecontrolmessage; To: internal_control@debbugs.gnu.org From: Debbugs Internal Request Subject: Internal Control Message-Id: bug archived. Date: Thu, 17 Oct 2024 11:24:05 +0000 User-Agent: Fakemail v42.6.9 # This is a fake control message. # # The action: # bug archived. thanks # This fakemail brought to you by your local debbugs # administrator