From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: Karthik Chikmagalur Newsgroups: gmane.emacs.devel,gmane.emacs.orgmode Subject: Re: [RFC] The best way to choose an "action" at point: context-menu-mode, transient, which-key or embark? (was: Fwd: Org-cite: Replace basic follow-processor with transient menu?) Date: Sat, 14 Dec 2024 15:47:20 -0800 Message-ID: <87o71d25fb.fsf@gmail.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable Injection-Info: ciao.gmane.io; posting-host="blaine.gmane.org:116.202.254.214"; logging-data="23229"; mail-complaints-to="usenet@ciao.gmane.io" Cc: charles.choi@yummymelon.com, Emacs developers , emacs-orgmode@gnu.org, emacs.transient@jonas.bernoulli.dev, juri@linkov.net, justin@burkett.cc, omar@matem.unam.mx, Philip Kaludercic , tclaesson@gmail.com, visuweshm@gmail.com To: Psionic K , Ihor Radchenko Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Sun Dec 15 00:48:03 2024 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 1tMbrf-0005vn-TX for ged-emacs-devel@m.gmane-mx.org; Sun, 15 Dec 2024 00:48:03 +0100 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1tMbr4-0004LX-S4; Sat, 14 Dec 2024 18:47:26 -0500 Original-Received: from eggs.gnu.org ([2001:470:142:3::10]) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1tMbr3-0004LB-CD; Sat, 14 Dec 2024 18:47:25 -0500 Original-Received: from mail-pl1-x632.google.com ([2607:f8b0:4864:20::632]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1tMbr1-0005Pe-MO; Sat, 14 Dec 2024 18:47:25 -0500 Original-Received: by mail-pl1-x632.google.com with SMTP id d9443c01a7336-2161eb95317so27150235ad.1; Sat, 14 Dec 2024 15:47:22 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1734220042; x=1734824842; darn=gnu.org; h=content-transfer-encoding:mime-version:message-id:date:importance :references:in-reply-to:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=FCDjhvy6cmxpiWJc9OmgDaYBLgDchziBWxiAtZhHC40=; b=d2MPcvJmjMYKtbo9V8kV0DNNHJelAD6LfoBOtFpaXY6BHMwCnSB25BvRw1Ei6zKw7l jIIPIRFpA27SRnr5V6Mz/gPoUUGGYlO9T8Us2JvN6/gjZ2vTl39e8AOxSNvdJVVpER1/ tkMSprXcwChsEyBpqlO+vV8/hLPFMydh+BBJ7LxQPbPqx2NNRMP5nzW5rB5odds7JZsQ R0xVcj5M8lZ/KmPHU0IfoSweRcD94Ccw9sahgKbhZ8AuVDCAfQV9fenE/aECQMzu/rbX 3JkzpT38KrTXOCnn1PvYQqAgyBHwIgwcaFzBaagK8nfV20sp5l0CAD1CBRDuaIjIH150 unnA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1734220042; x=1734824842; h=content-transfer-encoding:mime-version:message-id:date:importance :references:in-reply-to:subject:cc:to:from:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=FCDjhvy6cmxpiWJc9OmgDaYBLgDchziBWxiAtZhHC40=; b=gYvStyb4tkV3PYXxHMc6mh2q+noieROm5WyFqQeanyL4Ug0GV84vhgVjeQ3Ug7dxLC bAD5Z504Gh+D927GtXPR22KN/y8Cu7+wq9005ky3r4q9s8WFrenHVv+TRxhpqpd/wA7u hZklrRCDw5Pxeyv+iLPiKDxfCog9dUDCrlLqVgIVfMwGe5xLxhfAgcNMydQEMVsn2gzp 1Dfxj7tERiRA0HXf/fPk1Ph+g7wdz0uiX2msGdOE7dnYQU9hTJ2BvAkK9K+PvkB5hHM/ w38kCzWD1DvX/CgYh+BcAWsvODIYSz5stLyE8mwytnbyxoRpWc2/JygACE+NKZoiYvkr +QWQ== X-Forwarded-Encrypted: i=1; AJvYcCU4WsYQF0A9q9RobrHScEu6tzq0RYVKSnasU5OEMmXTJd3GlOOLYlxSyy72plnvbrU12XAIwMjacGGvvZfs5A==@gnu.org, AJvYcCXggNGKc24v/jfp9qTcSztwISahT9yzI8+9Y09fohGCtKJXgBpm4+E5xLl8Nqu1l4iupv41vsbNUQeoUQ==@gnu.org X-Gm-Message-State: AOJu0Yz/QWSXGXLRqX/i9XscGNk9b45U9xwHIn22GQUm3ht0kemtQbfH RTyteIOlBmz4yZfxKjLefCRlO9RUgjaTG+UW1ItPeh5Ux4TQwQsx X-Gm-Gg: ASbGnctqefD+mqkthCTEBk1puOzOL339u+vqm5jrT0THcgdh10HTEXev6hMPF0hNvDW fCLfkuKcI0gcMF7sGL+qJfu9D7TvJ6gVBtQoSJueaWCirTBke19hzTMOocxeIVCmR3hvvZdgbJ3 GG6jgETdmRr2/JgkBiRwvXVGC9R302e0Gj26cO51g8FgLfwxAYXeKBwYhrHQH10NWf/VxiyJU7Y 72SujiC8WG9JTt1CnjnNZdfpRXEyMgzpgxOv8B6uoxIYaRtdAj91T50vgQ9ccM0Z+1fAA== X-Google-Smtp-Source: AGHT+IGZfSDA4WkuO1wg7bzFa1vs1geiJ9290UGiIQLaSJKtgVRRWO5R4Telr45EINNvdJHVk4wlJQ== X-Received: by 2002:a17:903:32c8:b0:216:5268:9aab with SMTP id d9443c01a7336-21892a441cfmr116467675ad.46.1734220041720; Sat, 14 Dec 2024 15:47:21 -0800 (PST) Original-Received: from localhost ([2600:8802:5726:2500:a567:f625:4e50:12dc]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-218a1e63896sm17762785ad.223.2024.12.14.15.47.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Sat, 14 Dec 2024 15:47:21 -0800 (PST) In-Reply-To: Importance: normal Received-SPF: pass client-ip=2607:f8b0:4864:20::632; envelope-from=karthikchikmagalur@gmail.com; helo=mail-pl1-x632.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, 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.29 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-bounces+ged-emacs-devel=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.devel:326507 gmane.emacs.orgmode:164150 Archived-At: >> intercepts the main loop > This is optional, per transient menu (prefix) and the commands within it. > A common technique, used by magit and others, is to have entry point > commands in the regular keymap so that many commands can be started witho= ut > traversing several menus. If you want normal un-shadowed bindings active > at the same time, the prefix has a slot called `transient-non-suffix' that > is similar to the `:suppress' option in keymaps or setting a `t' > `undefined' binding in a keymap. However the results of mixing self-inse= rt > and modal or modal and another modal are generally bad. >From the manual page describing the `transient-non-suffix' slot: > If the value is =E2=80=98t=E2=80=99, then non-suffixes can be invoked, wh= en it is > =E2=80=98nil=E2=80=99 (the default) then they cannot be invoked. > > The only other recommended value is =E2=80=98leave=E2=80=99. If that is = used, then > non-suffixes can be invoked, but if one is invoked, then that exits the > transient. This is one of my issues with Transient -- here it is reimplementing the idea of a regular transient keymap (the kind you can use with `set-transient-map') but increasing the cognitive load of applying this behavior. I understand that Transient needs to implement behaviors not provided by Elisp (like infixes), but fashioning whole-cloth replacements for behaviors that are provided -- like the KEEP-PRED behavior of `set-transient-map' -- makes writing Transients a very high effort activity. Karthik