From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.io!.POSTED.blaine.gmane.org!not-for-mail From: JD Smith Newsgroups: gmane.emacs.bugs Subject: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" Date: Fri, 26 Apr 2024 10:37:51 -0400 Message-ID: References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@gmail.com> <86h6fo3e7e.fsf@mail.linkov.net> Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) 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="1164"; mail-complaints-to="usenet@ciao.gmane.io" Cc: 70576@debbugs.gnu.org To: Juri Linkov Original-X-From: bug-gnu-emacs-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Fri Apr 26 16:39:02 2024 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 1s0Mj8-000AYs-9o for geb-bug-gnu-emacs@m.gmane-mx.org; Fri, 26 Apr 2024 16:39:02 +0200 Original-Received: from localhost ([::1] helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1s0Miu-0005Zp-Dx; Fri, 26 Apr 2024 10:38:48 -0400 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 1s0Mit-0005ZB-12 for bug-gnu-emacs@gnu.org; Fri, 26 Apr 2024 10:38:47 -0400 Original-Received: from debbugs.gnu.org ([2001:470:142:5::43]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1s0Mis-0005mk-OY for bug-gnu-emacs@gnu.org; Fri, 26 Apr 2024 10:38:46 -0400 Original-Received: from Debian-debbugs by debbugs.gnu.org with local (Exim 4.84_2) (envelope-from ) id 1s0MjA-0008MO-Uh for bug-gnu-emacs@gnu.org; Fri, 26 Apr 2024 10:39:04 -0400 X-Loop: help-debbugs@gnu.org Resent-From: JD Smith Original-Sender: "Debbugs-submit" Resent-CC: bug-gnu-emacs@gnu.org Resent-Date: Fri, 26 Apr 2024 14:39:04 +0000 Resent-Message-ID: Resent-Sender: help-debbugs@gnu.org X-GNU-PR-Message: followup 70576 X-GNU-PR-Package: emacs X-GNU-PR-Keywords: patch Original-Received: via spool by 70576-submit@debbugs.gnu.org id=B70576.171414231631794 (code B ref 70576); Fri, 26 Apr 2024 14:39:04 +0000 Original-Received: (at 70576) by debbugs.gnu.org; 26 Apr 2024 14:38:36 +0000 Original-Received: from localhost ([127.0.0.1]:38185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s0Mif-0008GQ-PR for submit@debbugs.gnu.org; Fri, 26 Apr 2024 10:38:36 -0400 Original-Received: from mail-io1-xd29.google.com ([2607:f8b0:4864:20::d29]:49248) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from ) id 1s0MiY-0008Dy-TL for 70576@debbugs.gnu.org; Fri, 26 Apr 2024 10:38:30 -0400 Original-Received: by mail-io1-xd29.google.com with SMTP id ca18e2360f4ac-7d9e70f388fso91464539f.2 for <70576@debbugs.gnu.org>; Fri, 26 Apr 2024 07:38:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714142282; x=1714747082; darn=debbugs.gnu.org; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:from:to:cc:subject:date :message-id:reply-to; bh=AzlSI8cA4gY/voByQYhST5zEwzpeniQol+QJfrvWxkM=; b=OggZKRbTvqnQssQE0qpYzVMDaU+IZ2b6trJf5hOaz1HVf85LFMTesRdzwx8l+zoVeo k5AEsjz72HnAiTTOnqi81WxPOlBY9v47myGu2CMvzELYJ3PY1FEmX9cbjAJDyCmAL/hw pmhxxSbqUPjdHzNf0CLZTs3+uqnX058Zy8IzKKuJXcazsmh58FGMU805jskE4f5+ql52 EyWBi0LD8k6DTIFn5o2Yifg9WG1KS8DQQwORNHGgNqMjXHeY5MF5fq8fVQm0aGIVo/zE nVYWJEvWnjRmpLFsX+ayXBg7TshChfpVPGlDB/phFE0VRfH5QV77/2zM+agBRqsvsUiJ 2ynA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714142282; x=1714747082; h=to:references:message-id:content-transfer-encoding:cc:date :in-reply-to:from:subject:mime-version:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=AzlSI8cA4gY/voByQYhST5zEwzpeniQol+QJfrvWxkM=; b=FzOOGkdo1yar6wYNDd3WojWdBsUydIz+SQSh3whWvg9L05QLFEIjxAWbnijeBuL6SE GByCVAoQUtB1HqswglrH/yy4IECt/ZQPdh5CerAlPcXSIi7wIqsZN/GWs05jp7DuDVsw 8T/RiqU0NrPj0IkhBBvfz3jVhjuaG0fm0DTHw4NhiskX6wN25pnZ2TZRjlmnE+2kFMzR wFDCDblHPgpPxhPLHHhB6mSPPtap52LXlmpFEEmUXRLS5LQi++u27n3E3CnWCEVtIn8H w2oXwsGPcK6hfdjoYWg1D16TZcvdEANPwc7mcJK6nTIvWFj+oaEtMDoPIE3b+0lM+crv 3Hvw== X-Gm-Message-State: AOJu0YxoeseH1LMd8mPNFL8yS5fqXtiZt0++yZ1iOOAuddZqvGnCZkbo QaPhJHJcZInnDmBAHVS5Z4PcXht6SJ7erEm0CcgWUoOebBQ2Rx7KqM/imw== X-Google-Smtp-Source: AGHT+IGvXVCGIHAxNGYtHqfAO8HCl3gTfSsWM8z8dhTTtE1kNUkdjZZFDVGvUQ05mqi1a1hPnwbMjA== X-Received: by 2002:a6b:7508:0:b0:7da:19a5:625a with SMTP id l8-20020a6b7508000000b007da19a5625amr2867511ioh.21.1714142282535; Fri, 26 Apr 2024 07:38:02 -0700 (PDT) Original-Received: from smtpclient.apple (cm-24-53-187-34.buckeyecom.net. [24.53.187.34]) by smtp.gmail.com with ESMTPSA id l1-20020a056638144100b00484fbf1bea4sm4245842jad.176.2024.04.26.07.38.01 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Fri, 26 Apr 2024 07:38:02 -0700 (PDT) In-Reply-To: <86h6fo3e7e.fsf@mail.linkov.net> X-Mailer: Apple Mail (2.3774.500.171.1.1) 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-bounces+geb-bug-gnu-emacs=m.gmane-mx.org@gnu.org Xref: news.gmane.io gmane.emacs.bugs:283993 Archived-At: > On Apr 26, 2024, at 2:06=E2=80=AFAM, Juri Linkov = wrote: >=20 > I feel uneasy about reusing the form (STRING . DEFN) > that has another meaning: >=20 > a cons (STRING . DEFN), meaning that DEFN is the definition > (DEFN should be a valid definition in its own right) and > STRING is the menu item name (which is used only if the containing > keymap has been created with a menu name, see make-keymap), >=20 > Can the same instead be achieved by using symbol properties? > For example: > (defvar-keymap expreg-repeat-map > :doc "Repeat map for `expreg' actions." > :repeat t > "\\" 'expreg-expand > "|" 'expreg-contract) >=20 > (put 'expreg-expand 'repeat-hint "expand") > (put 'expreg-contract 'repeat-hint "contract") Thanks for taking a look. A property on the command could work (and = then you need no :name). It would be somewhat harder to maintain the = structure for long keymaps, e.g. if a command changes. I do note that = menu-item with :filter is commonly recommended for non-menu dynamic = bindings, so there is some precedent of reusing menu functionality in = other contexts. Of course a new wrapper macro could also be developed = to ease this. Do you anticipate any specific issues?