From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: chad Newsgroups: gmane.emacs.devel Subject: Re: Suggested experimental test Date: Tue, 23 Mar 2021 13:55:15 -0700 Message-ID: References: <831ba60af0cbfdd95686@heytings.org> <87mtuxj8ue.fsf@gnus.org> <9088e12cb3de3d30abf1@heytings.org> <8735wnjsum.fsf@gnus.org> <87tup3hwat.fsf_-_@gnus.org> <834kh39fvj.fsf@gnu.org> <271290d7aaec41df5fde@heytings.org> <83k0py8f5k.fsf@gnu.org> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000e9582005be3a6673" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="3233"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Gregory Heytings , EMACS development team , Lars Ingebrigtsen , Stephan.Mueller@microsoft.com To: Eli Zaretskii Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Tue Mar 23 22:02:01 2021 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 1lOoA4-0000ji-Vy for ged-emacs-devel@m.gmane-mx.org; Tue, 23 Mar 2021 22:02:01 +0100 Original-Received: from localhost ([::1]:47840 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lOoA3-0004JU-UL for ged-emacs-devel@m.gmane-mx.org; Tue, 23 Mar 2021 17:01:59 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:60624) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lOo3p-0003o1-C0 for emacs-devel@gnu.org; Tue, 23 Mar 2021 16:55:33 -0400 Original-Received: from mail-lf1-x132.google.com ([2a00:1450:4864:20::132]:37755) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lOo3n-0000dG-8a; Tue, 23 Mar 2021 16:55:33 -0400 Original-Received: by mail-lf1-x132.google.com with SMTP id q29so28520361lfb.4; Tue, 23 Mar 2021 13:55:29 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=mime-version:references:in-reply-to:from:date:message-id:subject:to :cc; bh=rSuJvMcocJNmaAq6V7iCPp0p2Xf4lLj8f4guF4w5GLg=; b=gIyD/4xZvkei2rTT6+0ZZAS5z0E9AN753HQePkTvZZSZl9yjrctI1TnbxLdcN1S6qv 7m2+a3pq2M8HSfZdld6aIdlgJis7UkzQFa6ylHopkQ87PMNDMSeDuoDAwJgnj/4yGafz fbD+TWCCehCOCcWh+tU7ZfiHq/SqiBFd59pU2p2vbCOhnmNKIvBGeKPqQP/vYV5tVyxG 5AN1y/WpL2wOPAGscQGjsxMl9+ZDkWy5IKpVtP+TPZ6JxAeHB7hJfXpSZq4g/O8BuJ5v oczp6qnVx6GxVw6KPYrY9OEwV/dC3LJB0obCylNL3c9NFCX16bsjZhaxc5psM81RwZp5 TUJQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:mime-version:references:in-reply-to:from:date :message-id:subject:to:cc; bh=rSuJvMcocJNmaAq6V7iCPp0p2Xf4lLj8f4guF4w5GLg=; b=PE4H0KfroXb5SgRXtfVh7N5Em4DC8lATsK+5rCZyx5XCp4WDKukFNMeCCpMjb7O/Oo v/SemX1vqtHJQC8H6cUxQxr5cPuZnD5ljlPkCI1us3eoa32GuTwVdM5MuN+PQfpdF7ey y0vOjNYHynJDXYO3fDOYYmfi4Ls0A9vI0mRlj40ZziLZkMmLki4wlZsGn4tlmcP62aXb g6zVFtfwyfhJYLFPC5pzCm8M2PFu6qlDp3Kczg12HnwP1ocAJy378Y6Hn3nRzSpiQPX4 zGca5MOjRGLe91PX5rttHCck+wNoXqLOILS8JyWKXI+/fNB7m/NJ0bOKEa60ZsC6tvit qufA== X-Gm-Message-State: AOAM532ZwwCOKBIec6tjttNHim4TDKyhF8cqzrw3pzirkZwMR7GDKGmV FZBKFYrqKDsnQNjffG+Kz5FN6BKKlyvs4s3F4GESD7TwguA= X-Google-Smtp-Source: ABdhPJyi6rHMZj6R4zn9Udnwr/CQTWwYnZeCOzZW9dGOYkBkwpmFssSvCMZ01zPjAi3CA49Gvaujyt4NxKI5wFWg9dQ= X-Received: by 2002:ac2:4c85:: with SMTP id d5mr3728829lfl.503.1616532927501; Tue, 23 Mar 2021 13:55:27 -0700 (PDT) In-Reply-To: <83k0py8f5k.fsf@gnu.org> Received-SPF: pass client-ip=2a00:1450:4864:20::132; envelope-from=yandros@gmail.com; helo=mail-lf1-x132.google.com 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, FREEMAIL_FROM=0.001, HTML_MESSAGE=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=ham autolearn_force=no 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:266891 Archived-At: --000000000000e9582005be3a6673 Content-Type: text/plain; charset="UTF-8" On Tue, Mar 23, 2021 at 1:10 AM Eli Zaretskii wrote: > > Why should a control key must be reserved forever for that very specific > > purpose, and for that very specific purpose only, in the default Emacs > > bindings? > > Opening an empty line is a very useful editing primitive, not unlike > going to the next line with RET. Trying to change that will always > cause staunch resistance, especially when the purpose for which this > is done is vague and not perceived as important enough by enough > people. > Let's set aside the historical/hysterical impact for a second and look at the input/effect table (which is why I asked for help understanding the difference between "`C-o C-n' and `C-j' -- for which you all have my thanks): I take as given that "opening an empty line is a useful primitive", along with "insert a newline at point" and also "insert a newline at point and maybe do some context-specific DWIMish stuff". I think there's plenty of support for this position, even for people who don't regularly perform all of those operations. That gives us ~3 distinct solid effects (more on this later). On the input side, we sure want RET to be one of those ~3, and I think we can agree that it's default should be the 2nd or maybe the 3rd effect. I personally think that `C-j' is nicely intuitive for a newline-related command, but that might be a sign of my age. M-RET is also very intuitive for an alternative-newline command, seems to work in tty, and is used in a large variety of other contexts (running the gamut from "Org mode in emacs" to "editing inside spreadsheet cells"), so it seems like a solid choice. >From what I have seen, `C-o' has the main benefit that a large subset of emacs users have been using it for a very long time, and the secondary benefits of an mnemonic binding with "open line" and similarity (although at least somewhat an uncanny-valley jarring one) to vi's 'o'. Both `C-j' and `C-o' have a slight infelicity with being unused in other editing environments, but that seems like a tertiary consideration to me. To this, we can add the historical wrinkles around electric-indent recently brought up on this thread, which changed the C-j/RET pair from newline/newline-and-indent to electric-newline-and-maybe-indent/newline -- note the functional swap. This thread contains some evidence of potential issues left over from this change, i.e. mode bindings that seem like maybe they should have been updated to match the "electric swap". *Without getting into the conversation about changing defaults*, do we generally agree that: - These seem like the relevant operations - These seem like the relevant potential keybinds (perhaps among others) - That there is reason to investigate some of the bindings that are currently in emacs-28 to see if they are confusing when combined with the current "electric newline" bindings? Thanks in advance, ~Chad --000000000000e9582005be3a6673 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable


=
On Tue, Mar 23, 2021 at 1:10 AM Eli Z= aretskii <eliz@gnu.org> wrote:
> Why should a control key must be reserved forever for that very specif= ic
> purpose, and for that very specific purpose only, in the default Emacs=
> bindings?

Opening an empty line is a very useful editing primitive, not unlike
going to the next line with RET.=C2=A0 Trying to change that will always cause staunch resistance, especially when the purpose for which this
is done is vague and not perceived as important enough by enough
people.

Let's set aside the histori= cal/hysterical impact for a second and look at the input/effect table (whic= h is why I asked for help understanding the difference between "`C-o C= -n' and `C-j' -- for which you all have my thanks):

<= /div>
I take as given that "opening an empty line is a useful prim= itive", along with "insert a newline at point" and also &quo= t;insert a newline at point and maybe do some context-specific DWIMish stuf= f". I think there's plenty of support for this position, even for = people who don't regularly perform all of those operations. That gives = us ~3 distinct solid effects (more on this later).

On the input side, we sure want RET to be one of those ~3, and I think we = can agree that it's default should be the 2nd or maybe the 3rd effect. = I personally think that `C-j' is nicely intuitive for a newline-related= command, but that might be a sign of my age. M-RET is also very intuitive = for an alternative-newline command, seems to work in tty, and is used in a = large variety of other contexts (running the gamut from "Org mode in e= macs" to "editing inside spreadsheet cells"), so it seems li= ke a solid choice. From what I=C2=A0have seen, `C-o' has the main benef= it that a large subset of emacs users have been using it for a very long ti= me, and the secondary benefits of an mnemonic binding with "open line&= quot; and similarity (although at least somewhat an uncanny-valley jarring = one) to vi's 'o'. Both `C-j' and `C-o' have a slight in= felicity with being unused in other editing environments, but that seems li= ke a tertiary consideration to me.

To this, we can= add=C2=A0 the historical wrinkles around electric-indent recently brought = up on this thread, which changed the C-j/RET pair from newline/newline-and-= indent to electric-newline-and-maybe-indent/newline -- note the functional = swap. This thread contains some evidence of potential issues left over from= this change, i.e. mode bindings that seem like maybe they should have been= updated to match the "electric swap".

*= Without getting into the conversation about changing defaults*, do we gener= ally agree that:
- These seem like the relevant operations
<= div>- These seem like the relevant potential keybinds (perhaps among others= )
- That there is reason to investigate some of the bindings that= are currently in emacs-28 to see if they are confusing when combined with = the current "electric newline" bindings?

Thanks in advance,
~Chad

--000000000000e9582005be3a6673--