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.bugs Subject: bug#42904: [PATCH] Non-Unicode frame title crashes Emacs on macOS Date: Fri, 21 Aug 2020 18:27:51 +0300 Message-ID: <838se8auiw.fsf@gnu.org> References: <83lfidgtc7.fsf@gnu.org> <838sedgq2x.fsf@gnu.org> <02F52D43-7EAB-4E61-A567-E8CCD11D856B@acm.org> <20200817195610.GA70682@breton.holly.idiocy.org> <3F71EF82-A143-4E3A-AEF3-8A236091891D@acm.org> <20200818084306.GA89999@breton.holly.idiocy.org> <243A5DA8-2865-485D-A8A2-1F543B046BAA@acm.org> <20200818172824.GA90575@breton.holly.idiocy.org> <83h7sxcux5.fsf@gnu.org> <5719A3A9-06A2-42AF-A290-726D96B6E6F1@acm.org> <834koxcere.fsf@gnu.org> <83ft8gb05o.fsf@gnu.org> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="31158"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 42904@debbugs.gnu.org, alan@idiocy.org To: Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Aug 21 17:29:10 2020 Return-path: Envelope-to: geb-bug-gnu-emacs@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 1k98yc-0007zH-7U for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 21 Aug 2020 17:29:10 +0200 Original-Received: from localhost ([::1]:47780 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k98yb-0005tS-AW for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 21 Aug 2020 11:29:09 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:44482) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1k98yU-0005tA-Pd for bug-gnu-emacs@gnu.org; Fri, 21 Aug 2020 11:29:02 -0400 Original-Received: from debbugs.gnu.org ([209.51.188.43]:36547) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1k98yU-0005zd-HG for bug-gnu-emacs@gnu.org; Fri, 21 Aug 2020 11:29:02 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1k98yU-00081u-Eh for bug-gnu-emacs@gnu.org; Fri, 21 Aug 2020 11:29:02 -0400 X-Loop: help-debbugs@gnu.org Resent-From: Eli Zaretskii Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 21 Aug 2020 15:29:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 42904 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 42904-submit@debbugs.gnu.org id=B42904.159802368730800 (code B ref 42904); Fri, 21 Aug 2020 15:29:02 +0000 Original-Received: (at 42904) by debbugs.gnu.org; 21 Aug 2020 15:28:07 +0000 Original-Received: from localhost ([127.0.0.1]:48093 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k98xb-00080h-6M for submit@debbugs.gnu.org; Fri, 21 Aug 2020 11:28:07 -0400 Original-Received: from eggs.gnu.org ([209.51.188.92]:34188) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1k98xX-000805-P1 for 42904@debbugs.gnu.org; Fri, 21 Aug 2020 11:28:05 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:45150) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1k98xR-0005v4-Gt; Fri, 21 Aug 2020 11:27:57 -0400 Original-Received: from [176.228.60.248] (port=2518 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1k98xP-0007YP-Sp; Fri, 21 Aug 2020 11:27:56 -0400 In-Reply-To: (message from Mattias =?UTF-8?Q?Engdeg=C3=A5rd?= on Fri, 21 Aug 2020 16:53:34 +0200) X-BeenThere: debbugs-submit@debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list X-BeenThere: bug-gnu-emacs@gnu.org List-Id: "Bug reports for GNU Emacs, the Swiss army knife of text editors" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Original-Sender: "bug-gnu-emacs" Xref: news.gmane.io gmane.emacs.bugs:185895 Archived-At: > From: Mattias Engdegård > Date: Fri, 21 Aug 2020 16:53:34 +0200 > Cc: alan@idiocy.org, 42904@debbugs.gnu.org > > > That is true, but str_as_multibyte simply interprets any valid UTF-8 > > sequence as a character, and any invalid sequence as a raw bytes. I > > thought this was precisely what you wanted for this use case, no? > > Sorry, I read the comment for that function and got the impression that it would interpret raw bytes as Latin-1. That was a remnant from pre-Unicode Emacs; I've fixed the commentary to accurately describe what happens now. > Fortunately that wasn't true, and using it seems to be a clear improvement. Now a mixture of non-ASCII and raw bytes, like "a\377büc" results in the title "a��büc", which is one � too many but good enough. > > What about the attached patch then? Only tested on macOS, admittedly. It looks OK, but someone should see what it does on X before we make this change on all platforms. (On w32 frames, the display stops before the first raw byte, but it also does that with the current code.) If the effect on X is for the worse, we will have to condition this by HAVE_NS. > title = mode_line_noprop_buf + title_start; > + /* Make sure any raw bytes in the title are properly > + multibyte-encoded. */ It is better not to use "encoded" when talking about internal representation. I'd say something like "represented by their multibyte sequences" instead. Thanks.