From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: master 6ed1994d27: Prevent crashes from illegal locale coding systems Date: Thu, 17 Feb 2022 08:31:26 +0200 Message-ID: <83pmnm0zsx.fsf@gnu.org> References: <83czjqrkew.fsf@gnu.org> <87v8xii83e.fsf@yahoo.com> <83r186p1h8.fsf@gnu.org> <878ruehx6n.fsf@yahoo.com> <83h791pmnl.fsf@gnu.org> <87iltheyeu.fsf@yahoo.com> <83wnhwol2o.fsf@gnu.org> <87tud0ybhj.fsf@yahoo.com> <837d9w450e.fsf@gnu.org> <87czjow7x1.fsf@yahoo.com> <8335kk440x.fsf@gnu.org> <87sfsjvdnm.fsf@yahoo.com> <87leybv8mp.fsf@yahoo.com> <87h78zv1hc.fsf@yahoo.com> <83fsoj2e7m.fsf@gnu.org> <87v8xfuh2z.fsf@yahoo.com> <83bkz72dhh.fsf@gnu.org> <87pmnnuflf.fsf@yahoo.com> <837d9v2axs.fsf@gnu.org> <877d9vudxy.fsf@yahoo.com> <834k4y3o0h.fsf@gnu.org> <87sfsitj6o.fsf@yahoo.com> Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="16556"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: Po Lu Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Thu Feb 17 07:32:42 2022 Return-path: Envelope-to: ged-emacs-devel@m.gmane-mx.org Original-Received: from lists.gnu.org ([209.51.188.17]) by ciao.gmane.io with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1nKaLJ-0004B8-TG for ged-emacs-devel@m.gmane-mx.org; Thu, 17 Feb 2022 07:32:42 +0100 Original-Received: from localhost ([::1]:34512 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1nKaLI-0002B9-F9 for ged-emacs-devel@m.gmane-mx.org; Thu, 17 Feb 2022 01:32:40 -0500 Original-Received: from eggs.gnu.org ([209.51.188.92]:57532) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nKaK0-0001OC-Vc for emacs-devel@gnu.org; Thu, 17 Feb 2022 01:31:20 -0500 Original-Received: from [2001:470:142:3::e] (port=43160 helo=fencepost.gnu.org) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nKaK0-0001mz-L4; Thu, 17 Feb 2022 01:31:20 -0500 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=hpmT0tZ2Ou7b0UX9DnPNA/gNf/JC5g85T6XGB5pzJQw=; b=BwADuzialOAX MKUN316KYUikRhX/DgLZ1nzkfwXg8ifGrrj4+OmRQ9Q75eJEQ3Lmf5qx/LSJqwzuAa2bUh8/EKSO8 rJDzcsXVeCmkMvWVYiVi/UlHgn3kVawb4bQSschRT+oPLPr4Rdst+ipi0TygmCeUAY8ORuPr/Vjo9 c2iArPiUwt4AxcCGeOyxz8o9Pyz/9j51Jp0Linbbc2Cm7M61hss6TBsgR/URL+zBKaBYGA0AyNJMV twdFuzyF/JILv84lA+C4hLIwHbeqv+bLGZyXJF051I2sOAzg6+rz7GC1UNvUX+rL6P9NCrJHIXX26 GoVa8r5QmQfF0ZH2h0CJNA==; Original-Received: from [87.69.77.57] (port=3157 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1nKaJy-0004jH-Ke; Thu, 17 Feb 2022 01:31:20 -0500 In-Reply-To: <87sfsitj6o.fsf@yahoo.com> (message from Po Lu on Thu, 17 Feb 2022 08:45:19 +0800) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Original-Sender: "Emacs-devel" Xref: news.gmane.io gmane.emacs.devel:286414 Archived-At: > From: Po Lu > Cc: emacs-devel@gnu.org > Date: Thu, 17 Feb 2022 08:45:19 +0800 > > Eli Zaretskii writes: > > > This isn't right, IMO. You should decode using Qraw_text in the > > problematic case. Dropping the bytes on the floor is too radical, > > certainly for the release branch. > > How about something like this? > > diff --git a/src/xterm.c b/src/xterm.c > index b55a54b945..53d89240f1 100644 > --- a/src/xterm.c > +++ b/src/xterm.c > @@ -8734,6 +8734,15 @@ handle_one_xevent (struct x_display_info *dpyinfo, > { > /* Decode the input data. */ > > +#ifdef HAVE_GLIB > + /* If this isn't done in a build with GLib (usually > + with GTK), then the resulting signal in > + `setup_coding_system' will cause Emacs to > + crash. */ > + if (NILP (Fcoding_system_p (coding_system))) > + coding_system = Qraw_text; > +#endif Yes, that's what I had in mind.