From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Matt Armstrong Newsgroups: gmane.emacs.bugs Subject: bug#46515: Repeat mode Date: Sun, 14 Feb 2021 15:59:32 -0800 Message-ID: References: <87pn12o74z.fsf@mail.linkov.net> Mime-Version: 1.0 Content-Type: text/plain Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="40254"; mail-complaints-to="usenet@ciao.gmane.io" To: Juri Linkov , 46515@debbugs.gnu.org Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Mon Feb 15 01:00:28 2021 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 1lBRJT-000AOF-IQ for geb-bug-gnu-emacs@m.gmane-mx.org; Mon, 15 Feb 2021 01:00:27 +0100 Original-Received: from localhost ([::1]:49190 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1lBRJS-0000oA-HD for geb-bug-gnu-emacs@m.gmane-mx.org; Sun, 14 Feb 2021 19:00:26 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]:40584) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1lBRJ4-0000o0-Ss for bug-gnu-emacs@gnu.org; Sun, 14 Feb 2021 19:00:02 -0500 Original-Received: from debbugs.gnu.org ([209.51.188.43]:53694) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1lBRJ4-000165-KQ for bug-gnu-emacs@gnu.org; Sun, 14 Feb 2021 19:00:02 -0500 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1lBRJ4-0007Kp-EP for bug-gnu-emacs@gnu.org; Sun, 14 Feb 2021 19:00:02 -0500 X-Loop: help-debbugs@gnu.org Resent-From: Matt Armstrong Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Mon, 15 Feb 2021 00:00:02 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 46515 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 46515-submit@debbugs.gnu.org id=B46515.161334718628149 (code B ref 46515); Mon, 15 Feb 2021 00:00:02 +0000 Original-Received: (at 46515) by debbugs.gnu.org; 14 Feb 2021 23:59:46 +0000 Original-Received: from localhost ([127.0.0.1]:37007 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lBRIo-0007Jw-Lf for submit@debbugs.gnu.org; Sun, 14 Feb 2021 18:59:46 -0500 Original-Received: from relay7-d.mail.gandi.net ([217.70.183.200]:54993) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1lBRIl-0007Jf-KX for 46515@debbugs.gnu.org; Sun, 14 Feb 2021 18:59:45 -0500 X-Originating-IP: 24.113.169.116 Original-Received: from matts-mbp-2016.lan (24-113-169-116.wavecable.com [24.113.169.116]) (Authenticated sender: matt@rfc20.org) by relay7-d.mail.gandi.net (Postfix) with ESMTPSA id DAF8020004; Sun, 14 Feb 2021 23:59:35 +0000 (UTC) In-Reply-To: <87pn12o74z.fsf@mail.linkov.net> 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:200038 Archived-At: First thing: neat idea, and don't listen to me. :-) Have you thought about making it more clear to the user that their keys are now doing different things? Most successful "modal" interfaces I have seen have clear indicators. One idea is to look at the other places in Emacs that already use `set-transient-map' in this way and try to be "at least as good" as those. `kmacro' and `indent-rigidly' are two reasonable examples. They print messages when active that describe the newly active key bindings. repeat.el doesn't describe the key binding, but it does say a repeat mode is active. Kmacro is so smart that it aranges for the repeat key to be based on whatever key the command was invoked with. As far as this general approach for creating small transient modes, I can't help but think it is too low level. An approach that had a bit more scafolding to it would let Emacs' help system describe it, and it might allow for a consistent way for Emacs to indicade they are active --- similar to how the conventions under major and minor work for "heavier" modes.