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: A new user perspective about "Changes for emacs 28" Date: Sun, 13 Sep 2020 15:13:58 -0700 Message-ID: References: <83k0x4mjsv.fsf@gnu.org> <831rjcmgn8.fsf@gnu.org> <897b82c2-8ec2-60c0-f5c3-5ab98f79fbd8@yandex.ru> <20200911114013.vnr6k47bnfqbbvkv@Ergus> <87o8mc4b65.fsf@gmail.com> <20200911150330.jyo65sauphrswf77@Ergus> Mime-Version: 1.0 Content-Type: multipart/alternative; boundary="000000000000b3fe0e05af393c62" Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="39546"; mail-complaints-to="usenet@ciao.gmane.io" Cc: Ergus , EMACS development team , nicola.manca85@gmail.com, "Alfred M. Szmidt" , Arthur Miller , Jack Kamm , Eli Zaretskii , Drew Adams To: Dmitry Gutov Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Mon Sep 14 00:14:47 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 1kHaGk-000A9B-K3 for ged-emacs-devel@m.gmane-mx.org; Mon, 14 Sep 2020 00:14:46 +0200 Original-Received: from localhost ([::1]:41818 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1kHaGj-0007rI-JZ for ged-emacs-devel@m.gmane-mx.org; Sun, 13 Sep 2020 18:14:45 -0400 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:58390) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1kHaGD-0007Od-UH for emacs-devel@gnu.org; Sun, 13 Sep 2020 18:14:13 -0400 Original-Received: from mail-yb1-xb2d.google.com ([2607:f8b0:4864:20::b2d]:32800) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1kHaGC-00012m-0u; Sun, 13 Sep 2020 18:14:13 -0400 Original-Received: by mail-yb1-xb2d.google.com with SMTP id c17so10477556ybe.0; Sun, 13 Sep 2020 15:14:10 -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=8gNntEn0m4cex0DqoID0BmSymm3iHo6pdda5HLlvysM=; b=USvi4ZhTjzHLjBcUhiJcwPOITnCf5/ukD3fml1lHQGB4YVy/XRY0KOmrA979goHpYf 0lrcxGFDEb+igbjNGXGaDJk0qjezB6pPOSvO0aZUxo6uDvnN+xxxqBZnFbAom8TguBzI Eosk75pWvG5eFsYNxIlHy6Z6dsEJlu/GGUSv2z0wnstnkfxGFDyZO2nV9wUEm9rU+NQv nacF/jJrTEqXCQGpYMqQSJ5hyK8Og4yeX/Tew6Lw5Z02ewvNkKxatAZCCxcFek0+u3GE thoIJS9uLmFbQSzb4FMpJgmgZa2DuXeFHQaGHB3BK8Ai/2KTqVxL2FN6HL6Jyzm28dgx r10g== 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=8gNntEn0m4cex0DqoID0BmSymm3iHo6pdda5HLlvysM=; b=t4pT75lKP7w3JJF9v1KKSHMRh8cKjAUadzhqNkJc13mERE5lCMcgOSGbEvTJFJxKCr wYfKdjpVcF+6pLs546avxsj2seT/hPxhqjZQr8QydmQW08LbQh6upLc50quYcamdCZQ4 KIqsOwuRbX4XncXNv8LlqRZbVZsBiUtxSQ4xXJ5y04UlbihORjAt/VQXVRwAdKjCvcEC bWyx7MCbLf9n2KKUrshg0e6lfPSxke+qGrC2QTkd7rQ/N43mzK3EKq3EfSPZYi7ALSJK dguloQ2frv3uHAWc3rwWIe9OwlDIDLPO1rU4QxcGAHP/YH/zrRfoY2CPJiOmwJgYjH59 +KMg== X-Gm-Message-State: AOAM532jNbVo+9EDWiKblCLp+DpFn2YrRR1mZ9bRlH26HYtn7ViEQUiv L0YBRBivGH2THlZNc5T5M7Sd3b6yPuhobWuPVkkIWuLTKDAsnQ== X-Google-Smtp-Source: ABdhPJyvNPeWrxfNIjNC1E/wcmT8g+mP4ViylltpMtedUmVEYSFSjDFSMBq2oDV/P+KusLimBy//pKBz6rFWT3laN+Q= X-Received: by 2002:a5b:4d2:: with SMTP id u18mr2831589ybp.56.1600035249977; Sun, 13 Sep 2020 15:14:09 -0700 (PDT) In-Reply-To: Received-SPF: pass client-ip=2607:f8b0:4864:20::b2d; envelope-from=yandros@gmail.com; helo=mail-yb1-xb2d.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, 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:255584 Archived-At: --000000000000b3fe0e05af393c62 Content-Type: text/plain; charset="UTF-8" Starting point for a concrete proposal: * Rename undo in simple.el to something descriptive. ** Perhaps undo-sequence or undo-branching? * Create an alias or dispatcher undo that calls the renamed simple.el undo by default. * Create a customize option (or similar) to allow the user to choose between the current simple.el undo method, the "undo/redo-only" method bindings, and perhaps undo-tree. * Change the default action of C-z, at least in gui frames, to call the above undo rather than suspend frame. ** Also add a binding for C-Z (aka C-S-z) to call redo-only. I'm unsure if this should be bound to something else if the "simple.el undo" method is chosen, or if an alternative binding for C-Z would be better there. * Add a user option to revert this change for C-z. I'm unclear if this is better implemented by changing the binding or by adding it as an option to the dispatcher concept above, perhaps something like "undo-or-suspend-frame". Reasoning: I believe that people using emacs in a gui context tend to have a system-wide method for switching between active windows/applications, and they don't use the C-z binding for it. This is certainly true of the people I see today who don't use emacs, and was true of the new and non-new, non-expert emacs users I used to see often. It was usually true of expert emacs users that I knew personally that they rebound C-z. This gets us an intuitive keybinding for gui computer users of various types that doesn't hide their window (when I used to work in user support way back when, we *frequently* found users surprised by "my emacs disappeared"), and it connects a very common keybinding (muscle memory for a vast body of users) to a familiar/powerful decision point for emacs. The cost is the loss of suspend-frame on C-z, which seems most likely to be an issue for either people who are very capable of reverting it, and for people who are very used to the control-z behavior inside a tty. I have personally spent a *lot* of time using emacs in tty-only environments with C-z rebound, and preferred it that way. Anecdotally, people who spend a lot of time in emacs inside screen or tmux prefer to rebind C-z away from suspend, but of course tastes vary. I'm sure there are issues with this, even setting aside the very strong small-c-conservatism of long-time emacs users on this list; what are they? Thanks, ~Chad --000000000000b3fe0e05af393c62 Content-Type: text/html; charset="UTF-8" Content-Transfer-Encoding: quoted-printable
Starting point for a concrete proposal:
* Rename undo = in simple.el to something descriptive.
** Perhaps undo-sequence o= r undo-branching?
* Create an alias or dispatcher undo that calls= the renamed simple.el undo=C2=A0by default.
* Create a customize= =C2=A0option (or similar) to allow the user to choose between the current s= imple.el undo method, the "undo/redo-only" method bindings, and p= erhaps undo-tree.
* Change the default action of C-z, at least in= gui frames, to call the above undo rather than suspend frame.
**= Also add a binding for C-Z (aka C-S-z) to call redo-only. I'm unsure i= f this should be bound to something else if the "simple.el undo" = method is chosen, or if an alternative binding for C-Z would be better ther= e.
* Add a user option to revert this change for C-z. I'm unc= lear if this is better implemented by changing the binding or by adding it = as an option to the dispatcher concept above, perhaps something like "= undo-or-suspend-frame".

Reasoning:=C2=A0
I believe that people using emacs in a gui context tend to have a sys= tem-wide method for switching between active windows/applications, and they= don't use the C-z binding for it. This is certainly true of the people= =C2=A0I see today who don't use emacs, and was true of the new and non-= new, non-expert emacs users I used to see often. It was usually true of exp= ert emacs users that I knew personally that they rebound C-z.
Thi= s gets us an intuitive keybinding for gui computer users of various types t= hat doesn't hide their window (when I used to work in user support way = back when, we *frequently* found users surprised by "my emacs disappea= red"), and it connects a very common keybinding (muscle memory for a v= ast body of users) to a familiar/powerful decision point for emacs.=C2=A0
The cost is the loss of suspend-frame on C-z, which seems most lik= ely to be an issue for either people who are very capable of reverting it, = and for people who are very used to the control-z behavior inside a tty. I = have personally spent a *lot* of time using emacs in tty-only environments = with C-z rebound, and preferred it that way. Anecdotally, people who spend = a lot of time in emacs inside screen or tmux prefer to rebind C-z away from= suspend, but of course tastes vary.

I'm sure = there are issues with this, even setting aside the very strong small-c-cons= ervatism of long-time emacs users on this list; what are they?
Thanks,
~Chad
--000000000000b3fe0e05af393c62--