From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.ciao.gmane.io!not-for-mail From: =?UTF-8?Q?Cl=c3=a9ment_Pit-Claudel?= Newsgroups: gmane.emacs.devel Subject: Re: Ligatures Date: Tue, 19 May 2020 11:44:31 -0400 Message-ID: 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="43270"; mail-complaints-to="usenet@ciao.gmane.io" User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.7.0 Cc: emacs-devel@gnu.org To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue May 19 17:45:07 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 1jb4QV-000BAO-2F for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 17:45:07 +0200 Original-Received: from localhost ([::1]:47410 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jb4QU-0005Mz-4l for ged-emacs-devel@m.gmane-mx.org; Tue, 19 May 2020 11:45:06 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:52048) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jb4Q1-0004xN-UJ for emacs-devel@gnu.org; Tue, 19 May 2020 11:44:37 -0400 Original-Received: from mail-qk1-x730.google.com ([2607:f8b0:4864:20::730]:45754) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jb4Q0-0006WB-UX; Tue, 19 May 2020 11:44:37 -0400 Original-Received: by mail-qk1-x730.google.com with SMTP id i5so15652640qkl.12; Tue, 19 May 2020 08:44:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=subject:to:cc:references:from:message-id:date:user-agent :mime-version:in-reply-to:content-language:content-transfer-encoding; bh=BKpEZg1mRjBQ9EAB4V+oxJpu2NkfHFZ86fDr5UUHxD0=; b=rZpW+BQgmBdEDFyLhCDCuvrVLnMqi4jQcfSaUjX1QPHLd5X9egKOPefQjBXCxKnKWq TEnK4+S8IeOmQ+pdWlSc+f0S0FbKuIsCBdm5g/dM9YgNyE9vU+P/conX9dBj6/izvyoO AW7vzaKPi7oGotcWpMlmn+8rOEVxDDMSWTQmJt84dn/IpM5oQWXb5LJuxqqrcP6YYk8P LePedLujmEf6pTPQ0XEe0jfeFv2LJdF7oHfMzYRjn2YdQYJcCsbgFmCHfuGNTfI8kzo+ 5uAyeXr0rHOUghhLsV8rZZ3SgVTfwh6/3/fkk4NQ6BtEeSVkSKPy/lB+do13b7iUEM5u GqXg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=BKpEZg1mRjBQ9EAB4V+oxJpu2NkfHFZ86fDr5UUHxD0=; b=dKYThZRtUg/6k/zFdDjyKMd8KkB7eQJyH31t7T2A09tCvnYmqnRXd2sO2N0BXYeGTj PcRa9phK4+b706xb7UupEYRU/5X+Lw3yGnoqyqC1VaMJ0kaZ2X00aE9ArQvsnBR+cPh9 AAYNrcSuj2LCQt85wTZgZjFmXzk/uYjeDYFD77MziipXu/GqdFfgzTKW3Rzg31jl4PRX uXvcCCCHfTNYQ/SIXlZvliZLDuvJ2QvmsB+pUgInLr94VDh002PBUoH7PnTHNIckSRFi WQLWKPxn+3mzs0RtM8j1rajuQt9M6HeUUMbpzOMLBn2DStqcmYuEJ2fGZjGMOENwHV+U ACqg== X-Gm-Message-State: AOAM531tVICOv3+ueviVJqOelG7MXkAyVCFs2ZWjDjdRQTVEMStB+Gmf /kMLzX0JDG9Ow/KDCU4ZKNL8zNHp X-Google-Smtp-Source: ABdhPJxqQdnVZUySj/+hiGJ9SU7FyLluiULTbPo+hlhzUfgLYtZF5D8DKx+yPGGQqY3DcGVhf7gzBQ== X-Received: by 2002:a37:9ed5:: with SMTP id h204mr21991822qke.446.1589903075230; Tue, 19 May 2020 08:44:35 -0700 (PDT) Original-Received: from ?IPv6:2601:184:4180:66e7:bda5:ac5c:1de0:b677? ([2601:184:4180:66e7:bda5:ac5c:1de0:b677]) by smtp.googlemail.com with ESMTPSA id p81sm10963480qke.67.2020.05.19.08.44.33 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Tue, 19 May 2020 08:44:34 -0700 (PDT) In-Reply-To: <83y2po6jdl.fsf@gnu.org> Content-Language: en-GB Received-SPF: pass client-ip=2607:f8b0:4864:20::730; envelope-from=cpitclaudel@gmail.com; helo=mail-qk1-x730.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. 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, DKIMWL_BL=0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action 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:250956 Archived-At: On 19/05/2020 11.21, Eli Zaretskii wrote: > And I don't think arguing about defaults in Emacs is useful, because > changing the default if you don't like it is easy. We do change the > default behavior slowly, though. I see this argument often (changing settings is easy), but I don't find it very convincing: in my experience, even after years of using Emacs, figuring which variable controls a given behavior, if there is even such a variable, is usually not easy: it requires reading manuals, guessing the right keywords, and often stepping through function implementations. It's quite a bit easier in Emacs than in other editors, but still not easy at all. >>> For example, how about a special >>> insert command that would disable ligation with the character it >>> inserts? >> >> Would that command be called automatically, or would it require a different input? > > 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. I can't keep in my head a list of all the ligatures that my font supports, so I'm bound to be surprised from time to time (besides, this is very contextual. When I write a language where /\ and \/ are used to mean "and" and "or", I think of it when I type a / or a \. But when I'm in a context where /…/ is used to delimit regular expressions and \ is used to escape a character, I don't think of the \/ ligature. >> I don't think Emacs can guess whether it should enable or disable ligation, so I imagine you mean different input, but that doesn't sound pleasant to use, so maybe I'm misunderstanding? > > Emacs cannot, but the user can. Thus a separate command. 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? 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 ->?