From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: Eli Zaretskii Newsgroups: gmane.emacs.devel Subject: Re: Ligatures Date: Tue, 19 May 2020 19:15:33 +0300 Message-ID: <83tv0b7vfe.fsf@gnu.org> References: <20200517124125.000013a4@web.de> <97C7EAB7-10AB-4702-ABC8-EB6C1C50ABDB@gnu.org> <20200517165953.000044d2@web.de> <83lflqblp0.fsf@gnu.org> <83ftbybio3.fsf@gnu.org> <83zha69xs2.fsf@gnu.org> <83367x9qeq.fsf@gnu.org> <83y2pp88lw.fsf@gnu.org> <83pnb182ce.fsf@gnu.org> <65807546-ed40-a175-640d-9da7a1548d8a@gmail.com> <83o8qk8xv6.fsf@gnu.org> <26ede471-3881-43e3-1253-6b21658343e9@gmail.com> <83lflo81qh.fsf@gnu.org> <9a15030d-5e30-6a22-b1a7-43456ee30475@gmail.com> <83y2po6jdl.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="ciao.gmane.io:159.69.161.202"; logging-data="53178"; mail-complaints-to="usenet@ciao.gmane.io" Cc: emacs-devel@gnu.org To: =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 19 18:16:19 2020 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 1jb4uh-000Djv-5H for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 18:16:19 +0200 Original-Received: from localhost ([::1]:50948 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jb4ug-0003k7-7U for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 12:16:18 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:56136) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jb4u2-0003HZ-AX for emacs-devel@gnu.org; Tue, 19 May 2020 12:15:38 -0400 Original-Received: from fencepost.gnu.org ([2001:470:142:3::e]:55158) by eggs.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jb4u2-0006wz-1f; Tue, 19 May 2020 12:15:38 -0400 Original-Received: from [176.228.60.248] (port=3823 helo=home-c4e4a596f7) by fencepost.gnu.org with esmtpsa (TLS1.2:RSA_AES_256_CBC_SHA1:256) (Exim 4.82) (envelope-from ) id 1jb4u0-0000f5-9D; Tue, 19 May 2020 12:15:36 -0400 In-Reply-To: (message from =?utf-8?Q?Cl=C3=A9ment?= Pit-Claudel on Tue, 19 May 2020 11:44:31 -0400) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.23 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:250962 Archived-At: > Cc: emacs-devel@gnu.org > From: Clément Pit-Claudel > Date: Tue, 19 May 2020 11:44:31 -0400 > > > You'd invoke it when you either know in advance you don't want the > > next character to ligate, or after you saw the ligature to disable the > > ligation for the sequence at or before point. > > That assumes that I know whether inserting a character will > introduce a ligation, but I usually don't. [...] Did you miss the part after "or after"? > I don't think that will work, but maybe I'm missing something. How does this work if I open a file that already has a ligature and I want to modify it? Do I have to explicitly break the ligature before I can edit it? "M-x toggle-ligature-mode RET", perhaps? Or go to the ligature you want to edit and invoke that command I mentioned above (after "or after")? > More importantly, though, I don't understand what problem it would solve, at least in the context of programming ligatures. What is the problem with allowing cursor movement through ligatures like → for ->? It doesn't feel right to me, and it goes against what Emacs did for the past 20 years. But that's me. But again, this is a purely academic argument. Ligature support in Emacs is not yet ready for prime time, the sub-glyph cursor motion needs to be implemented in the display engine, and only after that it would make sense arguing about the defaults of this imaginary mode. Let's not finish arguing now, lest we will have nothing to argue about then, okay? ;-)