Manuel Giraud <manuel@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Debbugs Internal Request <help-debbugs@HIDDEN>
to internal_control <at> debbugs.gnu.org
.
Full text available.Manuel Giraud <manuel@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 3 May 2024 07:15:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 03 03:15:38 2024 Received: from localhost ([127.0.0.1]:46198 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s2n8s-00033n-7R for submit <at> debbugs.gnu.org; Fri, 03 May 2024 03:15:38 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:58242) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s2n8o-00033f-Tz for 70576 <at> debbugs.gnu.org; Fri, 03 May 2024 03:15:36 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s2n8M-00006W-Ne; Fri, 03 May 2024 03:15:06 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=jK/oTol6jhIQL7dYPd0seJrRX/enMZzbVJEoO6+Hx10=; b=CW5d67H3KsA0 K6+A2NW/7HmjxKvtNQ7LfGPuGbqYHBYswvt06zbMHG1iIucJ7KDZwR3esGDPAQfRTqKQfvnIJyz8+ ILbaiRWhzCtQkdghoJbvS3d+/si50FnGv4xtB5U3yrQR58123OFKIRELSXGKDSrdgpWyZXrh/fsGz 2LvhqCn3yLVcPctEVoaS/ecTkFGd2lncoiHVKQ4jWRfotaefgI4IjudTnCQJHdWpILcH7dpine3D7 meI6GejQo5tJlyBERRiZQfpLLnPeGfuMNv1/Otc9zDKKP1Krcd+Bg2Ryovh6NkIZt+c+po0/mjy6u mTztPLDE5Bj1HMiSqxjR3g==; Date: Fri, 03 May 2024 10:15:01 +0300 Message-Id: <865xvvjrii.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Juri Linkov <juri@HIDDEN> In-Reply-To: <86msp7beii.fsf@HIDDEN> (message from Juri Linkov on Fri, 03 May 2024 09:23:01 +0300) Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> <86cyqaezhc.fsf@HIDDEN> <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> <86ttjle92p.fsf@HIDDEN> <86zft8676h.fsf@HIDDEN> <86r0ekn0o0.fsf@HIDDEN> <86sez06w59.fsf@HIDDEN> <86zft8jd2y.fsf@HIDDEN> <86msp7beii.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org, jdtsmith@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Juri Linkov <juri@HIDDEN> > Cc: jdtsmith@HIDDEN, 70576 <at> debbugs.gnu.org > Date: Fri, 03 May 2024 09:23:01 +0300 > > >> > Thanks, but please also update the ELisp manual and add an entry to > >> > NEWS about this change. > >> > >> A NEWS entry was already added with "---" since I didn't expect that > >> such a small feature that is not used anywhere needs to grow > >> the size of the manual. > > > > I don't see how we can avoid updating the ELisp manual, when the other > > values of :repeat are already documented there, see the node "Creating > > Keymaps". > > > > So please add the description of the new value to those already > > documented there. > > Indeed, without this the manual would be incomplete, so now added as well. Thanks.
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 3 May 2024 06:25:06 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri May 03 02:25:06 2024 Received: from localhost ([127.0.0.1]:46167 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s2mLx-00083B-KB for submit <at> debbugs.gnu.org; Fri, 03 May 2024 02:25:05 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:36249) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1s2mLt-00081o-BJ for 70576 <at> debbugs.gnu.org; Fri, 03 May 2024 02:25:04 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id D60684000A; Fri, 3 May 2024 06:24:32 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" In-Reply-To: <86zft8jd2y.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 02 May 2024 21:14:29 +0300") Organization: LINKOV.NET References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> <86cyqaezhc.fsf@HIDDEN> <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> <86ttjle92p.fsf@HIDDEN> <86zft8676h.fsf@HIDDEN> <86r0ekn0o0.fsf@HIDDEN> <86sez06w59.fsf@HIDDEN> <86zft8jd2y.fsf@HIDDEN> Date: Fri, 03 May 2024 09:23:01 +0300 Message-ID: <86msp7beii.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org, jdtsmith@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> > Thanks, but please also update the ELisp manual and add an entry to >> > NEWS about this change. >> >> A NEWS entry was already added with "---" since I didn't expect that >> such a small feature that is not used anywhere needs to grow >> the size of the manual. > > I don't see how we can avoid updating the ELisp manual, when the other > values of :repeat are already documented there, see the node "Creating > Keymaps". > > So please add the description of the new value to those already > documented there. Indeed, without this the manual would be incomplete, so now added as well.
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 2 May 2024 18:15:32 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 02 14:15:32 2024 Received: from localhost ([127.0.0.1]:45162 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s2axw-0004fW-7v for submit <at> debbugs.gnu.org; Thu, 02 May 2024 14:15:32 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:41170) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s2axs-0004JO-RY for 70576 <at> debbugs.gnu.org; Thu, 02 May 2024 14:15:31 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s2axP-0004Ol-GL; Thu, 02 May 2024 14:15:00 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=GMbArUQ+i0BpmQWcGWA6y1vKcF9ptjwN47Iuk0yklME=; b=lxCxt/CuUfsF amjo37A3hKjF/ITrgt4VRFt0dyU+iRfzWZKn7BWOJ65FW/91e+hF86wqH8v71x9nCJckKU5gTDKyE DEvyiGjRK2YC1wEm4AJUIQ3jy0ElezW/r5odrX6IWrzKyGXy/PPzVDYfsTQwlwWCPv/pbIhu82ALf hHmzEsFvN2h5c1Dxkfx8d4gQEp/5cewJSx2L6cs3fqIFUfByWp/+N4jEVWgQtxaV4G9f9SGAF3A9g PkfqwyspYcjMCyECJk/mLzXMKcBo9NIOyZg+mc9qYbWtfzrGNBxDKZ3DDLckWHdE3s3ep5EFv7t+x 00NPjPE5CfDoDod/v0VlYw==; Date: Thu, 02 May 2024 21:14:29 +0300 Message-Id: <86zft8jd2y.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Juri Linkov <juri@HIDDEN> In-Reply-To: <86sez06w59.fsf@HIDDEN> (message from Juri Linkov on Thu, 02 May 2024 19:16:06 +0300) Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> <86cyqaezhc.fsf@HIDDEN> <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> <86ttjle92p.fsf@HIDDEN> <86zft8676h.fsf@HIDDEN> <86r0ekn0o0.fsf@HIDDEN> <86sez06w59.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org, jdtsmith@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > From: Juri Linkov <juri@HIDDEN> > Cc: jdtsmith@HIDDEN, 70576 <at> debbugs.gnu.org > Date: Thu, 02 May 2024 19:16:06 +0300 > > >> >>> (defvar-keymap expreg-repeat-map > >> >>> :doc "Repeat map for `expreg' actions." > >> >>> :repeat '(:hints ((expreg-expand . "expand") (expreg-contract . "contract"))) > >> >>> "\\" 'expreg-expand > >> >>> "|" 'expreg-contract) > >> >> > >> >> If a hint is missing for a command, it should just have its key mentioned. > >> >> It looks like your idea would require changes to defvar-keymap. Do you > >> >> want to propose a patch? We'd need some way to pass the hints in; perhaps > >> >> the macro could set a property on the command symbol as you initially > >> >> proposed. > >> > > >> > Alright, let's add this to defvar-keymap. Please try the following patch. > >> > >> Thanks for the feature request. This is pushed now. > > > > Thanks, but please also update the ELisp manual and add an entry to > > NEWS about this change. > > A NEWS entry was already added with "---" since I didn't expect that > such a small feature that is not used anywhere needs to grow > the size of the manual. I don't see how we can avoid updating the ELisp manual, when the other values of :repeat are already documented there, see the node "Creating Keymaps". So please add the description of the new value to those already documented there.
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 2 May 2024 16:18:03 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 02 12:18:03 2024 Received: from localhost ([127.0.0.1]:44665 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s2Z8F-0007r9-0t for submit <at> debbugs.gnu.org; Thu, 02 May 2024 12:18:03 -0400 Received: from relay2-d.mail.gandi.net ([217.70.183.194]:43959) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1s2Z8C-0007qk-U5 for 70576 <at> debbugs.gnu.org; Thu, 02 May 2024 12:18:01 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 7CB0140007; Thu, 2 May 2024 16:17:31 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: Eli Zaretskii <eliz@HIDDEN> Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" In-Reply-To: <86r0ekn0o0.fsf@HIDDEN> (Eli Zaretskii's message of "Thu, 02 May 2024 10:16:47 +0300") Organization: LINKOV.NET References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> <86cyqaezhc.fsf@HIDDEN> <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> <86ttjle92p.fsf@HIDDEN> <86zft8676h.fsf@HIDDEN> <86r0ekn0o0.fsf@HIDDEN> Date: Thu, 02 May 2024 19:16:06 +0300 Message-ID: <86sez06w59.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org, jdtsmith@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> >>> (defvar-keymap expreg-repeat-map >> >>> :doc "Repeat map for `expreg' actions." >> >>> :repeat '(:hints ((expreg-expand . "expand") (expreg-contract . "contract"))) >> >>> "\\" 'expreg-expand >> >>> "|" 'expreg-contract) >> >> >> >> If a hint is missing for a command, it should just have its key mentioned. >> >> It looks like your idea would require changes to defvar-keymap. Do you >> >> want to propose a patch? We'd need some way to pass the hints in; perhaps >> >> the macro could set a property on the command symbol as you initially >> >> proposed. >> > >> > Alright, let's add this to defvar-keymap. Please try the following patch. >> >> Thanks for the feature request. This is pushed now. > > Thanks, but please also update the ELisp manual and add an entry to > NEWS about this change. A NEWS entry was already added with "---" since I didn't expect that such a small feature that is not used anywhere needs to grow the size of the manual.
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 2 May 2024 11:48:17 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 02 07:48:17 2024 Received: from localhost ([127.0.0.1]:43291 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s2UvA-0001lK-Rq for submit <at> debbugs.gnu.org; Thu, 02 May 2024 07:48:17 -0400 Received: from mail-il1-x12f.google.com ([2607:f8b0:4864:20::12f]:57551) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jdtsmith@HIDDEN>) id 1s2Uv6-0001l8-Lw for 70576 <at> debbugs.gnu.org; Thu, 02 May 2024 07:48:15 -0400 Received: by mail-il1-x12f.google.com with SMTP id e9e14a558f8ab-36c72d287f8so1811355ab.2 for <70576 <at> debbugs.gnu.org>; Thu, 02 May 2024 04:47:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714650465; x=1715255265; 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=/7wVkSw34x+e5RumE0GpmaHdtTWYQPx0EhkJwwxkP5M=; b=JodsAXFZHA4ulI2+Arz+FUHe9UuFeWTqkwUwTzr0EP9XS9cWBuX/w1rK0M6ecmLIuy +owKIXX4tRZ2DAwX4iNh4nXVrvy5iR5qFfKHIWc3aAJSlRi3absMrupGGg1TYO0yqfJn WOQnhPGXhoSleRklnLTNA0CwkWpBudHWl8lGNcBD9tawhQ0goiNBE4A36xCGsh1ODa7Q mjKQyCOIPELbkrr84o65boADaA3P7nU6w+d6tN0LHt4lQRII1B2p79S6Wol6PL+yFlYy tEMkoRCOJpNmRic+1mmepIdTaEKfKcHyt6nxJG3i5cHycIS27VLtAIyYtspalOcF8UUa Q5Iw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714650465; x=1715255265; 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=/7wVkSw34x+e5RumE0GpmaHdtTWYQPx0EhkJwwxkP5M=; b=gwixLS3on0KXqLHbLKRaxtK6nP8P7w2GphbwcFkFPytl+7ViPadOyekyoX6dPKZu20 HhrB4xgBf/iKAnZTHnv410qIc8ESsk+6cpXNeDuryLUOkXoPpSHXZG2RsatJH5u5N2fR npTuYi63g2mmqlS1v5kIIggD7U8ouSXbU8ag/EIdQ6KtxF8Xw4DSXfqtpE3HA61kinlt mEollffU+FhUfMUiDkm2FBA5nV1uSQuTds2mOmQYphugeYCZqTzgcvRC+wlGaokFZsll jD2D1OUy3QDYkdu090JzuB+n2Oz56FYllypN6h8AqYPkltSyLYIvkSRzrPWVaLxX4hQk TOlw== X-Gm-Message-State: AOJu0Yyd4A3jO07X3+RJjh4FCDd/oOIeJsdd4jIHGdum1L7RhVkey7+N x1JAkM+mWKOtBtsZC9xXq1W3LgW98JT0upyton0vNGyIONQCp+5+ X-Google-Smtp-Source: AGHT+IFCraoV+jVZPgh/tMWZbI9loypbfhUPvHgbuhFbe/f5DDCEIeL4nrzR6LrMj+O/NjNyzAB+rQ== X-Received: by 2002:a05:6e02:1fce:b0:36c:4aba:10be with SMTP id dj14-20020a056e021fce00b0036c4aba10bemr2443547ilb.10.1714650463052; Thu, 02 May 2024 04:47:43 -0700 (PDT) Received: from smtpclient.apple (cm-24-53-187-34.buckeyecom.net. [24.53.187.34]) by smtp.gmail.com with ESMTPSA id q7-20020a056e0220e700b003698fc3a541sm176619ilv.80.2024.05.02.04.47.41 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 02 May 2024 04:47:42 -0700 (PDT) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" From: JD Smith <jdtsmith@HIDDEN> In-Reply-To: <86r0ekn0o0.fsf@HIDDEN> Date: Thu, 2 May 2024 07:47:31 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: <B58177E1-4B1A-4D2E-A205-0D07F6BD1B83@HIDDEN> References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> <86cyqaezhc.fsf@HIDDEN> <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> <86ttjle92p.fsf@HIDDEN> <86zft8676h.fsf@HIDDEN> <86r0ekn0o0.fsf@HIDDEN> To: Juri Linkov <juri@HIDDEN> X-Mailer: Apple Mail (2.3774.500.171.1.1) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org, Eli Zaretskii <eliz@HIDDEN> X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) Thanks for working on this. I'm sorry I didn't have a chance to test = the patch, it looks good. I don't think a disable variable is necessary = for now, since most repeat maps are self-defined. > On May 2, 2024, at 3:16=E2=80=AFAM, Eli Zaretskii <eliz@HIDDEN> = wrote: >=20 >> Cc: 70576 <at> debbugs.gnu.org >> From: Juri Linkov <juri@HIDDEN> >> Date: Thu, 02 May 2024 09:48:06 +0300 >>=20 >> close 70576 30.0.50 >> thanks >>=20 >>>>> (defvar-keymap expreg-repeat-map >>>>> :doc "Repeat map for `expreg' actions." >>>>> :repeat '(:hints ((expreg-expand . "expand") (expreg-contract . = "contract"))) >>>>> "\\" 'expreg-expand >>>>> "|" 'expreg-contract) >>>>=20 >>>> If a hint is missing for a command, it should just have its key = mentioned. >>>> It looks like your idea would require changes to defvar-keymap. Do = you >>>> want to propose a patch? We'd need some way to pass the hints in; = perhaps >>>> the macro could set a property on the command symbol as you = initially >>>> proposed. >>>=20 >>> Alright, let's add this to defvar-keymap. Please try the following = patch. >>=20 >> Thanks for the feature request. This is pushed now. >=20 > Thanks, but please also update the ELisp manual and add an entry to > NEWS about this change.
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 2 May 2024 07:17:21 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 02 03:17:21 2024 Received: from localhost ([127.0.0.1]:42033 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s2Qgy-0001vD-NO for submit <at> debbugs.gnu.org; Thu, 02 May 2024 03:17:21 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:40618) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <eliz@HIDDEN>) id 1s2Qgx-0001v7-Fc for 70576 <at> debbugs.gnu.org; Thu, 02 May 2024 03:17:20 -0400 Received: from fencepost.gnu.org ([2001:470:142:3::e]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from <eliz@HIDDEN>) id 1s2QgV-0003n4-FV; Thu, 02 May 2024 03:16:51 -0400 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=gnu.org; s=fencepost-gnu-org; h=References:Subject:In-Reply-To:To:From:Date: mime-version; bh=u14/Dpnd3IOjArW40WtYhvmL4kosZY7jmh/zHqHnB5o=; b=pVF19R2Qh1Fi BCZuxc8oszRfQz8e5vMD3Js3tpWG5DHakWvhqp0/v3jUnCyIOK8CmSMpgU6qR1d5OIJgjFyPwnCbs 3PIiX+E3qY8GZ2JKvsnH9QUJcZYEwc6TkwTcE5KhMbHv6L9Rke1ZlKJaJGWkeu0tu9dDY5SHWYSi6 NBufeGGwMAMYohZ6bs7so75mEi19kGv5ZT9SCBnvIQTKygE9mCsaamHYwppKHv99Kn6nOorhqDHxR SOVHs/E3RWUD8Ch/qUEZFURMFlJ24CAk3vZHCgGC/5IZt9dw7khdG3FGjs+N4sAgAoUByYqx1/v85 2l/W90ilBBufDhDaXlbOdA==; Date: Thu, 02 May 2024 10:16:47 +0300 Message-Id: <86r0ekn0o0.fsf@HIDDEN> From: Eli Zaretskii <eliz@HIDDEN> To: Juri Linkov <juri@HIDDEN> In-Reply-To: <86zft8676h.fsf@HIDDEN> (message from Juri Linkov on Thu, 02 May 2024 09:48:06 +0300) Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> <86cyqaezhc.fsf@HIDDEN> <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> <86ttjle92p.fsf@HIDDEN> <86zft8676h.fsf@HIDDEN> X-Spam-Score: -2.3 (--) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org, jdtsmith@HIDDEN X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -3.3 (---) > Cc: 70576 <at> debbugs.gnu.org > From: Juri Linkov <juri@HIDDEN> > Date: Thu, 02 May 2024 09:48:06 +0300 > > close 70576 30.0.50 > thanks > > >>> (defvar-keymap expreg-repeat-map > >>> :doc "Repeat map for `expreg' actions." > >>> :repeat '(:hints ((expreg-expand . "expand") (expreg-contract . "contract"))) > >>> "\\" 'expreg-expand > >>> "|" 'expreg-contract) > >> > >> If a hint is missing for a command, it should just have its key mentioned. > >> It looks like your idea would require changes to defvar-keymap. Do you > >> want to propose a patch? We'd need some way to pass the hints in; perhaps > >> the macro could set a property on the command symbol as you initially > >> proposed. > > > > Alright, let's add this to defvar-keymap. Please try the following patch. > > Thanks for the feature request. This is pushed now. Thanks, but please also update the ELisp manual and add an entry to NEWS about this change.
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Juri Linkov <juri@HIDDEN>
to control <at> debbugs.gnu.org
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 2 May 2024 06:48:59 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu May 02 02:48:59 2024 Received: from localhost ([127.0.0.1]:41908 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s2QFW-0007LP-SJ for submit <at> debbugs.gnu.org; Thu, 02 May 2024 02:48:59 -0400 Received: from relay5-d.mail.gandi.net ([217.70.183.197]:37817) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1s2QFU-0007LG-U2; Thu, 02 May 2024 02:48:57 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 103BE1C0005; Thu, 2 May 2024 06:48:27 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: JD Smith <jdtsmith@HIDDEN> Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" In-Reply-To: <86ttjle92p.fsf@HIDDEN> (Juri Linkov's message of "Sun, 28 Apr 2024 19:38:38 +0300") Organization: LINKOV.NET References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> <86cyqaezhc.fsf@HIDDEN> <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> <86ttjle92p.fsf@HIDDEN> Date: Thu, 02 May 2024 09:48:06 +0300 Message-ID: <86zft8676h.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) close 70576 30.0.50 thanks >>> (defvar-keymap expreg-repeat-map >>> :doc "Repeat map for `expreg' actions." >>> :repeat '(:hints ((expreg-expand . "expand") (expreg-contract . "contract"))) >>> "\\" 'expreg-expand >>> "|" 'expreg-contract) >> >> If a hint is missing for a command, it should just have its key mentioned. >> It looks like your idea would require changes to defvar-keymap. Do you >> want to propose a patch? We'd need some way to pass the hints in; perhaps >> the macro could set a property on the command symbol as you initially >> proposed. > > Alright, let's add this to defvar-keymap. Please try the following patch. Thanks for the feature request. This is pushed now.
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 28 Apr 2024 17:07:56 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 28 13:07:56 2024 Received: from localhost ([127.0.0.1]:51266 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s180J-0001RX-V5 for submit <at> debbugs.gnu.org; Sun, 28 Apr 2024 13:07:56 -0400 Received: from relay4-d.mail.gandi.net ([217.70.183.196]:44395) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1s180H-0001RN-J9 for 70576 <at> debbugs.gnu.org; Sun, 28 Apr 2024 13:07:54 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id CBCBAE0003; Sun, 28 Apr 2024 17:07:26 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: JD Smith <jdtsmith@HIDDEN> Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" In-Reply-To: <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> (JD Smith's message of "Sun, 28 Apr 2024 08:45:19 -0400") Organization: LINKOV.NET References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> <86cyqaezhc.fsf@HIDDEN> <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> Date: Sun, 28 Apr 2024 19:38:38 +0300 Message-ID: <86ttjle92p.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="=-=-=" X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) --=-=-= Content-Type: text/plain >> (defvar-keymap expreg-repeat-map >> :doc "Repeat map for `expreg' actions." >> :repeat '(:hints ((expreg-expand . "expand") (expreg-contract . "contract"))) >> "\\" 'expreg-expand >> "|" 'expreg-contract) > > If a hint is missing for a command, it should just have its key mentioned. > It looks like your idea would require changes to defvar-keymap. Do you > want to propose a patch? We'd need some way to pass the hints in; perhaps > the macro could set a property on the command symbol as you initially > proposed. Alright, let's add this to defvar-keymap. Please try the following patch. PS: Do you still think a new custom variable should be added to be able to disable hint strings? --=-=-= Content-Type: text/x-diff Content-Disposition: inline; filename=repeat-hint.patch diff --git a/lisp/keymap.el b/lisp/keymap.el index b2b475c7d71..cbd26f1060e 100644 --- a/lisp/keymap.el +++ b/lisp/keymap.el @@ -603,10 +603,11 @@ defvar-keymap symbol property. More control is available over which commands are repeatable; the -value can also be a property list with properties `:enter' and -`:exit', for example: +value can also be a property list with properties `:enter', +`:exit' and `:hints', for example: - :repeat (:enter (commands ...) :exit (commands ...)) + :repeat (:enter (commands ...) :exit (commands ...) + :hints ((command . \"hint\") ...)) `:enter' specifies the list of additional commands that only enter `repeat-mode'. When the list is empty, then only the @@ -621,6 +622,10 @@ defvar-keymap in this specific map, but should not have the `repeat-map' symbol property. +`:hints' is a list of cons pairs where car is a command and +cdr is a string that is displayed alongside of the repeatable key +in the echo area. + \(fn VARIABLE-NAME &key DOC FULL PARENT SUPPRESS NAME PREFIX KEYMAP REPEAT &rest [KEY DEFINITION]...)" (declare (indent 1)) (let ((opts nil) @@ -660,7 +665,9 @@ defvar-keymap (setq def (pop defs)) (when (and (memq (car def) '(function quote)) (not (memq (cadr def) (plist-get repeat :exit)))) - (push `(put ,def 'repeat-map ',variable-name) props))))) + (push `(put ,def 'repeat-map ',variable-name) props))) + (dolist (def (plist-get repeat :hints)) + (push `(put ',(car def) 'repeat-hint ',(cdr def)) props)))) (let ((defvar-form `(defvar ,variable-name diff --git a/lisp/repeat.el b/lisp/repeat.el index 0a59494c097..b9c96fa4e12 100644 --- a/lisp/repeat.el +++ b/lisp/repeat.el @@ -553,20 +553,27 @@ repeat--clear-prev (defun repeat-echo-message-string (keymap) "Return a string with the list of repeating keys in KEYMAP." (let (keys) - (map-keymap (lambda (key cmd) (and cmd (push key keys))) keymap) - (format-message "Repeat with %s%s" - (mapconcat (lambda (key) - (substitute-command-keys - (format "\\`%s'" - (key-description (vector key))))) - keys ", ") - (if repeat-exit-key - (substitute-command-keys - (format ", or exit with \\`%s'" - (if (key-valid-p repeat-exit-key) - repeat-exit-key - (key-description repeat-exit-key)))) - "")))) + (map-keymap (lambda (key cmd) (and cmd (push (cons key cmd) keys))) + keymap) + (format-message + "Repeat with %s%s" + (mapconcat (lambda (key-cmd) + (let* ((key (car key-cmd)) + (cmd (cdr key-cmd)) + (hint (when (symbolp cmd) + (get cmd 'repeat-hint)))) + (substitute-command-keys + (format "\\`%s'%s" + (key-description (vector key)) + (if hint (format "(%s)" hint) ""))))) + keys ", ") + (if repeat-exit-key + (substitute-command-keys + (format ", or exit with \\`%s'" + (if (key-valid-p repeat-exit-key) + repeat-exit-key + (key-description repeat-exit-key)))) + "")))) (defun repeat-echo-message (keymap) "Display in the echo area the repeating keys defined by KEYMAP. --=-=-=--
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 28 Apr 2024 12:46:00 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 28 08:46:00 2024 Received: from localhost ([127.0.0.1]:50252 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s13up-0000qr-RS for submit <at> debbugs.gnu.org; Sun, 28 Apr 2024 08:46:00 -0400 Received: from mail-il1-x12a.google.com ([2607:f8b0:4864:20::12a]:60498) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jdtsmith@HIDDEN>) id 1s13um-0000qh-WB for 70576 <at> debbugs.gnu.org; Sun, 28 Apr 2024 08:45:58 -0400 Received: by mail-il1-x12a.google.com with SMTP id e9e14a558f8ab-36a17999886so16280975ab.0 for <70576 <at> debbugs.gnu.org>; Sun, 28 Apr 2024 05:45:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714308332; x=1714913132; darn=debbugs.gnu.org; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:from:to:cc:subject:date:message-id:reply-to; bh=MSnF+pELIq3jWiHyvCpXIqvscNlVq6H37AqU8We/+Pk=; b=h5/BPzlu+2x/yl9Wrn89+9j/hpReP4KJAdqi/xXlXgvzYEZtIUMmjsi9okF8d7+5HN 6vTrXYYGjJiJ03wbt9C2qmJBDh2N2uWPKHxTSInBkrDmNJY80C/VFHwMu2zDjzT/GwfP sU3Z2SS4hNjJD+EbD7ZPFUyWLsZqXCBHrBAniWbpePsYV8VQINnYCFuGFa74+Wh1aJ8P zPbqCrV9FjpoeE8gJuhV/folpTZNtvud96kochdibc2a79VNgRnBuZ43d1d5Ng0nD4uY XoLRB1UPT9ohJN1frtumZ9TxTkT7mF1PmfeRj0X74zOqBQbU4kWu3w8y9j4TsugliBR3 9oqA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714308332; x=1714913132; h=references:to:cc:in-reply-to:date:subject:mime-version:message-id :from:x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=MSnF+pELIq3jWiHyvCpXIqvscNlVq6H37AqU8We/+Pk=; b=gvd6gIMcTY6itj3dszTsFySd2RjntT8Kvq8dJXcswsgTRT1s/2axNPkhm1ASGrhcGV +ohz4QntHKZkgStT/iGRujJq1SU02JRETvzchtgTZVS2n8t4i/EaRd418E5tb9sYdO0A 0bicopaf9rnoxuyldXUKLqf8os8gtWRchA7PQhrSacQenpf6biJ9aomYT7n3a+QFI09V BICTeLsDiSl71gkj0w0PF1vPNOE0ilCX+zO8iXzAr1zyZJSmhvRvSHdR+x/rBdJfe5pF 4j0c74v3n6MmHdafm5+n5hU6WvS3+ERz/AZwojQfmYBAlvF24HSjXQMd2xsuPQOBuKNp LrGg== X-Gm-Message-State: AOJu0YzGTKjCDAgSEGSlRVwEHE7MCbTItfNMpHHGJfXjV1k9BO/+XdtD Y1zK/f1W09cZwmyi4NVu3Fqsb3YUfhXWDo9HMcceCys/Pt+TFU4n X-Google-Smtp-Source: AGHT+IE6x3QojzIDUYrLvJ98SuwNzDDbcRyl6XviCHijDr0hwM8Y8oU7QvQEZeKWI9NOvgVBjkgyrA== X-Received: by 2002:a05:6e02:214c:b0:36c:c9f:ccd0 with SMTP id d12-20020a056e02214c00b0036c0c9fccd0mr9478394ilv.17.1714308330586; Sun, 28 Apr 2024 05:45:30 -0700 (PDT) Received: from smtpclient.apple (cm-24-53-187-34.buckeyecom.net. [24.53.187.34]) by smtp.gmail.com with ESMTPSA id dk8-20020a0566384bc800b00484a3e77318sm6601978jab.58.2024.04.28.05.45.29 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Sun, 28 Apr 2024 05:45:30 -0700 (PDT) From: JD Smith <jdtsmith@HIDDEN> Message-Id: <F002D0AE-8594-429F-8313-EF867AD6DB5C@HIDDEN> Content-Type: multipart/alternative; boundary="Apple-Mail=_816F47B3-3BCE-41B4-9AB6-003C31D9EC95" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" Date: Sun, 28 Apr 2024 08:45:19 -0400 In-Reply-To: <86cyqaezhc.fsf@HIDDEN> To: Juri Linkov <juri@HIDDEN> References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> <86cyqaezhc.fsf@HIDDEN> X-Mailer: Apple Mail (2.3774.500.171.1.1) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) --Apple-Mail=_816F47B3-3BCE-41B4-9AB6-003C31D9EC95 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=utf-8 > On Apr 28, 2024, at 2:58=E2=80=AFAM, Juri Linkov <juri@HIDDEN> = wrote >> Of course a new wrapper macro could also be developed to ease this. >> Do you anticipate any specific issues? >=20 > Here is what I recommend to do to simplify the definition of hints for = users. >=20 > Like there can be a list of enter and exit commands in = 'defvar-keymap': >=20 > :repeat =E2=80=98(:enter (commands ...) :exit (commands ...))=E2=80=99 >=20 > the same list could be used for hints: >=20 > :repeat =E2=80=98(:enter (commands ...) :exit (commands ...) :hints = ((command . hint) ...))=E2=80=99 >=20 > This should be easier to document and to understand by users than > a special syntax of cons for binding and the requirement to add :name. Though it will require repetition and thus be subject to = changed-here-but-not-there errors, this does look good and nicely groups = the information under :repeat. So this should work for all commands in = the keymap: > (defvar-keymap expreg-repeat-map > :doc "Repeat map for `expreg' actions." > :repeat '(:hints ((expreg-expand . "expand") (expreg-contract . = "contract"))) > "\\" 'expreg-expand > "|" 'expreg-contract) If a hint is missing for a command, it should just have its key = mentioned. It looks like your idea would require changes to = defvar-keymap. Do you want to propose a patch? We'd need some way to = pass the hints in; perhaps the macro could set a property on the command = symbol as you initially proposed.= --Apple-Mail=_816F47B3-3BCE-41B4-9AB6-003C31D9EC95 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=utf-8 <html><head><meta http-equiv=3D"content-type" content=3D"text/html; = charset=3Dutf-8"></head><body style=3D"overflow-wrap: break-word; = -webkit-nbsp-mode: space; line-break: after-white-space;"><br = id=3D"lineBreakAtBeginningOfMessage"><div><br><blockquote = type=3D"cite"><div>On Apr 28, 2024, at 2:58=E2=80=AFAM, Juri Linkov = <juri@HIDDEN> wrote</div></blockquote><blockquote = type=3D"cite"><div><blockquote type=3D"cite" style=3D"font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; orphans: auto; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; widows: auto; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;">Of course a new wrapper macro could also be = developed to ease this.<br>Do you anticipate any specific = issues?<br></blockquote><br style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;"><span style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none; float: none; display: inline !important;">Here is = what I recommend to do to simplify the definition of hints for = users.</span><br style=3D"caret-color: rgb(0, 0, 0); font-family: = Helvetica; font-size: 12px; font-style: normal; font-variant-caps: = normal; font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;"><br style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; = font-size: 12px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none;"><span style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; = font-size: 12px; font-style: normal; font-variant-caps: normal; = font-weight: 400; letter-spacing: normal; text-align: start; = text-indent: 0px; text-transform: none; white-space: normal; = word-spacing: 0px; -webkit-text-stroke-width: 0px; text-decoration: = none; float: none; display: inline !important;">Like there can be a list = of enter and exit commands in 'defvar-keymap':</span><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none;"><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none;"><span = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;"> :repeat =E2=80=98(:enter (commands = ...) :exit (commands ...))=E2=80=99</span><br style=3D"caret-color: = rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: = normal; font-variant-caps: normal; font-weight: 400; letter-spacing: = normal; text-align: start; text-indent: 0px; text-transform: none; = white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;"><br style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;"><span style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none; float: none; display: inline !important;">the = same list could be used for hints:</span><br style=3D"caret-color: = rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: = normal; font-variant-caps: normal; font-weight: 400; letter-spacing: = normal; text-align: start; text-indent: 0px; text-transform: none; = white-space: normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;"><br style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;"><span style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none; float: none; display: inline = !important;"> :repeat =E2=80=98(:enter (commands ...) :exit = (commands ...) :hints ((command . hint) ...))=E2=80=99</span><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none;"><br = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none;"><span = style=3D"caret-color: rgb(0, 0, 0); font-family: Helvetica; font-size: = 12px; font-style: normal; font-variant-caps: normal; font-weight: 400; = letter-spacing: normal; text-align: start; text-indent: 0px; = text-transform: none; white-space: normal; word-spacing: 0px; = -webkit-text-stroke-width: 0px; text-decoration: none; float: none; = display: inline !important;">This should be easier to document and to = understand by users than</span><br style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none;"><span style=3D"caret-color: rgb(0, 0, 0); = font-family: Helvetica; font-size: 12px; font-style: normal; = font-variant-caps: normal; font-weight: 400; letter-spacing: normal; = text-align: start; text-indent: 0px; text-transform: none; white-space: = normal; word-spacing: 0px; -webkit-text-stroke-width: 0px; = text-decoration: none; float: none; display: inline !important;">a = special syntax of cons for binding and the requirement to add = :name.</span></div></blockquote></div><br><div>Though it will require = repetition and thus be subject to changed-here-but-not-there errors, = this does look good and nicely groups the information under :repeat. = So this should work for all commands in the = keymap:</div><div><br></div><div><blockquote type=3D"cite" = style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">(defvar-keymap = expreg-repeat-map<br> :doc "Repeat map for `expreg' = actions."<br> :repeat '(:hints ((expreg-expand . = "expand") (expreg-contract . "contract")))</blockquote><blockquote = type=3D"cite" style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, = 0);"> "\\" 'expreg-expand<br> "|" = 'expreg-contract)</blockquote></div><div><br></div><div>If a hint = is missing for a command, it should just have its key mentioned. = It looks like your idea would require changes to defvar-keymap. = Do you want to propose a patch? We'd need some way to pass = the hints in; perhaps the macro could set a property on the command = symbol as you initially proposed.</div></body></html>= --Apple-Mail=_816F47B3-3BCE-41B4-9AB6-003C31D9EC95--
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 28 Apr 2024 07:17:38 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Sun Apr 28 03:17:38 2024 Received: from localhost ([127.0.0.1]:50018 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s0yn3-0002J3-KM for submit <at> debbugs.gnu.org; Sun, 28 Apr 2024 03:17:38 -0400 Received: from relay9-d.mail.gandi.net ([2001:4b98:dc4:8::229]:35735) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1s0ymy-0002Iv-B9 for 70576 <at> debbugs.gnu.org; Sun, 28 Apr 2024 03:17:36 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 69B65FF802; Sun, 28 Apr 2024 07:17:03 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: JD Smith <jdtsmith@HIDDEN> Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" In-Reply-To: <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> (JD Smith's message of "Fri, 26 Apr 2024 10:37:51 -0400") Organization: LINKOV.NET References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> Date: Sun, 28 Apr 2024 09:58:10 +0300 Message-ID: <86cyqaezhc.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) >> (defvar-keymap expreg-repeat-map >> :doc "Repeat map for `expreg' actions." >> :repeat t >> "\\" 'expreg-expand >> "|" 'expreg-contract) >> >> (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. As a more complicated feature, usually :filter is added by developers for specific functionality, it's not intended to be used by users in their normal customization of keymaps, like users will configure hints. > Of course a new wrapper macro could also be developed to ease this. > Do you anticipate any specific issues? Here is what I recommend to do to simplify the definition of hints for users. Like there can be a list of enter and exit commands in 'defvar-keymap': :repeat ‘(:enter (commands ...) :exit (commands ...))’ the same list could be used for hints: :repeat ‘(:enter (commands ...) :exit (commands ...) :hints ((command . hint) ...))’ This should be easier to document and to understand by users than a special syntax of cons for binding and the requirement to add :name.
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 26 Apr 2024 14:38:36 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 26 10:38:36 2024 Received: from localhost ([127.0.0.1]:38185 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s0Mif-0008GQ-PR for submit <at> debbugs.gnu.org; Fri, 26 Apr 2024 10:38:36 -0400 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 <jdtsmith@HIDDEN>) id 1s0MiY-0008Dy-TL for 70576 <at> debbugs.gnu.org; Fri, 26 Apr 2024 10:38:30 -0400 Received: by mail-io1-xd29.google.com with SMTP id ca18e2360f4ac-7d9e70f388fso91464539f.2 for <70576 <at> 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) 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) Content-Type: text/plain; charset=utf-8 Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" From: JD Smith <jdtsmith@HIDDEN> In-Reply-To: <86h6fo3e7e.fsf@HIDDEN> Date: Fri, 26 Apr 2024 10:37:51 -0400 Content-Transfer-Encoding: quoted-printable Message-Id: <FDB853F1-60B6-4ACF-8E08-337567CB3CBC@HIDDEN> References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> <86h6fo3e7e.fsf@HIDDEN> To: Juri Linkov <juri@HIDDEN> X-Mailer: Apple Mail (2.3774.500.171.1.1) X-Spam-Score: 0.0 (/) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.0 (-) > On Apr 26, 2024, at 2:06=E2=80=AFAM, Juri Linkov <juri@HIDDEN> = 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?
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at 70576) by debbugs.gnu.org; 26 Apr 2024 06:12:12 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Fri Apr 26 02:12:11 2024 Received: from localhost ([127.0.0.1]:33630 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s0EoZ-0006cN-4o for submit <at> debbugs.gnu.org; Fri, 26 Apr 2024 02:12:10 -0400 Received: from relay4-d.mail.gandi.net ([2001:4b98:dc4:8::224]:35491) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <juri@HIDDEN>) id 1s0EoO-0006Yu-Qm for 70576 <at> debbugs.gnu.org; Fri, 26 Apr 2024 02:12:01 -0400 Received: by mail.gandi.net (Postfix) with ESMTPSA id 64FF0E0007; Fri, 26 Apr 2024 06:11:29 +0000 (UTC) From: Juri Linkov <juri@HIDDEN> To: JD Smith <jdtsmith@HIDDEN> Subject: Re: bug#70576: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" In-Reply-To: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> (JD Smith's message of "Thu, 25 Apr 2024 18:31:17 -0400") Organization: LINKOV.NET References: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> Date: Fri, 26 Apr 2024 09:06:29 +0300 Message-ID: <86h6fo3e7e.fsf@HIDDEN> User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/30.0.50 (x86_64-pc-linux-gnu) MIME-Version: 1.0 Content-Type: text/plain X-GND-Sasl: juri@HIDDEN X-Spam-Score: -0.7 (/) X-Debbugs-Envelope-To: 70576 Cc: 70576 <at> debbugs.gnu.org X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -1.7 (-) > Example usage: > > (defvar-keymap expreg-repeat-map > :doc "Repeat map for `expreg' actions." > :repeat t > :name "expreg" > "\\" (cons "expand" 'expreg-expand) > "|" (cons "contract" 'expreg-contract)) I feel uneasy about reusing the form (STRING . DEFN) that has another meaning: 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), 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 :name "expreg" "\\" 'expreg-expand "|" 'expreg-contract) (put 'expreg-expand 'repeat-hint "expand") (put 'expreg-contract 'repeat-hint "contract")
bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.Received: (at submit) by debbugs.gnu.org; 25 Apr 2024 22:32:25 +0000 From debbugs-submit-bounces <at> debbugs.gnu.org Thu Apr 25 18:32:24 2024 Received: from localhost ([127.0.0.1]:33448 helo=debbugs.gnu.org) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>) id 1s07dZ-0003eK-Iz for submit <at> debbugs.gnu.org; Thu, 25 Apr 2024 18:32:24 -0400 Received: from lists.gnu.org ([2001:470:142::17]:35292) by debbugs.gnu.org with esmtp (Exim 4.84_2) (envelope-from <jdtsmith@HIDDEN>) id 1s07dG-0003aI-Ek for submit <at> debbugs.gnu.org; Thu, 25 Apr 2024 18:32:09 -0400 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 <jdtsmith@HIDDEN>) id 1s07cs-0007dK-HE for bug-gnu-emacs@HIDDEN; Thu, 25 Apr 2024 18:31:34 -0400 Received: from mail-il1-x131.google.com ([2607:f8b0:4864:20::131]) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from <jdtsmith@HIDDEN>) id 1s07cq-0004pk-9a for bug-gnu-emacs@HIDDEN; Thu, 25 Apr 2024 18:31:34 -0400 Received: by mail-il1-x131.google.com with SMTP id e9e14a558f8ab-36b1774e453so5620835ab.1 for <bug-gnu-emacs@HIDDEN>; Thu, 25 Apr 2024 15:31:31 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1714084289; x=1714689089; darn=gnu.org; h=to:date:message-id:subject:mime-version:from:from:to:cc:subject :date:message-id:reply-to; bh=0oOh1iZjh3BRUZv8Su+wl/j9+9vRwCaQIdvTS3ii3IY=; b=hnOygL3MKmYB80LxGqNiL82OJZmJ9iMj4brJoIeiFviXBT5jbLaSJn9BN7ea8k+rVk HY/e8ELWPdPrXBjFEstytT2pyGdBanWGpTcXFYUWM0vUa6nGCn0Inp0qK02yKKs9Zns/ +Rqoj7PdjmwMEkDcdgDknuqKXyuhsI9erWDqCAv1Sc5ZYYN0qM+aO7JAgYjQ2BOrJiHX sUAhMbi9B2jZsY+83NX0ibaMiLLXUVp6pc6e/eYSqO1wZCI0iLyXDMXx9aDC3e9mojEi F1H/efl+FAZyHQmjYCHi3Z4+1zs6PgYe4AzWW46XTSz5a8si5+T06d3upcOEGDfzcx8h SxHg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1714084289; x=1714689089; h=to:date:message-id:subject:mime-version:from:x-gm-message-state :from:to:cc:subject:date:message-id:reply-to; bh=0oOh1iZjh3BRUZv8Su+wl/j9+9vRwCaQIdvTS3ii3IY=; b=tngLpcHCUEvYSb36TztRswkIXW8MiEp5753x7g6mERtzWhEMiGuu70KkLaWxUtblCg Rgbqtu9nth0IfY/tdyaKaQzO0YAKsE7Ei4JlL77tq3E5hnVlkL1xNQqbRrXGjOX5Q8ai 46RIn5Pci147ye0lTy3prtueOmGz8jRYZasAb51bB7RmmWtkB6/UHaBtng66RaQfHfzd HEj0e9p40RkhT5/T75MoQCdCAQzmPZh9JtlGzAh7TfqSG9e2XHQGohRYnGK8QFdswesA OgV9cabYHLgYy0+qlVEMQ1xDOmYbBjyueWKouX9r5AtUO06kJejSzLsIMhjSIzSmE6xq hVjQ== X-Gm-Message-State: AOJu0YzJRYmdCpah8bkArtz5xwk5uXxxM6j6CVdiY/nUVBjrVBwaJMui PaYyV0ziiCBNajND80A67JkpYjdCbHumbzYR/D/3PQVyMkvmW8m/sHVrPA== X-Google-Smtp-Source: AGHT+IFIS3E05/+TAi8NPhrklWTV1JRLlTfvXT6qtariDq5jJMeJ2DUU8MNXbnMqn9FmOb10jSknig== X-Received: by 2002:a05:6e02:160f:b0:36c:f61:7648 with SMTP id t15-20020a056e02160f00b0036c0f617648mr1374635ilu.13.1714084289025; Thu, 25 Apr 2024 15:31:29 -0700 (PDT) Received: from smtpclient.apple (cm-24-53-187-34.buckeyecom.net. [24.53.187.34]) by smtp.gmail.com with ESMTPSA id x3-20020a92cc83000000b0036c03b1ee38sm2845306ilo.37.2024.04.25.15.31.27 for <bug-gnu-emacs@HIDDEN> (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Thu, 25 Apr 2024 15:31:28 -0700 (PDT) From: JD Smith <jdtsmith@HIDDEN> Content-Type: multipart/alternative; boundary="Apple-Mail=_6D883527-1EA0-4AB0-8546-FDB9C04B9D91" Mime-Version: 1.0 (Mac OS X Mail 16.0 \(3774.500.171.1.1\)) Subject: [PATCH] `repeat-echo-message-string': support repeat keymap "hints" Message-Id: <45C35B69-6DA8-4212-BD87-50B2A3959A86@HIDDEN> Date: Thu, 25 Apr 2024 18:31:17 -0400 To: bug-gnu-emacs@HIDDEN X-Mailer: Apple Mail (2.3774.500.171.1.1) Received-SPF: pass client-ip=2607:f8b0:4864:20::131; envelope-from=jdtsmith@HIDDEN; helo=mail-il1-x131.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-Spam-Score: 1.0 (+) X-Debbugs-Envelope-To: submit X-BeenThere: debbugs-submit <at> debbugs.gnu.org X-Mailman-Version: 2.1.18 Precedence: list List-Id: <debbugs-submit.debbugs.gnu.org> List-Unsubscribe: <https://debbugs.gnu.org/cgi-bin/mailman/options/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=unsubscribe> List-Archive: <https://debbugs.gnu.org/cgi-bin/mailman/private/debbugs-submit/> List-Post: <mailto:debbugs-submit <at> debbugs.gnu.org> List-Help: <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=help> List-Subscribe: <https://debbugs.gnu.org/cgi-bin/mailman/listinfo/debbugs-submit>, <mailto:debbugs-submit-request <at> debbugs.gnu.org?subject=subscribe> Errors-To: debbugs-submit-bounces <at> debbugs.gnu.org Sender: "Debbugs-submit" <debbugs-submit-bounces <at> debbugs.gnu.org> X-Spam-Score: -0.0 (/) --Apple-Mail=_6D883527-1EA0-4AB0-8546-FDB9C04B9D91 Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset=us-ascii repeat-mode is excellent for informal and very lightweight modal = interfaces (great article = <https://karthinks.com/software/it-bears-repeating/>). One limitation = it has compared to other such interfaces is it only mentions the keys = which can be repeated, without providing hints about what they do. =20 A simple patch to `repeat-echo-message-strings' to support displaying a = string for keymap definitions of form (STRING . DEFN) is below. It = works nicely to provide "hints" after each repeat key, if the keymap = includes them. Example usage: (defvar-keymap expreg-repeat-map :doc "Repeat map for `expreg' actions." :repeat t :name "expreg" "\\" (cons "expand" 'expreg-expand) "|" (cons "contract" 'expreg-contract)) Example prompt (after one invocation of `expreg-expand'):=20 Repeat with \:expand, |:contract It might also be useful to provide a custom variable by which a user can = disable hint strings, for the experts/minimalists.. Patch: --- repeat_old.el 2024-04-25 18:22:59 +++ repeat.el 2024-04-25 18:09:11 @@ -553,12 +553,20 @@ (defun repeat-echo-message-string (keymap) "Return a string with the list of repeating keys in KEYMAP." (let (keys) - (map-keymap (lambda (key cmd) (and cmd (push key keys))) keymap) + (map-keymap (lambda (key cmd) + (if (consp cmd) + (push (cons (car cmd) key) keys) + (when cmd (push key keys)))) + keymap) (format-message "Repeat with %s%s" (mapconcat (lambda (key) - (substitute-command-keys - (format "\\`%s'" - (key-description (vector = key))))) + (let* ((cmd (when (consp key) (format = ":%s" (car key))))) + (if (consp key) (setq key (cdr key))) + (concat + (substitute-command-keys + (format "\\`%s'" + (key-description (vector = key)))) + cmd))) keys ", ") (if repeat-exit-key (substitute-command-keys --Apple-Mail=_6D883527-1EA0-4AB0-8546-FDB9C04B9D91 Content-Transfer-Encoding: quoted-printable Content-Type: text/html; charset=us-ascii <html><head><meta http-equiv=3D"content-type" content=3D"text/html; = charset=3Dus-ascii"></head><body style=3D"overflow-wrap: break-word; = -webkit-nbsp-mode: space; line-break: = after-white-space;"><div>repeat-mode is excellent for informal and very = lightweight modal interfaces (<a = href=3D"https://karthinks.com/software/it-bears-repeating/">great = article</a>). One limitation it has compared to other such = interfaces is it only mentions the keys which can be repeated, without = providing hints about what they do. </div><div><br></div><div>A = simple patch to `repeat-echo-message-strings' to support displaying a = string for <span style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, = 0, 0);">keymap definitions of form</span> (STRING . DEFN) is below. = It works nicely to provide "hints" after each repeat key, if the = keymap includes them.</div><div><br></div><div>Example = usage:</div><div><br></div><blockquote style=3D"margin: 0 0 0 40px; = border: none; padding: 0px;"><div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; background-color: rgb(255, 255, = 255);"><font color=3D"#101010" face=3D"Menlo"><span style=3D"caret-color: = rgb(16, 16, 16);">(defvar-keymap = expreg-repeat-map</span></font></p></div></div><div><p style=3D"margin: = 0px; font-stretch: normal; line-height: normal; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; background-color: rgb(255, 255, = 255);"><font color=3D"#101010" face=3D"Menlo"><span style=3D"caret-color: = rgb(16, 16, 16);"> :doc "Repeat map for `expreg' = actions."</span></font></p></div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; background-color: rgb(255, 255, = 255);"><font color=3D"#101010" face=3D"Menlo"><span style=3D"caret-color: = rgb(16, 16, 16);"> :repeat t</span></font></p></div><div><p = style=3D"margin: 0px; font-stretch: normal; line-height: normal; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; background-color: rgb(255, 255, = 255);"><font color=3D"#101010" face=3D"Menlo"><span style=3D"caret-color: = rgb(16, 16, 16);"> :name = "expreg"</span></font></p></div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; background-color: rgb(255, 255, = 255);"><font color=3D"#101010" face=3D"Menlo"><span style=3D"caret-color: = rgb(16, 16, 16);"> "\\" (cons "expand" = 'expreg-expand)</span></font></p></div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; background-color: rgb(255, 255, = 255);"><font color=3D"#101010" face=3D"Menlo"><span style=3D"caret-color: = rgb(16, 16, 16);"> "|" (cons "contract" = 'expreg-contract))</span></font></p></div></blockquote><div><br></di= v><div>Example prompt (after one invocation of = `expreg-expand'): </div><div><br></div><blockquote style=3D"margin: = 0 0 0 40px; border: none; padding: 0px;"><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: = no-common-ligatures;"> </span><span style=3D"caret-color: rgb(0, 0, = 0); color: rgb(0, 0, 0);">Repeat with \:expand, = |:contract</span></p></div></blockquote><div><br></div><div><span = style=3D"caret-color: rgb(0, 0, 0); color: rgb(0, 0, 0);">It might also = be useful to provide a custom variable by which a user can disable hint = strings, for the = experts/minimalists..</span></div><div><br></div><div>Patch:</div><div><br= ></div><blockquote style=3D"margin: 0 0 0 40px; border: none; padding: = 0px;"><div><div><div><p style=3D"margin: 0px; font-stretch: normal; = line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">--- = repeat_old.el<span class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>2024-04-25 18:22:59</span></p></div></div></div><div><p = style=3D"margin: 0px; font-stretch: normal; line-height: normal; = font-family: Menlo; font-size-adjust: none; font-kerning: auto; = font-variant-alternates: normal; font-variant-ligatures: normal; = font-variant-numeric: normal; font-variant-east-asian: normal; = font-variant-position: normal; font-feature-settings: normal; = font-optical-sizing: auto; font-variation-settings: normal; color: = rgb(16, 16, 16); background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+++ repeat.el<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>2024-04-25 18:09:11</span></p></div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">@@ -553,12 +553,20 = @@</span></p></div><div><p style=3D"margin: 0px; font-stretch: normal; = line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures"> (defun = repeat-echo-message-string (keymap)</span></p></div><div><p = style=3D"margin: 0px; font-stretch: normal; line-height: normal; = font-family: Menlo; font-size-adjust: none; font-kerning: auto; = font-variant-alternates: normal; font-variant-ligatures: normal; = font-variant-numeric: normal; font-variant-east-asian: normal; = font-variant-position: normal; font-feature-settings: normal; = font-optical-sizing: auto; font-variation-settings: normal; color: = rgb(16, 16, 16); background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures"> = "Return a string with the list of repeating keys in = KEYMAP."</span></p></div><div><p style=3D"margin: 0px; font-stretch: = normal; line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures"> (let = (keys)</span></p></div><div><p style=3D"margin: 0px; font-stretch: = normal; line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">- = (map-keymap (lambda (key cmd) (and cmd (push key keys))) = keymap)</span></p></div><div><p style=3D"margin: 0px; font-stretch: = normal; line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+ = (map-keymap (lambda (key cmd)</span></p></div><div><p style=3D"margin: = 0px; font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> (if (consp cmd)</span></p></div><div><p style=3D"margin: = 0px; font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> (push (cons (car cmd) key) = keys)</span></p></div><div><p style=3D"margin: 0px; font-stretch: = normal; line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> (when cmd (push key = keys))))</span></p></div><div><p style=3D"margin: 0px; font-stretch: = normal; line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span>keymap)</span></p></div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures"> = (format-message "Repeat with %s%s"</span></p></div><div><p = style=3D"margin: 0px; font-stretch: normal; line-height: normal; = font-family: Menlo; font-size-adjust: none; font-kerning: auto; = font-variant-alternates: normal; font-variant-ligatures: normal; = font-variant-numeric: normal; font-variant-east-asian: normal; = font-variant-position: normal; font-feature-settings: normal; = font-optical-sizing: auto; font-variation-settings: normal; color: = rgb(16, 16, 16); background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures"> = = (mapconcat (lambda (key)</span></p></div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">- = = = (substitute-command-keys</span></p></div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">- = = (format = "\\`%s'"</span></p></div><div><p style=3D"margin: 0px; font-stretch: = normal; line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">- = = = (key-description (vector key)))))</span></p></div><div><p style=3D"margin:= 0px; font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> (let* ((cmd (when (consp key) (format ":%s" (car = key)))))</span></p></div><div><p style=3D"margin: 0px; font-stretch: = normal; line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> (if (consp key) (setq key (cdr = key)))</span></p></div><div><p style=3D"margin: 0px; font-stretch: = normal; line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> (concat</span></p></div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> (substitute-command-keys</span></p></div><div><p = style=3D"margin: 0px; font-stretch: normal; line-height: normal; = font-family: Menlo; font-size-adjust: none; font-kerning: auto; = font-variant-alternates: normal; font-variant-ligatures: normal; = font-variant-numeric: normal; font-variant-east-asian: normal; = font-variant-position: normal; font-feature-settings: normal; = font-optical-sizing: auto; font-variation-settings: normal; color: = rgb(16, 16, 16); background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> (format "\\`%s'"</span></p></div><div><p = style=3D"margin: 0px; font-stretch: normal; line-height: normal; = font-family: Menlo; font-size-adjust: none; font-kerning: auto; = font-variant-alternates: normal; font-variant-ligatures: normal; = font-variant-numeric: normal; font-variant-east-asian: normal; = font-variant-position: normal; font-feature-settings: normal; = font-optical-sizing: auto; font-variation-settings: normal; color: = rgb(16, 16, 16); background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> (key-description (vector = key))))</span></p></div><div><p style=3D"margin: 0px; font-stretch: = normal; line-height: normal; font-family: Menlo; font-size-adjust: none; = font-kerning: auto; font-variant-alternates: normal; = font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures">+<span = class=3D"Apple-tab-span" style=3D"white-space:pre"> = </span> cmd)))</span></p></div><div><p style=3D"margin: = 0px; font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures"> = = keys ", ")</span></p></div><div><p = style=3D"margin: 0px; font-stretch: normal; line-height: normal; = font-family: Menlo; font-size-adjust: none; font-kerning: auto; = font-variant-alternates: normal; font-variant-ligatures: normal; = font-variant-numeric: normal; font-variant-east-asian: normal; = font-variant-position: normal; font-feature-settings: normal; = font-optical-sizing: auto; font-variation-settings: normal; color: = rgb(16, 16, 16); background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures"> = (if = repeat-exit-key</span></p></div><div><p style=3D"margin: 0px; = font-stretch: normal; line-height: normal; font-family: Menlo; = font-size-adjust: none; font-kerning: auto; font-variant-alternates: = normal; font-variant-ligatures: normal; font-variant-numeric: normal; = font-variant-east-asian: normal; font-variant-position: normal; = font-feature-settings: normal; font-optical-sizing: auto; = font-variation-settings: normal; color: rgb(16, 16, 16); = background-color: rgb(255, 255, 255);"><span = style=3D"font-variant-ligatures: no-common-ligatures"> = = (substitute-command-keys</span></p></div></blockquote><div><span = style=3D"font-variant-ligatures: = no-common-ligatures"><br></span></div></body></html>= --Apple-Mail=_6D883527-1EA0-4AB0-8546-FDB9C04B9D91--
JD Smith <jdtsmith@HIDDEN>
:bug-gnu-emacs@HIDDEN
.
Full text available.bug-gnu-emacs@HIDDEN
:bug#70576
; Package emacs
.
Full text available.
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997 nCipher Corporation Ltd,
1994-97 Ian Jackson.