GNU bug report logs - #74140
[PATCH] Add :continue-only directive for repeat maps in bind-keys, use-package

Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.

Package: emacs; Severity: wishlist; Reported by: Paul Nelson <ultrono@HIDDEN>; Keywords: patch; dated Thu, 31 Oct 2024 17:37:02 UTC; Maintainer for emacs is bug-gnu-emacs@HIDDEN.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 19 Dec 2024 22:03:18 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Dec 19 17:03:18 2024
Received: from localhost ([127.0.0.1]:40389 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tOOc1-0007Pp-RH
	for submit <at> debbugs.gnu.org; Thu, 19 Dec 2024 17:03:18 -0500
Received: from mail-lf1-f44.google.com ([209.85.167.44]:51431)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1tOObz-0007Pd-JX
 for 74140 <at> debbugs.gnu.org; Thu, 19 Dec 2024 17:03:16 -0500
Received: by mail-lf1-f44.google.com with SMTP id
 2adb3069b0e04-5401bd6ccadso1158617e87.2
 for <74140 <at> debbugs.gnu.org>; Thu, 19 Dec 2024 14:03:15 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1734645734; x=1735250534; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=BY+lOYY5LaMUOPVGy5P7cZPzoGpZlZFaAuRgEwKdoZ0=;
 b=RBD/pOfpILMEqRgOVe5CXZm6arnxZxrvA0EcC0pAdJ0belqIg0grW0uPTRROuGkDWE
 cc2y8UaCxR9o5DRNz3BfqGrFMeBq79ojVtcgQzvTw4en0uCio6ur8At53gJJ0kQYjRcH
 bMTBlQ1h8lu8fVcbK3t16yjl7/IN/3fZS9fyWz65aZFuVxg6/3EeIpnl9ejq6gnDUrEE
 5xi8M7B1J+Wpu3JCS9WljwRxZqCNX6hWbgvzUqN87rAU3KysGHGZWl6N8+Hl3xQecDWf
 Sz98ySHI5GssmWrd62ivaByAdJwf7Dzlgdn0630+NceWMg/YR0ABBQ1fVi/g3c18YKlz
 2rhA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1734645734; x=1735250534;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=BY+lOYY5LaMUOPVGy5P7cZPzoGpZlZFaAuRgEwKdoZ0=;
 b=vHjXp8ERpnvzIlBgOLfzlYhzr7rLCYt6I8lD+yxWI5x9UT8z3goNW/5yMPQSrVYzNY
 IVT6NmRWsI72wKwAP0dxHTxhcc4sp6gX4eyvoO4e+u76tWw7LLUnZe4Wxchbp1A9v/Wr
 81i8kutAVFKJBna9ElB6SYT5pYlGtRSwcpN9CtIHR6PQpYOWI120ugWAmIl6IR609i3P
 D7TuAVoL7XoqvKsIob/eAaxyW12lYYinHaNLuB8bhEpTHETv3p3xWIU8v/p5pG2loN6T
 bYRuwGsEx+ENunxz/ss0dXTqi2pVov5XL9dzSqa57tS8akeqRUcX1rBIVuaNPi9Fq9F+
 rV5g==
X-Forwarded-Encrypted: i=1;
 AJvYcCXROhcWZPrLos8UlqLNJLUMosehGbRk1TDrFVOwr0RumZr8GuU6oH+T9hqzAtiwASQmKNsRRw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yxi72DjzRiztNm4TgJYAU4oris3gJmz7fulYWA0UH1oLzcr8oH/
 ZkRR2nYDwXYcaao9j0bK+NN5pFS+2IiPvMAPqlBOOGZmNurs9eBG
X-Gm-Gg: ASbGncs7r4+MsiZ8JsmDSBKVKwhXV42BVeFaaYiWn85h6u/dhScdSzn7H1wb3JMgEEa
 1PL9SNhsh6NPVHFfbuAYKtBZSN4ubrDN+Wjuti2OEdmsVPA6ECrKoG3GSzaCviy5Rub05rSA3v8
 x6ysSTSu8bWXtjvKK+6mGca0PxGa+q9qOXuVscIDCkg0cuyW305aHidPSvRUSzUXuDY9u9ojeOb
 uNgMaYfmTMho5Hy5/GoZh1XKrm1gdHatYDZaD1W6imbe8lIt1UBlUHz5VFIvEVqgSxi/+9gi561
 zCjxidyT9SPaV3FtR/WQ9Nw=
X-Google-Smtp-Source: AGHT+IHFiay5kyiihdZldQzlxP5LSfP+5syw+vCf2vEhmIH+e3udcVMwqPTP9oMbVOwUncab0Ty5+w==
X-Received: by 2002:a05:6512:1055:b0:53f:167e:390f with SMTP id
 2adb3069b0e04-5422956bd7dmr78691e87.53.1734645734121; 
 Thu, 19 Dec 2024 14:02:14 -0800 (PST)
Received: from localhost (0x573d66b5.static.cust.fastspeed.dk. [87.61.102.181])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-542238137c3sm284319e87.128.2024.12.19.14.02.11
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Thu, 19 Dec 2024 14:02:12 -0800 (PST)
From: Paul Nelson <ultrono@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <87y10edtlr.fsf@HIDDEN> (message from Juri Linkov on
 Tue, 17 Dec 2024 20:58:40 +0200)
Date: Thu, 19 Dec 2024 23:02:10 +0100
Message-ID: <uxsg7tv7vfz5zx.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <at> debbugs.gnu.org, 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 (-)

Juri Linkov <juri@HIDDEN> writes:

>> I think the repeat-map property is fine as is, but the logic should be a
>> bit different:
>>
>> - If a command is called while repeat map MAP is active, then:
>>
>>   - If the command's repeat-continue-only property contains MAP, then
>>     MAP remains active (i.e., that map "continues").  [Maybe a better
>>     name for the property would be simply "repeat-continue".]
>
> So the property is renamed now to 'repeat-continue'.
>
>>   - Otherwise, if the command has a repeat-map property, then that
>>     becomes the new repeat map.
>>
>>   - Otherwise, the repeat map deactivates.
>>
>> - If a command is called while no repeat map is active, then we proceed
>>   as before.
>>
>> Do you agree that this is the desired behavior?  The difference is that
>> with the current implementation, only the repeat-map property is
>> relevant for determining which repeat map a command activates or
>> continues.
>
> Thanks for the clear explanation.  Now this is completely implemented
> with tests.

Thanks Juri, I tried it out and have noticed an issue.  Consider as
before the example:

(defvar-keymap repeat-list-map
  :doc "Keymap for repeating sequences."
  :repeat ( :continue (yank undo))
  "n" 'forward-list
  "p" 'backward-list
  "C-/" 'undo
  "y" 'yank)

(defvar-keymap repeat-paragraph-map
  :doc "Keymap for repeating sequences."
  :repeat ( :continue (yank undo))
  "]" 'forward-paragraph
  "}" 'forward-paragraph
  "[" 'backward-paragraph
  "{" 'backward-paragraph
  "C-/" 'undo
  "y" 'yank)

If we now do forward-list followed by two repeat-map yanks (i.e., C-M-n
y y), then we wind up in repeat-paragraph-map (but we should have never
left repeat-list-map).

To diagnose, let's look at (symbol-plist #'yank):

(... repeat-continue (repeat-paragraph-map repeat-list-map)
     repeat-map repeat-paragraph-map)

Here the precise value of the repeat-map property of yank should not
affect behavior (and so that property should not exist), but it does,
due to the way repeat-post-hook is currently coded.  What happens is
that when we are continuing a repeat map via repeat-continue, the value
of map-sym is discarded in the evaluation of

  (repeat-get-map map-sym)

but gets used later in

  (setq repeat-in-progress map-sym)

In such cases, we should instead (somehow) first modify map-sym so that
it is the symbol describing the "continue" map whose value is ultimately
returned via (repeat-get-map map-sym).  I'm not sure how best to do so.

Hope that makes sense; happy to clarify or think further if it'd help.

Paul




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 17 Dec 2024 19:00:44 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 17 14:00:44 2024
Received: from localhost ([127.0.0.1]:60278 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tNcoC-0008Cb-Q9
	for submit <at> debbugs.gnu.org; Tue, 17 Dec 2024 14:00:44 -0500
Received: from relay8-d.mail.gandi.net ([217.70.183.201]:33527)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1tNco7-0008CF-H2
 for 74140 <at> debbugs.gnu.org; Tue, 17 Dec 2024 14:00:39 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id 9EEFC1BF208;
 Tue, 17 Dec 2024 19:00:06 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Paul Nelson <ultrono@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <uxsg7tzfkv5rd6.fsf@HIDDEN> (Paul Nelson's message of "Mon, 16
 Dec 2024 21:01:57 +0100")
Organization: LINKOV.NET
References: <uxsg7tzfkv5rd6.fsf@HIDDEN>
Date: Tue, 17 Dec 2024 20:58:40 +0200
Message-ID: <87y10edtlr.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <at> debbugs.gnu.org, 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.7 (-)

> I think the repeat-map property is fine as is, but the logic should be a
> bit different:
>
> - If a command is called while repeat map MAP is active, then:
>
>   - If the command's repeat-continue-only property contains MAP, then
>     MAP remains active (i.e., that map "continues").  [Maybe a better
>     name for the property would be simply "repeat-continue".]

So the property is renamed now to 'repeat-continue'.

>   - Otherwise, if the command has a repeat-map property, then that
>     becomes the new repeat map.
>
>   - Otherwise, the repeat map deactivates.
>
> - If a command is called while no repeat map is active, then we proceed
>   as before.
>
> Do you agree that this is the desired behavior?  The difference is that
> with the current implementation, only the repeat-map property is
> relevant for determining which repeat map a command activates or
> continues.

Thanks for the clear explanation.  Now this is completely implemented
with tests.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 16 Dec 2024 20:03:05 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 16 15:03:05 2024
Received: from localhost ([127.0.0.1]:56339 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tNHJ2-0006YY-TJ
	for submit <at> debbugs.gnu.org; Mon, 16 Dec 2024 15:03:05 -0500
Received: from mail-lf1-f48.google.com ([209.85.167.48]:57605)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1tNHJ0-0006Xy-Ox
 for 74140 <at> debbugs.gnu.org; Mon, 16 Dec 2024 15:03:03 -0500
Received: by mail-lf1-f48.google.com with SMTP id
 2adb3069b0e04-5401c52000dso4967842e87.3
 for <74140 <at> debbugs.gnu.org>; Mon, 16 Dec 2024 12:03:02 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1734379321; x=1734984121; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=wWQCEETXCOzmBqEdewyvBf8wULty6tUu1Tbn/AqhbnU=;
 b=QeBz9A3/sN9VD/mTdIQ+x+Daz2r2VFtYnTbNcPnUYGojG1TTcd24ODGI0FUAO3hIM2
 4RejpuAWfR4X5M7uZTHoJzJqSTByEOjpwMSEN/uxf7o7aGh6H1yVri+71eSkf059bNpm
 rAU909TuzfbltMoug58XfZBvN7CjqGJajFEHKY2Q8Wi7f2gsHiaCJwuzJZ98x7N7itpx
 ITRyV2veApY6xNCtWA8hJWXHnFfekRc3cn1MOKzpFBCkqGM86WVbM2hT4PtkjvKEndj+
 Ko8UvxHJVUuDBf6JMP3UhUULI+QsVmFR3elJAS4ZoJZlXzJJghruLPFUytSUYVVAu749
 sp7Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1734379321; x=1734984121;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=wWQCEETXCOzmBqEdewyvBf8wULty6tUu1Tbn/AqhbnU=;
 b=v/ngKC+iqF2qlkN3+ZDGtTiSh0OTwbTHvC3X7yWZNwAicOvm+wLFC3NwAhxAo9JPsd
 B30YeiymtOHMEyItBT3CtDQcTUvAYI4+9/D4Sc2vHMpaDrzX8imL1cm9xUcrIvzgDnnZ
 DtirV+EpYgcoNTQYDOThzgmtmfoFy2LU+gkmFoFLEwcnQ9YCkJY2XgqWata3gIBN93mv
 kaNVRmC8V+CpeaohG+fW9oYzEWwvq6EP5EbmF5vTtNFJXQBcTJnp6rjNjNLq8PbNeC+X
 Is1RPm/diGF2Tm0ppkNHF90pb7pRLcCW2/JZn0CZNjd6POoSVHhOlAI/XP1qQSW3UpGB
 PNhg==
X-Forwarded-Encrypted: i=1;
 AJvYcCXY0dnGUeM3z4/d+lXTXrjM5T2SnOwGPjs2PYrBDOkS9MkM5VHYlq+eH5XV57BjwCHFf1KXkw==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YzrW0AEXuZNl4vL+ONvB5/+MBmmgw8eOUfqqLzEvcQ9hASphkSl
 2YzCSrsIV4jpUNfFxasKlqbCgUAT5/SKOHzd5btUZuMd5/QfVIPe
X-Gm-Gg: ASbGnctv5OYN+gj+05BVVRNXbfmLqwFRKs00KiPmBIuMF/9X/z5EiyJVkB4qAWwY2yW
 JYEDwSp5+CMxhKWMrZJjrDOnHEPhlXR9LF1Z3n1vfT7bEBMsbo8o/zS6V+E/NMpgfiCZS4trV6Q
 V/cLY4bkLIsFj7KglerjHhFxbusaEMpAG+BrO4lJOAhA0S3r2sjMf/rjQf/cMcAWa5becqqh/HU
 3d+F0CNqnY8RFGhv61C7t/qHGcWyuXf8pP/g8/+hDlnakkdXdAw4fVi8I9n1GY7Z1l2qqVG/TMx
 oWXg+F2q0OSuuqrar6at0Q0=
X-Google-Smtp-Source: AGHT+IHeXDbS6DFY4EYl9jXFdsc4aRNsQuCJCasDpm/XAUiLlhASDor5KxqvlZlABjmV5KDquRqADg==
X-Received: by 2002:ac2:4c47:0:b0:53e:2bb0:4942 with SMTP id
 2adb3069b0e04-54099b6d640mr4593101e87.57.1734379320870; 
 Mon, 16 Dec 2024 12:02:00 -0800 (PST)
Received: from localhost (0x573d66b5.static.cust.fastspeed.dk. [87.61.102.181])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-54120bffd10sm946149e87.161.2024.12.16.12.01.58
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Mon, 16 Dec 2024 12:01:59 -0800 (PST)
From: Paul Nelson <ultrono@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <87plls0zlk.fsf@HIDDEN> (message from Juri Linkov on
 Mon, 16 Dec 2024 19:30:03 +0200)
Date: Mon, 16 Dec 2024 21:01:57 +0100
Message-ID: <uxsg7tzfkv5rd6.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <at> debbugs.gnu.org, 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 (-)

Juri Linkov <juri@HIDDEN> writes:

>
> When I tried to evaluate your repeat-maps, I see that
> the 'repeat-continue-only' property is already a list:
>
>   (symbol-plist 'undo)
>   => (repeat-map repeat-paragraph-map
>       repeat-continue-only (repeat-paragraph-map repeat-list-map))
>
> Maybe the problem is that currently the 'repeat-map' property
> is not a list?

I think the repeat-map property is fine as is, but the logic should be a
bit different:

- If a command is called while repeat map MAP is active, then:

  - If the command's repeat-continue-only property contains MAP, then
    MAP remains active (i.e., that map "continues").  [Maybe a better
    name for the property would be simply "repeat-continue".]

  - Otherwise, if the command has a repeat-map property, then that
    becomes the new repeat map.

  - Otherwise, the repeat map deactivates.

- If a command is called while no repeat map is active, then we proceed
  as before.

Do you agree that this is the desired behavior?  The difference is that
with the current implementation, only the repeat-map property is
relevant for determining which repeat map a command activates or
continues.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 16 Dec 2024 17:45:20 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 16 12:45:20 2024
Received: from localhost ([127.0.0.1]:55956 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tNF9j-0007Or-OQ
	for submit <at> debbugs.gnu.org; Mon, 16 Dec 2024 12:45:20 -0500
Received: from relay2-d.mail.gandi.net ([217.70.183.194]:39239)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1tNF9g-0007Lw-UD
 for 74140 <at> debbugs.gnu.org; Mon, 16 Dec 2024 12:45:17 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id 8131740002;
 Mon, 16 Dec 2024 17:44:48 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Paul Nelson <ultrono@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <uxsg7t8qsgnpae.fsf@HIDDEN> (Paul Nelson's message of "Mon, 16
 Dec 2024 06:57:13 +0100")
Organization: LINKOV.NET
References: <uxsg7t8qsgnpae.fsf@HIDDEN>
Date: Mon, 16 Dec 2024 19:30:03 +0200
Message-ID: <87plls0zlk.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <at> debbugs.gnu.org, 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.7 (-)

> Thanks Juri, I took a look at your implementation.  It has at least the
> following issue: the same command cannot be used to continue several
> repeat maps.  Consider for instance the following example:
>
> (defvar-keymap repeat-list-map
>   :doc "Keymap for repeating sequences."
>   :repeat ( :continue-only (yank undo))
>   "n" 'forward-list
>   "p" 'backward-list
>   "C-/" 'undo
>   "y" 'yank)
>
> (defvar-keymap repeat-paragraph-map
>   :doc "Keymap for repeating sequences."
>   :repeat ( :continue-only (yank undo))
>   "]" 'forward-paragraph
>   "}" 'forward-paragraph
>   "[" 'backward-paragraph
>   "{" 'backward-paragraph
>   "C-/" 'undo
>   "y" 'yank)
>
> This is why I think the repeat-continue-only property should be a list
> specifying which repeat maps the command should continue.

When I tried to evaluate your repeat-maps, I see that
the 'repeat-continue-only' property is already a list:

  (symbol-plist 'undo)
  => (repeat-map repeat-paragraph-map
      repeat-continue-only (repeat-paragraph-map repeat-list-map))

Maybe the problem is that currently the 'repeat-map' property
is not a list?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 16 Dec 2024 05:58:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Dec 16 00:58:27 2024
Received: from localhost ([127.0.0.1]:53138 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tN47f-0003QX-81
	for submit <at> debbugs.gnu.org; Mon, 16 Dec 2024 00:58:27 -0500
Received: from mail-lf1-f53.google.com ([209.85.167.53]:46163)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1tN47a-0003Q4-Sl
 for 74140 <at> debbugs.gnu.org; Mon, 16 Dec 2024 00:58:24 -0500
Received: by mail-lf1-f53.google.com with SMTP id
 2adb3069b0e04-54021daa6cbso4392690e87.0
 for <74140 <at> debbugs.gnu.org>; Sun, 15 Dec 2024 21:58:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1734328637; x=1734933437; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=i4Ig8DSpyS58PcWq4ToNLW3VMzUgbc71YAqQsWDG4WQ=;
 b=D7atBIbSSo7f3rz8iBE5joq1TeDSYPfIMU0tWRxQ3gzA2kj1duMiNy9CLTlc6oHXrj
 cjgwSEDDkNve6yiHJ1MMRBFdhXiSwtbSgTXaAkojkwDGrwR2yCQMV+Q6+3Qznc5vt1eh
 5Z8MtgsMzikzYLsGVcUHRkeaRNebo1p254UHCj8PNvaxCba/9XpE2i01DWSarX6haEQP
 Yy7iJGLteELh7Z4UMwbSRqaBYP+dJrR+3tfp/H4pFfn3daI6AAYOrlO706N44Mxg4lGy
 YJRd6OO7akp6BA8250/zv5OCSMB4eO03sZt/5HQvP0ZRBPnjguUSin/O4F9uxhxP4aSi
 gtZg==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1734328637; x=1734933437;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=i4Ig8DSpyS58PcWq4ToNLW3VMzUgbc71YAqQsWDG4WQ=;
 b=HYrySaJZD3cTI1IueCHvPRiHh2lScBTDZI6o/yfaEQ6NhVK22pBEmW5+mpXjArBeti
 oniF2Yu7HVeEkgAGThySh5dsihGJQDw+DX5hTSWqeZdX1mAuVwDHSv1r3I/dvL0lNs0D
 exC3kFT0wHIsfi6HQv5W9wvFucZK/REaW80hoBfzlXEhQVic60TvW6C6hntjlbOdR5F/
 t2JGc+ic1In6XXilEq0i3slsy0Tgqyuj0AqMqLXn+3b3NoxZFMNKzc3BBftv9Wr83UQA
 vIYMh2uAqwJGh9hs9aycotN91Asd/w+YWrptcRD+XfNSssFN5D67RJf5IfUpeLUTRDo8
 90+Q==
X-Forwarded-Encrypted: i=1;
 AJvYcCXlrrcRAn/0ze7UGhjR2HT8N5y6PMxVTxA83KEWde36WTZ0GFNlv5ZJ4Ipp2ypnT2QOxZ1kSA==@debbugs.gnu.org
X-Gm-Message-State: AOJu0YyykIBswH3vDcDxec+xLjLVVWDd/4n0AzVqAz1JSawlYA1Mla01
 KO9fww1C0eJtjuHupaKFQDwv2GOf2v4jDjcace79EAlxmK7w9ABI
X-Gm-Gg: ASbGnctrx3k4447xmaocCvbLs/UFU45zu41T1wwBPdhqLGk1n0Z6Bwh2BpEDRQcS+pm
 JbybQZmwNW0AYCcxOJI5O08/xEbzb5ju1ckoi0ZSU1yLgYI2XEJQtrvEPgDw9v+QUTCY6MVEL1P
 ItAmycbvLv+KtCvGlpIW6OnSVzk1ggxqgidkDKhna/ZToiEnjcBdya16rFuK5c0ySzQbvy5rNYe
 25IBcg4DEJidOWDqjDo9VjW5oWwzPFVC4W6is2HVSY1T4pbLl+sxlJZiMtSIF3yDkILoCBr1Vv7
 087rDXEIWbVoppeSwzgCz8M=
X-Google-Smtp-Source: AGHT+IFFuCFyjXYOEMfSlImHl7LkzBFtHcWjn4gNluLo4XQalG+m+xPLiFV5tB1yQHNvTfMRnlYUtQ==
X-Received: by 2002:a05:6512:304e:b0:540:202f:4955 with SMTP id
 2adb3069b0e04-540905a7afcmr3346073e87.46.1734328636532; 
 Sun, 15 Dec 2024 21:57:16 -0800 (PST)
Received: from localhost (0x573d66b5.static.cust.fastspeed.dk. [87.61.102.181])
 by smtp.gmail.com with ESMTPSA id
 2adb3069b0e04-54120b9f366sm713661e87.11.2024.12.15.21.57.13
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sun, 15 Dec 2024 21:57:15 -0800 (PST)
From: Paul Nelson <ultrono@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <87ldwvicgf.fsf@HIDDEN> (message from Juri Linkov on
 Wed, 04 Dec 2024 19:29:20 +0200)
Date: Mon, 16 Dec 2024 06:57:13 +0100
Message-ID: <uxsg7t8qsgnpae.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <at> debbugs.gnu.org, 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 Juri, I took a look at your implementation.  It has at least the
following issue: the same command cannot be used to continue several
repeat maps.  Consider for instance the following example:

(defvar-keymap repeat-list-map
  :doc "Keymap for repeating sequences."
  :repeat ( :continue-only (yank undo))
  "n" 'forward-list
  "p" 'backward-list
  "C-/" 'undo
  "y" 'yank)

(defvar-keymap repeat-paragraph-map
  :doc "Keymap for repeating sequences."
  :repeat ( :continue-only (yank undo))
  "]" 'forward-paragraph
  "}" 'forward-paragraph
  "[" 'backward-paragraph
  "{" 'backward-paragraph
  "C-/" 'undo
  "y" 'yank)

This is why I think the repeat-continue-only property should be a list
specifying which repeat maps the command should continue.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 11 Dec 2024 12:28:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 11 07:28:38 2024
Received: from localhost ([127.0.0.1]:33336 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tLLpW-00048N-Fr
	for submit <at> debbugs.gnu.org; Wed, 11 Dec 2024 07:28:38 -0500
Received: from mail-ed1-f43.google.com ([209.85.208.43]:51660)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1tLLpU-00048E-5d
 for 74140 <at> debbugs.gnu.org; Wed, 11 Dec 2024 07:28:37 -0500
Received: by mail-ed1-f43.google.com with SMTP id
 4fb4d7f45d1cf-5cedf5fe237so10459663a12.3
 for <74140 <at> debbugs.gnu.org>; Wed, 11 Dec 2024 04:28:36 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1733920055; x=1734524855; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=IGeu23ROdR9UOUd+uarJng/jLruOLLtNO2w1nh1RTp8=;
 b=R1KYP1mcJYGhkNCiR3gz1b6IDDXb/kcndR16mnuv+mEmmNW1Rkv7GoNgjcKYJrj447
 EViR8U3wKWbEyODkO3/dATQ49jIF3bJTrrgmN1gpG90CVWLc7e3cjAyf8Z2VB8PgKf39
 s3G4dPwNQi//0Y/wTm8eDndw7o8e8AjX4fk40nKH9Xh37iwkeX0EOfVFHF9wC2brx6PW
 cl2IGCHI5Av3zJ/iYYtsBnXOR9kp9WyruvS4qLQFPTM4ISy6OxY4u5tqtbbmbedLCPws
 XVCVrG5sX3e6a3y16mMwUpqtu1KtyKbxXPsX+3TqfDOGLeCswNL6iYVWpEpA7jE5x1XV
 V4SQ==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1733920055; x=1734524855;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=IGeu23ROdR9UOUd+uarJng/jLruOLLtNO2w1nh1RTp8=;
 b=dKUQrxvCzNng1sPqaDIA+5HJK32pWhJJu8ixcPzH2K2EMHMPUVPWHS8XhsuFt1civ7
 J7JdJMHH/p31rDc072QU5limAnD6268gKVD0Ust5UXmWf8kFuXNcy8H/+DtoZZrVY721
 eeweIy0tSZtjVQ/6c9Nz7mtPBAPFuc6OE2FAOI0YKRtxJKMCgL3o17wwjZFB0D6GgxVN
 wi+ov3DkLwjnGF/Y73p61FGpvtezgN810jkBNKaWBpEOGQ6aLvyKMPOCjHaLIAzhQEYv
 pg35Qamf7h+t3RvOiullu3TIeLnMqHd4525EaqiJ/CWGJ/Z610Qx9HzmvyAiwLY++yhO
 SdKg==
X-Forwarded-Encrypted: i=1;
 AJvYcCU2ZoG8wZczA2MWkBOldYI/qrxRRGKmxc04YQfF63StSQ1wtbYtKZ36n6NH2rOezIHsfQPkoQ==@debbugs.gnu.org
X-Gm-Message-State: AOJu0Yyjj5Vwfu+b3yHdCnoTgSUU49Mvcw4nOI+dlF4rOEuZ7RWKSgvD
 c/qrHturwKP/RVmel1Hi5VHdeZv/gBQHHXS25SBm144jA9BFcmEU
X-Gm-Gg: ASbGncsOfhBWTiHfxKc99BJR9lj4XHytbopCjA453EGwJzBIGxP9gCmfYz/ffc7H3Hg
 tgV44LmP80OsoJ6i1e41SqVR4aqLKr9/Bnd7VknK276fd9a47ECvZ2hWhWGxK+wkVYjyJL8p3+D
 Z1cc093p4+nKZgesKH6dyw8BT2LxOzM4/BCq6HQWEgNiqc4prDZ/ppo7ygln1vIbRN2ObmGzcau
 67z3l54vvSQ5ciZuY1qFUe6EaOySrOFlPe+Tvu/1Jy86wF2Fi2zxHhSuxOP4HCMV9wqAw==
X-Google-Smtp-Source: AGHT+IFCbieEEgvPRVSa8Z7iDsk25VIUwXI8yuJAochYEVWqEea0GodWSJ1P4VBXcxDSvR6Baywo7Q==
X-Received: by 2002:a05:6402:5216:b0:5d3:cd5b:64da with SMTP id
 4fb4d7f45d1cf-5d43316a129mr2147969a12.23.1733920054971; 
 Wed, 11 Dec 2024 04:27:34 -0800 (PST)
Received: from localhost ([2a02:1210:7040:6b00:686f:4141:279f:f7bd])
 by smtp.gmail.com with ESMTPSA id
 4fb4d7f45d1cf-5d3f52a6395sm4964572a12.49.2024.12.11.04.27.34
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 11 Dec 2024 04:27:34 -0800 (PST)
From: Paul Nelson <ultrono@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <87ldwvicgf.fsf@HIDDEN> (message from Juri Linkov on
 Wed, 04 Dec 2024 19:29:20 +0200)
Date: Wed, 11 Dec 2024 13:27:33 +0100
Message-ID: <uxsg7ta5d2flqi.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <at> debbugs.gnu.org, 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 (-)

>
> Let's wait Paul to confirm whether it will be sufficient for
> bind-keys to just set 'repeat-continue-only' to t, not a list.

Thanks, I'll take a careful look this coming weekend and let you know.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 4 Dec 2024 17:32:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 04 12:32:47 2024
Received: from localhost ([127.0.0.1]:36650 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tItF1-0005UI-3m
	for submit <at> debbugs.gnu.org; Wed, 04 Dec 2024 12:32:47 -0500
Received: from relay9-d.mail.gandi.net ([217.70.183.199]:38607)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1tItEy-0005Ts-MK
 for 74140 <at> debbugs.gnu.org; Wed, 04 Dec 2024 12:32:45 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id 1C070FF808;
 Wed,  4 Dec 2024 17:32:37 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Eli Zaretskii <eliz@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <86cyi71whg.fsf@HIDDEN> (Eli Zaretskii's message of "Wed, 04 Dec
 2024 14:08:43 +0200")
Organization: LINKOV.NET
References: <uxsg7twmgon1qy.fsf@HIDDEN> <87r06vxjdy.fsf@HIDDEN>
 <878qswab57.fsf@HIDDEN> <86cyi71whg.fsf@HIDDEN>
Date: Wed, 04 Dec 2024 19:29:20 +0200
Message-ID: <87ldwvicgf.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <at> debbugs.gnu.org, ultrono@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 (-)

>    ** New symbol property 'repeat-continue-only' for 'repeat-mode'.
>   -A command with this symbol property whose value is non-nil will not
>   -activate the repeat map in 'repeat-mode', it will only continue the
>   -already activated repeating sequence.
>   +A command with this symbol property whose value is a list of repeat
>   +maps will not activate the repeat map in 'repeat-mode'.  It will only
>   +continue the already activated repeating sequence.  Also 'defvar-keymap'
>   +supports a new keyword ':continue-only' with a list of commands that
>   +only continue the active repeating sequence.
>
> This doesn't say what is the significance of the repeat maps included
> in the value of the property (as opposed to those not included).  I'm
> guessing they have some influence on the result, so NEWS should at
> least hint on that.

When I tried to explain better, I realized there is no need to have
a list of repeat maps, because a command can't have more than 1 map
in its symbol property 'repeat-map'.

Let's wait Paul to confirm whether it will be sufficient for
bind-keys to just set 'repeat-continue-only' to t, not a list.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 4 Dec 2024 12:08:57 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Dec 04 07:08:57 2024
Received: from localhost ([127.0.0.1]:34514 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tIoBc-0005sc-J6
	for submit <at> debbugs.gnu.org; Wed, 04 Dec 2024 07:08:56 -0500
Received: from eggs.gnu.org ([209.51.188.92]:33178)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <eliz@HIDDEN>) id 1tIoBa-0005sL-Ik
 for 74140 <at> debbugs.gnu.org; Wed, 04 Dec 2024 07:08:55 -0500
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 1tIoBU-0006RV-9n; Wed, 04 Dec 2024 07:08:48 -0500
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=Q7O8gFnf+7vIoiGI8KzA3sWE7NjdbFB5kv1ts/+KrCE=; b=Rm83l+TuXKtb
 x+iAfmiIXaj80wla9G8qwJSlOnnkgALqJRFnf+7eTpEL57cAIMKe496qoN4HvZ3Z3uZ5frn9Esadd
 6N14hlk2bI/vAAPc+zKLwq9/ayl++PuikvjoBF8iGnRvVFSJ38ya20avpliSJAjBlvrQLOeKUpfOH
 JZd1KZl7CakOtG7uZZDVvCHeUiyaGoE6pzRT+8rCJ8nZ1O1A/CnQPsEFW/mnSClBZS9f+Nj2/7kd1
 EHfDtULN8zPhuw0mA8hSDuHxLfZcs1tNCABv5xB7mfuIR72mO7WjD6H6esI07ceyNqTOcjaLD4Q3W
 sRFbk5TsEUeKwfkFasNaPw==;
Date: Wed, 04 Dec 2024 14:08:43 +0200
Message-Id: <86cyi71whg.fsf@HIDDEN>
From: Eli Zaretskii <eliz@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
In-Reply-To: <878qswab57.fsf@HIDDEN> (message from Juri Linkov on
 Tue, 03 Dec 2024 20:12:36 +0200)
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps in
 bind-keys, use-package
References: <uxsg7twmgon1qy.fsf@HIDDEN> <87r06vxjdy.fsf@HIDDEN>
 <878qswab57.fsf@HIDDEN>
X-Spam-Score: -2.3 (--)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <at> debbugs.gnu.org, ultrono@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: 74140 <at> debbugs.gnu.org
> From: Juri Linkov <juri@HIDDEN>
> Date: Tue, 03 Dec 2024 20:12:36 +0200
> 
> > So below is a patch that adds support for a list of maps.
> > And users don't have to populate the list manually because
> > 'defvar-keymap' does this automatically with :continue-only
> > in the same patch.
> 
> Now this patch is pushed, so you can use the new property
> to implement the :continue-only directive in bind-keys.

Thanks, but I think the NEWS entry needs a small clarification:

   ** New symbol property 'repeat-continue-only' for 'repeat-mode'.
  -A command with this symbol property whose value is non-nil will not
  -activate the repeat map in 'repeat-mode', it will only continue the
  -already activated repeating sequence.
  +A command with this symbol property whose value is a list of repeat
  +maps will not activate the repeat map in 'repeat-mode'.  It will only
  +continue the already activated repeating sequence.  Also 'defvar-keymap'
  +supports a new keyword ':continue-only' with a list of commands that
  +only continue the active repeating sequence.

This doesn't say what is the significance of the repeat maps included
in the value of the property (as opposed to those not included).  I'm
guessing they have some influence on the result, so NEWS should at
least hint on that.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 3 Dec 2024 18:19:33 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 03 13:19:33 2024
Received: from localhost ([127.0.0.1]:32849 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tIXUj-0004I5-41
	for submit <at> debbugs.gnu.org; Tue, 03 Dec 2024 13:19:33 -0500
Received: from mail-ed1-f47.google.com ([209.85.208.47]:45284)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1tIXUh-0004Hs-5s
 for 74140 <at> debbugs.gnu.org; Tue, 03 Dec 2024 13:19:32 -0500
Received: by mail-ed1-f47.google.com with SMTP id
 4fb4d7f45d1cf-5d0c92e335bso5271745a12.2
 for <74140 <at> debbugs.gnu.org>; Tue, 03 Dec 2024 10:19:31 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1733249910; x=1733854710; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=pgORnQZJ6bg9KGUTkafXSXX3toVv6mai/rxOIx07cv4=;
 b=UjL4KqwZI+ZNgBJ216EEur2pv85zjpPIPZGN425mt6IkD52eriLaPb9+sDT6KI5gDH
 x3wYTeJN4KBLc6tD46RkUfU3HMcMXB5hlvxBfxj/gWp1LQmPJ56N5uB1y4/Q20E9quks
 fHvyRJ3G8yqNFvR7F2IwqI35Sf8Vv3r2dMpRnABcYhQzKWWzPG6LCiUXjmIn+pBCka9L
 OLPtiDDhV4EAL8HKvbfThZHWBwZ5E9LW0khxhWauWzbuvQCao4nZ/RyL5Eveq+D9gkQY
 eOTNut99bXcU56p+NvZiADZOU1xqRDKGr9FQrFs/OAhQY3JOOyyrLdSUPDG+22kJIwYm
 GaPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1733249910; x=1733854710;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=pgORnQZJ6bg9KGUTkafXSXX3toVv6mai/rxOIx07cv4=;
 b=nuUfwJNVYWSHw1pS4uHyKFEmTN/4yxsnb8j4s9qCGcV3s1QGW8ch+EzYAYns4ZR3m1
 3aAIxciO8qQB+ORcCpd+HvmC+HiVRqZ+KuPZfhPBdPdDGSl4u6HN9i1ANwLZdaFSP2ts
 FzC97JidA2hDcRaJhhK+mcICXFi0e1hAc3acZk3eGssEJ/vkMgvK9r1ui9ZxC0iXZDM5
 YP9E9hmUf/tr4yIyL6Ou3ysXzhPqcGsHBEmay813qlCJzHoSzUAFKlL1kLaWcDLkHlhc
 5kZCAbW/3LtVh77T1B9JP/rQrKV3ukuOKMpw0rZ/x1lRQHSWVsXe5oz6aoE21aVMaYKo
 Yd1Q==
X-Gm-Message-State: AOJu0YyywWJWb1MegIDuFP0Xv/AHv+K+ugwt8fm1keW/pxf+y+hQysWk
 rWgKeA/iL2Ccc7T2sasEoGPmyPNeg6m1fWsReu0yx4FSXPG/XH4z
X-Gm-Gg: ASbGncsl2FKBdsYGnuhFaFjbDoUTWuCLyImJPW8RQDiYaAuBx5BF2jhtb6f/PHH/dos
 XB/xGACL+EHpLJ6R5CHtcXX1zx6SvHhf3CauxL8DJ3XNoDxAQcyFxIf+DdtRlKTNAq8TywMfCw+
 BeVIIXdcdECAUhhebvS656QXaz8aPk4MaPTs4nweklGVxzindzroh5dAMOswt7FKHdFkEdQGDDp
 4l9cHYYf1vHPXCYDpRJsz9A6sYuCuZeiaFAguXo71VMsGb/7wO738yXufX4LpRrFv7oYTw3lcIT
 PEKQ9Ia3TcxxgLjQ
X-Google-Smtp-Source: AGHT+IGLFsUCgYJuWikvJ6v+2hYsrgTITYQxM7Czzy+hHVjJEZypP80EWLag/udEAjuj0ZGVjxfSvg==
X-Received: by 2002:a17:907:7852:b0:aa5:1957:3431 with SMTP id
 a640c23a62f3a-aa60176618cmr145068866b.1.1733249909914; 
 Tue, 03 Dec 2024 10:18:29 -0800 (PST)
Received: from localhost (0x573d66b5.static.cust.fastspeed.dk. [87.61.102.181])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-aa5996c0e3csm640934666b.12.2024.12.03.10.18.29
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Tue, 03 Dec 2024 10:18:29 -0800 (PST)
From: Paul Nelson <ultrono@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <878qswab57.fsf@HIDDEN> (message from Juri Linkov on
 Tue, 03 Dec 2024 20:12:36 +0200)
Date: Tue, 03 Dec 2024 19:18:28 +0100
Message-ID: <uxsg7t34j4iqa3.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <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 (-)

Thanks, I'll try it out soon and amend my patch accordingly.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 3 Dec 2024 18:13:47 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Dec 03 13:13:47 2024
Received: from localhost ([127.0.0.1]:32835 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tIXP8-00041I-Uf
	for submit <at> debbugs.gnu.org; Tue, 03 Dec 2024 13:13:47 -0500
Received: from relay1-d.mail.gandi.net ([217.70.183.193]:56317)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1tIXP6-000412-Gp
 for 74140 <at> debbugs.gnu.org; Tue, 03 Dec 2024 13:13:45 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id 5C833240003;
 Tue,  3 Dec 2024 18:13:16 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Paul Nelson <ultrono@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <87r06vxjdy.fsf@HIDDEN> (Juri Linkov's message of "Thu, 
 28 Nov 2024 21:12:25 +0200")
Organization: LINKOV.NET
References: <uxsg7twmgon1qy.fsf@HIDDEN> <87r06vxjdy.fsf@HIDDEN>
Date: Tue, 03 Dec 2024 20:12:36 +0200
Message-ID: <878qswab57.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <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 (-)

> So below is a patch that adds support for a list of maps.
> And users don't have to populate the list manually because
> 'defvar-keymap' does this automatically with :continue-only
> in the same patch.

Now this patch is pushed, so you can use the new property
to implement the :continue-only directive in bind-keys.

BTW, bind-keys needs more repeat-related fixes
in the new bug report bug#74660.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 28 Nov 2024 19:14:27 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 28 14:14:27 2024
Received: from localhost ([127.0.0.1]:39758 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tGjy6-0003kc-KJ
	for submit <at> debbugs.gnu.org; Thu, 28 Nov 2024 14:14:27 -0500
Received: from relay6-d.mail.gandi.net ([217.70.183.198]:49289)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1tGjy4-0003kK-D8
 for 74140 <at> debbugs.gnu.org; Thu, 28 Nov 2024 14:14:25 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id E956FC0004;
 Thu, 28 Nov 2024 19:14:14 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Paul Nelson <ultrono@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <uxsg7twmgon1qy.fsf@HIDDEN> (Paul Nelson's message of "Wed, 27
 Nov 2024 16:19:01 +0100")
Organization: LINKOV.NET
References: <uxsg7twmgon1qy.fsf@HIDDEN>
Date: Thu, 28 Nov 2024 21:12:25 +0200
Message-ID: <87r06vxjdy.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <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

>> Thanks for pointing out the case when the command is bound to the same key
>> globally and in the repeat map.  So checking for a key can't help here.
>>
>> Therefore, I implemented another solution in repeat.el.  There is now
>> a new symbol property 'repeat-continue-only'.  And a command with this
>> symbol property will not activate the repeat map, but will only continue
>> the already activated repeating sequence.   This is implemented by
>> a simple change:
>>
>>       (when (and (repeat-check-map map)
>>                  (or (null (repeat--command-property 'repeat-continue-only))
>>                      was-in-progress))
>>
>
> Thanks, I took a look.  One disadvantage of this approach is that it
> does not allow the same command to enter one repeat map and continue
> another.  I'll confess that I'm not aware of any such examples in my
> config, but it still seems like an undesirable "non-local" effect.

Other existing properties such as 'repeat-exit-timeout' or 'repeat-check-key'
don't accept a list of repeat maps, but only a non-nil value (including the
special symbol :no).  However, this can be changed gradually by adding
support for the list to them.

So below is a patch that adds support for a list of maps.
And users don't have to populate the list manually because
'defvar-keymap' does this automatically with :continue-only
in the same patch.

> This issue motivated my suggestion that the symbol property should be a
> list of repeat maps that the command continues, although I haven't
> considered the details (e.g., concerning the map vs. the symbol that
> points to it) - maybe you have a clearer picture of those.

Using a variable value for the map property is supported but not encouraged.
There are too many problems when not using a symbol.  So let's support
only symbols in the list of repeat maps for :continue-only.

>> BTW, while writing the 'bind-keys' test, I noticed there is no way
>> to specify a command that only activates, but not continues
>> (the same as :entry in 'defvar-keymap').  Is it true that 'bind-keys'
>> has no such keyword, so there is a need to do this explicitly with:
>>
>>   (put 'repeat-tests-bind-call-a 'repeat-map 'repeat-tests-bind-keys-repeat-map)
>
> Yes, that's also my understanding (but it's not clear to me that it
> requires such a keyword if its purpose is to bind keys in a map).

My goal was to write the same test for 'bind-keys'
as for 'defvar-keymap' in test/lisp/repeat-tests.el:

  (bind-keys
   :map repeat-tests-bind-keys-map
   ("C-M-a" . repeat-tests-bind-call-a)
   ("C-M-o" . repeat-tests-bind-call-o)
   :repeat-map repeat-tests-bind-keys-repeat-map
   :continue
   ("c"     . repeat-tests-bind-call-c)
   :continue-only
   ("C-M-o" . repeat-tests-bind-call-o)
   :exit
   ("q"     . repeat-tests-bind-call-q))

But I can't find a way to do the same what the :enter key
does in 'defvar-keymap', so needed to set the symbol explicitly:

  (put 'repeat-tests-bind-call-a 'repeat-map 'repeat-tests-bind-keys-repeat-map)


--=-=-=
Content-Type: text/x-diff
Content-Disposition: inline; filename=repeat-continue-only.patch

diff --git a/lisp/keymap.el b/lisp/keymap.el
index 9b133e1ca82..43c8d918ba7 100644
--- a/lisp/keymap.el
+++ b/lisp/keymap.el
@@ -687,6 +687,7 @@ defvar-keymap
 `:exit' and `:hints', for example:
 
      :repeat (:enter (commands ...) :exit (commands ...)
+              :continue-only (commands ...)
               :hints ((command . \"hint\") ...))
 
 `:enter' specifies the list of additional commands that only
@@ -702,6 +703,10 @@ defvar-keymap
 in this specific map, but should not have the `repeat-map' symbol
 property.
 
+`:continue-only' specifies the list of commands that should not
+enter `repeat-mode'.  These command should only continue the
+already activated repeating sequence.
+
 `: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.
@@ -740,6 +745,10 @@ defvar-keymap
             def)
         (dolist (def (plist-get repeat :enter))
           (push `(put ',def 'repeat-map ',variable-name) props))
+        (dolist (def (plist-get repeat :continue-only))
+          (push `(put ',def 'repeat-continue-only
+                      (cons ',variable-name (get ',def 'repeat-continue-only)))
+                props))
         (while defs
           (pop defs)
           (setq def (pop defs))
diff --git a/lisp/repeat.el b/lisp/repeat.el
index 11d26a477b6..45888d9db08 100644
--- a/lisp/repeat.el
+++ b/lisp/repeat.el
@@ -505,8 +505,12 @@ repeat-post-hook
     (setq repeat-in-progress nil)
     (let ((map (repeat-get-map)))
       (when (and (repeat-check-map map)
-                 (or (null (repeat--command-property 'repeat-continue-only))
-                     was-in-progress))
+                 (let ((continue-only (repeat--command-property 'repeat-continue-only)))
+                   (or (null continue-only)
+                       (and (or (not (consp continue-only))
+                                (memq (repeat--command-property 'repeat-map)
+                                      continue-only))
+                            was-in-progress))))
         ;; Messaging
         (funcall repeat-echo-function map)
 
diff --git a/test/lisp/repeat-tests.el b/test/lisp/repeat-tests.el
index c560a283039..527963e3ef8 100644
--- a/test/lisp/repeat-tests.el
+++ b/test/lisp/repeat-tests.el
@@ -63,17 +63,15 @@ repeat-tests-map
 
 (defvar-keymap repeat-tests-repeat-map
   :doc "Keymap for repeating sequences."
-  :repeat ( :enter (repeat-tests-call-a)
-            :exit  (repeat-tests-call-q))
+  :repeat ( :enter         (repeat-tests-call-a)
+            :continue-only (repeat-tests-call-o)
+            :exit          (repeat-tests-call-q))
   "a"     'ignore ;; for non-nil repeat-check-key only
   "c"     'repeat-tests-call-c
   "d"     'repeat-tests-call-d
   "C-M-o" 'repeat-tests-call-o
   "q"     'repeat-tests-call-q)
 
-;; TODO: add new keyword ':continue-only (repeat-tests-call-o)'
-(put 'repeat-tests-call-o 'repeat-continue-only t)
-
 ;; Test using a variable instead of the symbol:
 (put 'repeat-tests-call-b 'repeat-map repeat-tests-repeat-map)
 

--=-=-=--




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 27 Nov 2024 15:20:11 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 27 10:20:11 2024
Received: from localhost ([127.0.0.1]:34280 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tGJpr-0002u4-7V
	for submit <at> debbugs.gnu.org; Wed, 27 Nov 2024 10:20:11 -0500
Received: from mail-ej1-f53.google.com ([209.85.218.53]:48458)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1tGJpp-0002or-GS
 for 74140 <at> debbugs.gnu.org; Wed, 27 Nov 2024 10:20:09 -0500
Received: by mail-ej1-f53.google.com with SMTP id
 a640c23a62f3a-a9f1c590ecdso1101810266b.1
 for <74140 <at> debbugs.gnu.org>; Wed, 27 Nov 2024 07:20:09 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1732720743; x=1733325543; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=VGQrmhVoDW9vOsY/7d+hOSCH0ON0Fg/jWsdkljqRe+Y=;
 b=NCBhfGJpCHVN2ZCk9dXszaWHGXUTXLko68bsz1n3Enq+LF1aQbWRyO7DoRKS3FEVhO
 3zdIHN9on9s94JBoLngbXe43ZXu5aJkaQ60JatnU1oxCzNSq4toZZbAnis4oHRFMFR8/
 c9que2P+l3zg6qF3M9APKB0t/g9eF+PPNOtt66L9bznui3A4MIh1dW/O/ho8WLdlCSj1
 HYG3O0UPG3jhV724lLLvr61n35P+gbWuQfcEm5ETSSDmuL94PZ7qBoff7irI4SjIIldY
 ZGUDFoF4wiKVhBIkt+Mu6oDMBmu4b868NOX8ZEEeRyUSNMaBX/O4dItTTEn2C4mBQKWQ
 +h/Q==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1732720743; x=1733325543;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=VGQrmhVoDW9vOsY/7d+hOSCH0ON0Fg/jWsdkljqRe+Y=;
 b=ge8k/KmYjbEDIdezu7n/n1mt5gWoecFusYCWTSyG7gPMKORM3SbTkEo3ewYFDKQsMc
 2su/fkBDQgjfwEMQu0KKJJ96CEyB8UjKpGK4nCuBenyunRYtamR7yyQ30XFO4u3txkkE
 twx+bNXempq2b6lci3raH07KZlcbuXbmWm0CZJYs1r0h11oGEJQL+4L0MHP6zUc4OCE8
 pHPENTtPfPV+UZRCwdwRDb2XouRFJEMDHdvgDuCuEk6HWQPla14bRVZe+1mV5ki/X0aN
 JEXt1HawsbwE4fqMWgbJHAWyI4f/cludDp6ZtKQOVJ9lx0P/d9ZAeA7uNYvSsQZiEf45
 4maA==
X-Gm-Message-State: AOJu0YzTU5ZdTqKJ+kjcM8GC7e8iZ3Z8Aui5VCNhMO7sdzeqnB3nsv04
 YIMxq92/QmGMB1ZXZR/5I5CdsSJTWW7o/7i1QnV5CN8b7ZLSTrmo3D8n8l+/fts=
X-Gm-Gg: ASbGncvIXnHf+RdNQ4qZidOpxMWQEFMnd/We1reQr4DGrNw9ZQS2obnY4p4glHa3Elk
 zBi/iblmW6Ar/76M24TyMNmDd0716efzYP41fV3X/mJotOoDgnZkPKhmBNEIU66IT0p+MTl319M
 kEiAd0DR3jEJgw0l7Th00lFHzR9/h88r8WhIgTG9UMShzDu8igu++CJqpE7c+xNGtbrNTO7zlFr
 hKi0aX5YRZdoPgF8Oph/M1wlrmW/Do8ueUMijTu6AT+rUzcnVhNgHrf8YOmbP0n1g+zddoZaeF1
 Bu3ULiRI6jlVlxc=
X-Google-Smtp-Source: AGHT+IEprtUnndssSvO7qrYd4KcN8xV7kdzlqFKsDLU0ilU55r91MpYS2IwERmF5/c6sI+W1FjtLgA==
X-Received: by 2002:a17:906:32cc:b0:aa5:358c:72a7 with SMTP id
 a640c23a62f3a-aa580f1acedmr226628366b.21.1732720743107; 
 Wed, 27 Nov 2024 07:19:03 -0800 (PST)
Received: from localhost (ip-185-104-138-47.ptr.icomera.net. [185.104.138.47])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-aa50b52fcf9sm711930966b.118.2024.11.27.07.19.02
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Wed, 27 Nov 2024 07:19:02 -0800 (PST)
From: Paul Nelson <ultrono@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <87a5dl5daz.fsf@HIDDEN> (message from Juri Linkov on
 Wed, 27 Nov 2024 09:46:44 +0200)
Date: Wed, 27 Nov 2024 16:19:01 +0100
Message-ID: <uxsg7twmgon1qy.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 3.6 (+++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 Content preview: > Thanks for pointing out the case when the command is bound
 to the same key > globally and in the repeat map. So checking for a key can't
 help here. > > Therefore, I implemented another solution in r [...] 
 Content analysis details:   (3.6 points, 10.0 required)
 pts rule name              description
 ---- ---------------------- --------------------------------------------------
 0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE:
 The query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [209.85.218.53 listed in sa-accredit.habeas.com]
 3.6 RCVD_IN_SBL_CSS        RBL: Received via a relay in Spamhaus SBL-CSS
 [185.104.138.47 listed in zen.spamhaus.org]
 0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The
 query to Validity was blocked.  See
 https://knowledge.validity.com/hc/en-us/articles/20961730681243
 for more information.
 [209.85.218.53 listed in bl.score.senderscore.com]
 0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
 provider (ultrono[at]gmail.com)
 0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
 no trust [209.85.218.53 listed in list.dnswl.org]
 0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
 [209.85.218.53 listed in wl.mailspike.net]
 0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
X-Debbugs-Envelope-To: 74140
Cc: 74140 <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: 2.6 (++)
X-Spam-Report: Spam detection software, running on the system "debbugs.gnu.org",
 has NOT identified this incoming email as spam.  The original
 message has been attached to this so you can view it or label
 similar future email.  If you have any questions, see
 the administrator of that system for details.
 
 Content preview:  > Thanks for pointing out the case when the command is bound
    to the same key > globally and in the repeat map. So checking for a key can't
    help here. > > Therefore, I implemented another solution in r [...] 
 
 Content analysis details:   (2.6 points, 10.0 required)
 
  pts rule name              description
 ---- ---------------------- --------------------------------------------------
  0.0 RCVD_IN_VALIDITY_CERTIFIED_BLOCKED RBL: ADMINISTRATOR NOTICE:
                             The query to Validity was blocked.  See
                             https://knowledge.validity.com/hc/en-us/articles/20961730681243
                              for more information.
                             [209.85.218.53 listed in sa-accredit.habeas.com]
  3.6 RCVD_IN_SBL_CSS        RBL: Received via a relay in Spamhaus SBL-CSS
                             [185.104.138.47 listed in zen.spamhaus.org]
 -0.0 RCVD_IN_DNSWL_NONE     RBL: Sender listed at https://www.dnswl.org/,
                              no trust
                             [209.85.218.53 listed in list.dnswl.org]
  0.0 RCVD_IN_VALIDITY_RPBL_BLOCKED RBL: ADMINISTRATOR NOTICE: The
                             query to Validity was blocked.  See
                             https://knowledge.validity.com/hc/en-us/articles/20961730681243
                              for more information.
                             [209.85.218.53 listed in bl.score.senderscore.com]
  0.0 RCVD_IN_MSPIKE_H3      RBL: Good reputation (+3)
                             [209.85.218.53 listed in wl.mailspike.net]
  0.0 FREEMAIL_FROM          Sender email is commonly abused enduser mail
                             provider (ultrono[at]gmail.com)
  0.0 SPF_HELO_NONE          SPF: HELO does not publish an SPF Record
 -0.0 SPF_PASS               SPF: sender matches SPF record
  0.0 RCVD_IN_MSPIKE_WL      Mailspike good senders
 -1.0 MAILING_LIST_MULTI     Multiple indicators imply a widely-seen list
                             manager

> Thanks for pointing out the case when the command is bound to the same key
> globally and in the repeat map.  So checking for a key can't help here.
>
> Therefore, I implemented another solution in repeat.el.  There is now
> a new symbol property 'repeat-continue-only'.  And a command with this
> symbol property will not activate the repeat map, but will only continue
> the already activated repeating sequence.   This is implemented by
> a simple change:
>
>       (when (and (repeat-check-map map)
>                  (or (null (repeat--command-property 'repeat-continue-only))
>                      was-in-progress))
>

Thanks, I took a look.  One disadvantage of this approach is that it
does not allow the same command to enter one repeat map and continue
another.  I'll confess that I'm not aware of any such examples in my
config, but it still seems like an undesirable "non-local" effect.

This issue motivated my suggestion that the symbol property should be a
list of repeat maps that the command continues, although I haven't
considered the details (e.g., concerning the map vs. the symbol that
points to it) - maybe you have a clearer picture of those.

> BTW, while writing the 'bind-keys' test, I noticed there is no way
> to specify a command that only activates, but not continues
> (the same as :entry in 'defvar-keymap').  Is it true that 'bind-keys'
> has no such keyword, so there is a need to do this explicitly with:
>
>   (put 'repeat-tests-bind-call-a 'repeat-map 'repeat-tests-bind-keys-repeat-map)

Yes, that's also my understanding (but it's not clear to me that it
requires such a keyword if its purpose is to bind keys in a map).




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 27 Nov 2024 07:49:16 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Wed Nov 27 02:49:16 2024
Received: from localhost ([127.0.0.1]:58158 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tGCnU-0006fA-DQ
	for submit <at> debbugs.gnu.org; Wed, 27 Nov 2024 02:49:16 -0500
Received: from relay5-d.mail.gandi.net ([217.70.183.197]:54781)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1tGCnT-0006ey-45
 for 74140 <at> debbugs.gnu.org; Wed, 27 Nov 2024 02:49:16 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id E5B521C0002;
 Wed, 27 Nov 2024 07:48:46 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Paul Nelson <ultrono@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <uxsg7tr071x00n.fsf@HIDDEN> (Paul Nelson's message of "Sat, 23
 Nov 2024 19:44:56 +0100")
Organization: LINKOV.NET
References: <uxsg7tr071x00n.fsf@HIDDEN>
Date: Wed, 27 Nov 2024 09:46:44 +0200
Message-ID: <87a5dl5daz.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <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 (-)

>> Keys will help to avoid aliases.  In your example:
>>
>>  :continue-only
>>  ;; These commands will be available during paragraph manipulation
>>  ;; but won't activate paragraph-repeat-map themselves
>>  ("y" . yank)
>>  ("C-/" . undo))
>>
>> to be able to not activate repeat-map on executing the command 'yank'
>> with the global keybinding such as 'C-y', we can check
>> that last-command-event is 'y'.
>
> My point was that the "C-/" here is the same in the repeat map and the
> global map, so we can't use it to distinguish the two.

Thanks for pointing out the case when the command is bound to the same key
globally and in the repeat map.  So checking for a key can't help here.

Therefore, I implemented another solution in repeat.el.  There is now
a new symbol property 'repeat-continue-only'.  And a command with this
symbol property will not activate the repeat map, but will only continue
the already activated repeating sequence.   This is implemented by
a simple change:

      (when (and (repeat-check-map map)
                 (or (null (repeat--command-property 'repeat-continue-only))
                     was-in-progress))

Also I improved the existing tests to use more mnemonic keys:

  a - Activate (enter),
  c - Continue,
  o - continue-Only (not activate),
  q - Quit (exit)

Currently the test uses (put 'repeat-tests-call-o 'repeat-continue-only t)
but a new keyword ':continue-only' will be added to 'defvar-keymap'.

The same way you could try to use the new symbol property for 'bind-keys'.

I wrote a new test for 'bind-keys' in test/lisp/repeat-tests.el.
But the part for :continue-only is currently commented out.

BTW, while writing the 'bind-keys' test, I noticed there is no way
to specify a command that only activates, but not continues
(the same as :entry in 'defvar-keymap').  Is it true that 'bind-keys'
has no such keyword, so there is a need to do this explicitly with:

  (put 'repeat-tests-bind-call-a 'repeat-map 'repeat-tests-bind-keys-repeat-map)




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 23 Nov 2024 18:46:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Sat Nov 23 13:46:00 2024
Received: from localhost ([127.0.0.1]:59130 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1tEv8q-00077Z-K3
	for submit <at> debbugs.gnu.org; Sat, 23 Nov 2024 13:46:00 -0500
Received: from mail-ej1-f53.google.com ([209.85.218.53]:45399)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1tEv8p-00077R-6I
 for 74140 <at> debbugs.gnu.org; Sat, 23 Nov 2024 13:45:59 -0500
Received: by mail-ej1-f53.google.com with SMTP id
 a640c23a62f3a-aa51bf95ce1so245289766b.3
 for <74140 <at> debbugs.gnu.org>; Sat, 23 Nov 2024 10:45:59 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1732387498; x=1732992298; darn=debbugs.gnu.org;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from:from:to
 :cc:subject:date:message-id:reply-to;
 bh=+sDV3IaZg+uE7lvzwpYYowUiPjKLP2E1ktPR3RjWNGA=;
 b=R3OjlqV/CZSfITOwqFDcy7OfzFC7c/ORvnpoLt232xWpbJhPET4xMMZ44w74idlh44
 PI2XMeFB/Z3t2o+GRpJ7ihSgH+jEblyEoE1ds9n4KD5l1+G5hTpqbPRYFljrdeFjBFKw
 q6imCSepDfJX9UlIQUM4siarXcgezV5RQ1+sjRTzTw+lH3vEXWpuCBwRqPSC+x0ufod/
 k48Htpyi5tPcG5zcFzc6troutQ8qDvSVtL9X62yv1YyMEU2OOOcfjJXqjNNnYDGreCKF
 LPnw2pIrz8O7/MEAIOwf3UKyP7m/W74Y0io1/QQknjHwZxvid4VpriI7GZC9CT4nb2/5
 SkAw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1732387498; x=1732992298;
 h=mime-version:message-id:date:in-reply-to:subject:cc:to:from
 :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to;
 bh=+sDV3IaZg+uE7lvzwpYYowUiPjKLP2E1ktPR3RjWNGA=;
 b=hvTUBQpAY+6YvHE9eIj+HHVessu6I9Hx7XhixIPO/M6QKNIdMXsuEb0Qt8bktIBGsv
 1Z/FjFmX8M9D8p6hXVCdWVcVp6FfWBF+cx1od6uoZHK7GBahizyTVRQ0eua/+7QFbttq
 d9JmjzE9+fJdgC5Wpdt2+LExeX1g0S0qn451GtUX86yQRq/G4kXKa/GF/NUuy7QcZKF+
 wPRaWAfZy2HphffAWhZE2/57etDciYz3X/6K9WDXuqhhDbUzFtfy1Ngtog6W2GU8ijC5
 A66Gc+VynnDcX6fmCZAWJDzAlG9gGCQO2lLBwJurglgfj8xFeEN3kIOsHXo7RSoDK1gv
 4gNw==
X-Gm-Message-State: AOJu0YxC8Bwv8dVhr6zdjIuVbzS/ZFnAHs1xbVfpi/NIvaTQ981A8Yl5
 7zFkLgPo/JOrmmLb+ya40lzfP4DzHsvRjWwNWUfHdNH0/RoyRCm1js6woYEo
X-Gm-Gg: ASbGnct4WJCmAt3LgvAk3JxhYaNC0Q1DCrjIR/EHScSgYeY98o9mU77SY2FuCYG/7Fm
 qf/HXZz13rrWPtfObCjSj3w7PrIrhmGOdmn9tj2GlIoYxXPelU3EDmYpUY1/9mK77GEbNZcx/gP
 95/ndgNoVPOQfvGOJChCjEhUTOjFc/U9bHKsM3y4bAlYLjLNm6CFpkJi9voRx9Qu2JUCyfSmtSc
 vK/5EnXPKuaglPYiknhwx9NyECCQS5OnnCzSvzAvRQqUIzOmNNgvBAB3/zjWRoqBl7prrLJCgjA
 7kDs12A6cCt7fsaq
X-Google-Smtp-Source: AGHT+IGrJRFhQZhAUUupwAzQfUaF689jclTArWSy+rzaQdColwrUnPX9wd8BL84313kag/fegKPh5w==
X-Received: by 2002:a17:906:6a25:b0:a99:f183:ea8a with SMTP id
 a640c23a62f3a-aa509a038aemr700450466b.28.1732387498310; 
 Sat, 23 Nov 2024 10:44:58 -0800 (PST)
Received: from localhost (0x573d6695.static.cust.fastspeed.dk. [87.61.102.149])
 by smtp.gmail.com with ESMTPSA id
 a640c23a62f3a-aa50b28dd59sm255385966b.7.2024.11.23.10.44.57
 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256);
 Sat, 23 Nov 2024 10:44:57 -0800 (PST)
From: Paul Nelson <ultrono@HIDDEN>
To: Juri Linkov <juri@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <875xoyu90s.fsf@HIDDEN> (message from Juri Linkov on
 Thu, 07 Nov 2024 21:41:07 +0200)
Date: Sat, 23 Nov 2024 19:44:56 +0100
Message-ID: <uxsg7tr071x00n.fsf@HIDDEN>
MIME-Version: 1.0
Content-Type: text/plain
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <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 (-)

>> I still don't follow.  Couldn't we somehow keep track of the active
>> repeat-map (or really, its underlying symbol) and check whether that
>> lies in the provided list?  Why should it be necessary to keep track
>> of the key that activated it?  In any event, we don't know in advance
>> whether the specific key is the same or different across the keymaps
>> that we do or do not want the command to participate in, so I don't
>> see how knowing the key could be a useful differentiating factor.
>
> Keys will help to avoid aliases.  In your example:
>
>  :continue-only
>  ;; These commands will be available during paragraph manipulation
>  ;; but won't activate paragraph-repeat-map themselves
>  ("y" . yank)
>  ("C-/" . undo))
>
> to be able to not activate repeat-map on executing the command 'yank'
> with the global keybinding such as 'C-y', we can check
> that last-command-event is 'y'.
>

My point was that the "C-/" here is the same in the repeat map and the
global map, so we can't use it to distinguish the two.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 7 Nov 2024 19:44:38 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Nov 07 14:44:38 2024
Received: from localhost ([127.0.0.1]:49650 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t98Qn-0000Cs-Kd
	for submit <at> debbugs.gnu.org; Thu, 07 Nov 2024 14:44:37 -0500
Received: from relay4-d.mail.gandi.net ([217.70.183.196]:38095)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1t98Ql-0000CZ-HA
 for 74140 <at> debbugs.gnu.org; Thu, 07 Nov 2024 14:44:36 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id B2447E0005;
 Thu,  7 Nov 2024 19:44:26 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Paul Nelson <ultrono@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <CAOA-32NZHhedgVswNHULGewUERFUgNxR_Z8iOf1nvH7wastcbQ@HIDDEN>
 (Paul Nelson's message of "Tue, 5 Nov 2024 21:51:11 +0100")
Organization: LINKOV.NET
References: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
 <86plnf9xqm.fsf@HIDDEN>
 <CAOA-32PM2Odp_vhd52Fo57=97OO228Hj=MJpf01bPQQ2t7dPFg@HIDDEN>
 <CAOA-32N1jNHDemBX=tz0GFnUs4X_WB9msCptNE-eKV2ng4wi6A@HIDDEN>
 <87ldxy953e.fsf@HIDDEN>
 <CAOA-32M5L2EyUGbU24JqF8uWmq5_8STQAX_yyWAAH7eO6452nw@HIDDEN>
 <87v7x1edwr.fsf@HIDDEN>
 <CAOA-32NZHhedgVswNHULGewUERFUgNxR_Z8iOf1nvH7wastcbQ@HIDDEN>
Date: Thu, 07 Nov 2024 21:41:07 +0200
Message-ID: <875xoyu90s.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <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 (-)

>> Keys are required as well to be able to decide whether
>> to activate the repeat-map.
>
> I still don't follow.  Couldn't we somehow keep track of the active
> repeat-map (or really, its underlying symbol) and check whether that
> lies in the provided list?  Why should it be necessary to keep track
> of the key that activated it?  In any event, we don't know in advance
> whether the specific key is the same or different across the keymaps
> that we do or do not want the command to participate in, so I don't
> see how knowing the key could be a useful differentiating factor.

Keys will help to avoid aliases.  In your example:

 :continue-only
 ;; These commands will be available during paragraph manipulation
 ;; but won't activate paragraph-repeat-map themselves
 ("y" . yank)
 ("C-/" . undo))

to be able to not activate repeat-map on executing the command 'yank'
with the global keybinding such as 'C-y', we can check
that last-command-event is 'y'.

Or do you think it would help to take into account the fact
that the current repeat-map is already activated?  But still
in this case I don't see how it's possible to avoid checking the key.

>> There are two possible ways to do this: opt-in and out-out.
>>
>> 1. opt-in defines all global keys that activate a repeat-map. e.g.:
>>
>>   (put 'undo 'repeat-entry-keys '((paragraph-repeat-map . "C-x u")))
>>
>> 2. out-out defines only keys from the repeat-map that should not activate it
>>    by a global key such as the global "u" ('self-insert-command')
>>    should not activate paragraph-repeat-map:
>>
>>   (put 'undo 'repeat-no-entry-keys '((paragraph-repeat-map . "u")))
>
> What do you have in mind if the user updates the binds in the keymaps?

After any updates the user needs to update symbol properties as well.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 5 Nov 2024 20:52:25 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 05 15:52:25 2024
Received: from localhost ([127.0.0.1]:38139 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t8QXJ-0006Cm-1V
	for submit <at> debbugs.gnu.org; Tue, 05 Nov 2024 15:52:25 -0500
Received: from mail-il1-f182.google.com ([209.85.166.182]:56780)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1t8QXG-0006Ce-Um
 for 74140 <at> debbugs.gnu.org; Tue, 05 Nov 2024 15:52:23 -0500
Received: by mail-il1-f182.google.com with SMTP id
 e9e14a558f8ab-3a6ace3b6a5so16839255ab.1
 for <74140 <at> debbugs.gnu.org>; Tue, 05 Nov 2024 12:52:22 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730839882; x=1731444682; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=vBdjC/uIfixADvIrS/asFN7JYYwnHgY8lT4BBdgAf4E=;
 b=mG59CAWgDfgl4AQ1+sg3onKcVzRMhjBVZ1GwuExPAkdCbTzhZT6PJV66t1AOXw3F9/
 f9ZC03xi58riMnp0QZwRZmftujj+QjswvUZnIUa4kcLgkpraPjmAgQDyyBqyaL9ScjKY
 6IBjsDp5M7KHmSHCvJ4TyiAnP83YhkGvI5IPcIGTm4G9afVQ6G9L5DbvN9bprNqftPGu
 Mbo+Hz1nquvF6OWfNWRBDaNZvkx8Hb2A+kVte2uB0fzzJ27/s0paVevyQzU9u841x8ew
 6YzPWQvs31Kftorl0zvH+yanHJQLaVRasVSnvCq+B4veJgXuIeVkz12tafEs7nemVThP
 W2Fw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730839882; x=1731444682;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=vBdjC/uIfixADvIrS/asFN7JYYwnHgY8lT4BBdgAf4E=;
 b=mf2hWJ/FnNBlGvQnl4YSXvSMMUAKLtJp/8pOwtS/+Mz5nuuFI1DRXOBHtZlELfxRUp
 DKsM7W3FZLrckDDWjUpzFZvM7r+rzREVRAg0D4AbZTAOW1qllz5sTINNaoR0lqfyESE0
 +ghG32vY3l4hDvFzolJ745S4b7yB1Yi1kNmiBlcdq3FuejFD1Z2LVoq2urt0AcG4wiEr
 EOEbycBe3OtfLSkvffCR3zZ8WMzEBU/zpzbwyRfEz5/kdeTjZpI2rpin4+ObIZPH/UNY
 V6OpDOPHmxD1yB6xYi0dncM4NRIYHOaOaEXZzGItuipFUwUANbaQTYhiFYiT2v+dQ+Ig
 SxwA==
X-Gm-Message-State: AOJu0YzXhbV60zYYzH/pvLNAXRuWzjvk4NNApRyEqHT/SK+YwMJC9aMM
 xYonKtYZFBbXmapq+/Nt1wLTYqkgrTbTHv+vyTXT6sWl9NvEvucCLo2KewjIfAqqQYOPzOGsXl8
 mYFf0EN4NiiJWM8XeA/0fSO+5Md94r5hZQRc=
X-Google-Smtp-Source: AGHT+IFEUrARK1VOm74K6UM2QYPuXvqIRtIMMVm0Mhz1DLmHGyfji4POpe6fvtv5R50TNDTSMFJ3XUWV7OWCxFcyAwY=
X-Received: by 2002:a05:6e02:1ca3:b0:3a6:c439:6812 with SMTP id
 e9e14a558f8ab-3a6c4396b51mr105504385ab.16.1730839882201; Tue, 05 Nov 2024
 12:51:22 -0800 (PST)
MIME-Version: 1.0
References: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
 <86plnf9xqm.fsf@HIDDEN>
 <CAOA-32PM2Odp_vhd52Fo57=97OO228Hj=MJpf01bPQQ2t7dPFg@HIDDEN>
 <CAOA-32N1jNHDemBX=tz0GFnUs4X_WB9msCptNE-eKV2ng4wi6A@HIDDEN>
 <87ldxy953e.fsf@HIDDEN>
 <CAOA-32M5L2EyUGbU24JqF8uWmq5_8STQAX_yyWAAH7eO6452nw@HIDDEN>
 <87v7x1edwr.fsf@HIDDEN>
In-Reply-To: <87v7x1edwr.fsf@HIDDEN>
From: Paul Nelson <ultrono@HIDDEN>
Date: Tue, 5 Nov 2024 21:51:11 +0100
Message-ID: <CAOA-32NZHhedgVswNHULGewUERFUgNxR_Z8iOf1nvH7wastcbQ@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
To: Juri Linkov <juri@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <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 (-)

> I see now that the previous idea
> was insufficient since it lacks a map.  So a better way is to define
> a combination of a repeat-map and a key:
>
>   (put 'undo 'repeat-continue-keys '((paragraph-repeat-map . "C-/")))
>
> > I guess one alias-free approach would be to introduce a
> > repeat-continue property describing keymaps that a command should
> > perpetuate, e.g.,
> >
> >   (put 'yank 'repeat-continue '(paragraph-repeat-map))
> >   (put 'undo 'repeat-continue '(paragraph-repeat-map))
>
> Keys are required as well to be able to decide whether
> to activate the repeat-map.
>

I still don't follow.  Couldn't we somehow keep track of the active
repeat-map (or really, its underlying symbol) and check whether that
lies in the provided list?  Why should it be necessary to keep track
of the key that activated it?  In any event, we don't know in advance
whether the specific key is the same or different across the keymaps
that we do or do not want the command to participate in, so I don't
see how knowing the key could be a useful differentiating factor.

> There are two possible ways to do this: opt-in and out-out.
>
> 1. opt-in defines all global keys that activate a repeat-map. e.g.:
>
>   (put 'undo 'repeat-entry-keys '((paragraph-repeat-map . "C-x u")))
>
> 2. out-out defines only keys from the repeat-map that should not activate it
>    by a global key such as the global "u" ('self-insert-command')
>    should not activate paragraph-repeat-map:
>
>   (put 'undo 'repeat-no-entry-keys '((paragraph-repeat-map . "u")))

What do you have in mind if the user updates the binds in the keymaps?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 5 Nov 2024 18:33:52 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Tue Nov 05 13:33:52 2024
Received: from localhost ([127.0.0.1]:40613 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t8OND-0001J5-RG
	for submit <at> debbugs.gnu.org; Tue, 05 Nov 2024 13:33:52 -0500
Received: from relay8-d.mail.gandi.net ([217.70.183.201]:55667)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1t8ONC-0001Io-7K
 for 74140 <at> debbugs.gnu.org; Tue, 05 Nov 2024 13:33:50 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id 13AA51BF20B;
 Tue,  5 Nov 2024 18:33:20 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Paul Nelson <ultrono@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <CAOA-32M5L2EyUGbU24JqF8uWmq5_8STQAX_yyWAAH7eO6452nw@HIDDEN>
 (Paul Nelson's message of "Mon, 4 Nov 2024 21:45:15 +0100")
Organization: LINKOV.NET
References: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
 <86plnf9xqm.fsf@HIDDEN>
 <CAOA-32PM2Odp_vhd52Fo57=97OO228Hj=MJpf01bPQQ2t7dPFg@HIDDEN>
 <CAOA-32N1jNHDemBX=tz0GFnUs4X_WB9msCptNE-eKV2ng4wi6A@HIDDEN>
 <87ldxy953e.fsf@HIDDEN>
 <CAOA-32M5L2EyUGbU24JqF8uWmq5_8STQAX_yyWAAH7eO6452nw@HIDDEN>
Date: Tue, 05 Nov 2024 20:25:24 +0200
Message-ID: <87v7x1edwr.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <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 (-)

>> >                   activate    continue     bind
>> > :continue         yes         yes          yes
>> > :continue-only    no          yes          yes
>> > :exit             no          no           yes
>> > :enter            yes         no           no
>>
>> Thanks, this table provides a clear overview.
>>
>> So bind-keys doesn't need :enter?  Ok.
>
> I understand the purpose of bind-keys to be "bind keys to commands in
> a keymap".  Since :enter doesn't bind a key, it doesn't fit in
> bind-keys.

In defvar-keymap, :enter defines for a list of commands
that activate a repeat-map with their global keybindings.
Such as e.g. 'C-x u' for 'undo' when there are no keys
with the 'undo' keybinding in the repeat-map.

> There is a missing fourth case ("yes, no, yes") describing a key bound
> to a command in a repeat map which the command activates but the key
> exits.  I haven't been imaginative enough to think of a good use case.
> "Why does this command start a repeat sequence, but then terminate it
> when I try to use it in that sequence?"

I guess the case "yes, no, yes" is not needed because
no one might want to define a global keybinding via
bind-keys or defvar-keymap.

>> Since defvar-keymap uses :continue by default,
>> what is missing in defvar-keymap is :continue-only.
>> For adding :continue-only to defvar-keymap
>> I looked how you implemented it for bind-keys,
>> and it seems making an alias doesn't look
>> like a clean solution.
>>
>> I know that 'define-repeat-map' makes an alias as well.
>> So some time ago I had one idea how such aliases
>> could be avoided.  The solution would be to put
>> a new property like this:
>>
>>   (put 'yank 'repeat-continue-keys '("y"))
>>   (put 'undo 'repeat-continue-keys '("C-/"))
>>
>> Its semantics is that when such a property exists
>> then repeat-mode will check if the last typed keys
>> don't exist in this list, only then the repeat map
>> should be activated.
>
> I didn't quite follow.  If the repeat map is active and the user
> presses "C-/", then repeat-mode will see that the key in question
> exists in the repeat-continue-keys list, and so will not activate the
> repeat map.  This is the opposite of the intended behavior.  Perhaps
> I've misunderstood?

The property 'repeat-continue-keys' is intended to be used only
to decide whether a global key sequence should activate the repeat-map
or not.

So maybe a better property name would be 'repeat-no-enter-keys'.
Then your new bind-keys directive :continue-only could be named
:no-entry (but :continue-only is fine if it's more clear).

In any case such property could check not a command name,
but a global key sequence, then decide whether it should activate
the repeat-map.

> I think that in an ideal world, "repeat-map" would be a property of a
> keybinding inside a keymap, rather than a command.  The alias-based
> approach gives one approximation to that.

Extending the standard keymap format would complicate it.
So a less radical change would be to add extra information
in the symbol property list.  I see now that the previous idea
was insufficient since it lacks a map.  So a better way is to define
a combination of a repeat-map and a key:

  (put 'undo 'repeat-continue-keys '((paragraph-repeat-map . "C-/")))

> I guess one alias-free approach would be to introduce a
> repeat-continue property describing keymaps that a command should
> perpetuate, e.g.,
>
>   (put 'yank 'repeat-continue '(paragraph-repeat-map))
>   (put 'undo 'repeat-continue '(paragraph-repeat-map))

Keys are required as well to be able to decide whether
to activate the repeat-map.

There are two possible ways to do this: opt-in and out-out.

1. opt-in defines all global keys that activate a repeat-map. e.g.:

  (put 'undo 'repeat-entry-keys '((paragraph-repeat-map . "C-x u")))

2. out-out defines only keys from the repeat-map that should not activate it
   by a global key such as the global "u" ('self-insert-command')
   should not activate paragraph-repeat-map:

  (put 'undo 'repeat-no-entry-keys '((paragraph-repeat-map . "u")))

> Anyway, is the idea that you'd like to see equivalent functionality in
> defvar-keymap and/or to have both implementations avoid aliases?

Yes, we need to keep feature parity between bind-keys and defvar-keymap,
and I'd like to avoid aliases in defvar-keymap.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 4 Nov 2024 20:46:29 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 04 15:46:29 2024
Received: from localhost ([127.0.0.1]:42237 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t83y0-0000Ux-Tw
	for submit <at> debbugs.gnu.org; Mon, 04 Nov 2024 15:46:29 -0500
Received: from mail-io1-f48.google.com ([209.85.166.48]:55334)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1t83xz-0000Ur-EJ
 for 74140 <at> debbugs.gnu.org; Mon, 04 Nov 2024 15:46:27 -0500
Received: by mail-io1-f48.google.com with SMTP id
 ca18e2360f4ac-83aae6aba1aso161401039f.2
 for <74140 <at> debbugs.gnu.org>; Mon, 04 Nov 2024 12:46:27 -0800 (PST)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730753127; x=1731357927; darn=debbugs.gnu.org;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:from:to:cc:subject:date:message-id:reply-to;
 bh=F28XnWG7Hg7Lfj4v5t9GQUqbXVxk8F/2binrHXed7m0=;
 b=mHi7H0oLl79faXulr60RFWc+2x0zcxctvW0NqnvyQXtIK3MepHwuJ5XvI70o82o5UO
 EBBWvgN2fIy3neH3MZNc1uIagG1VswnwwOQhac8fG0ZUr24IkjaaAN49HpsiBsZloA7x
 lHkpcrm4drHH9W5bo/X6o8qc4+392uB5hlrBW0eWyB/X2Us1WjgqCQd0WgsfwZmrsatX
 f9naWaihnjIfxFGmn6M0ontsuJl3Z7GvZs8JHvzKM8/apZG1CxcdvQsZ1duF8pCICbC2
 MuL6QVJS5JP2T6TgsWvbOK6Rer2pBV55eIH+yvghryI+cmCciVCQ3zQUTxNjC6Nlak8N
 k4oA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730753127; x=1731357927;
 h=cc:to:subject:message-id:date:from:in-reply-to:references
 :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id
 :reply-to;
 bh=F28XnWG7Hg7Lfj4v5t9GQUqbXVxk8F/2binrHXed7m0=;
 b=w6cFh3g/bIoZUzq1fISUISKMfARMpnJnZYUGSv1659/O2C1B/y7Q3SSBKZD8/Tqz/E
 jcrevdrjawKyp7qH+UpIB647TffQCGa+pLOD0oLW1QG5Mf28Dh8bA+q8by9PFMlFlkNI
 gThakkTTMEOoIJgf7eOVJitBVklHTgkknHo6pwYfyvCZezBFFzuKEODkZsk00wciNvnA
 Dg+QM4UR/2IkWrhGNRxJFK+BBBkLMRn+ZeCCnpjMNhSsxbytmaan0LkqDIucQooSxaM1
 +6zMU3FIpt2fGmkwHS3MdxNQ1n7qFYYRIfBGZ+kNLG1Xqrb30NkXKrvVzozbZTYsZiTs
 VASA==
X-Gm-Message-State: AOJu0Yw/rSd3jRE0QnfTBi6yk790O0CxlJgptaiFSLnSkBvTrfJc0/Od
 g97zSh8XbEPwBLCtQOAV2qeH4yOxe34QpkyeXF8ncUADnTp+t6v6sL4hrAel0HpkJsIkleM6lSx
 npHPn8gZSBaIBExf7XfN9LSKkJYPl+0Zb
X-Google-Smtp-Source: AGHT+IEFfELJFT+pME0KwrPeSWpzf8kRmpKQEL960KYLafgUAcXoZ4QECsJV7MOkYgHUMmaDEx77TRE/pwggwI1Ixig=
X-Received: by 2002:a05:6602:3f84:b0:83a:aa8e:5f72 with SMTP id
 ca18e2360f4ac-83b71946bb3mr1343622339f.4.1730753126738; Mon, 04 Nov 2024
 12:45:26 -0800 (PST)
MIME-Version: 1.0
References: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
 <86plnf9xqm.fsf@HIDDEN>
 <CAOA-32PM2Odp_vhd52Fo57=97OO228Hj=MJpf01bPQQ2t7dPFg@HIDDEN>
 <CAOA-32N1jNHDemBX=tz0GFnUs4X_WB9msCptNE-eKV2ng4wi6A@HIDDEN>
 <87ldxy953e.fsf@HIDDEN>
In-Reply-To: <87ldxy953e.fsf@HIDDEN>
From: Paul Nelson <ultrono@HIDDEN>
Date: Mon, 4 Nov 2024 21:45:15 +0100
Message-ID: <CAOA-32M5L2EyUGbU24JqF8uWmq5_8STQAX_yyWAAH7eO6452nw@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
To: Juri Linkov <juri@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <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 (-)

> >                   activate    continue     bind
> > :continue         yes         yes          yes
> > :continue-only    no          yes          yes
> > :exit             no          no           yes
> > :enter            yes         no           no
>
> Thanks, this table provides a clear overview.
>
> So bind-keys doesn't need :enter?  Ok.

I understand the purpose of bind-keys to be "bind keys to commands in
a keymap".  Since :enter doesn't bind a key, it doesn't fit in
bind-keys.

There is a missing fourth case ("yes, no, yes") describing a key bound
to a command in a repeat map which the command activates but the key
exits.  I haven't been imaginative enough to think of a good use case.
"Why does this command start a repeat sequence, but then terminate it
when I try to use it in that sequence?"

>
> Since defvar-keymap uses :continue by default,
> what is missing in defvar-keymap is :continue-only.
> For adding :continue-only to defvar-keymap
> I looked how you implemented it for bind-keys,
> and it seems making an alias doesn't look
> like a clean solution.
>
> I know that 'define-repeat-map' makes an alias as well.
> So some time ago I had one idea how such aliases
> could be avoided.  The solution would be to put
> a new property like this:
>
>   (put 'yank 'repeat-continue-keys '("y"))
>   (put 'undo 'repeat-continue-keys '("C-/"))
>
> Its semantics is that when such a property exists
> then repeat-mode will check if the last typed keys
> don't exist in this list, only then the repeat map
> should be activated.
>

I didn't quite follow.  If the repeat map is active and the user
presses "C-/", then repeat-mode will see that the key in question
exists in the repeat-continue-keys list, and so will not activate the
repeat map.  This is the opposite of the intended behavior.  Perhaps
I've misunderstood?


I think that in an ideal world, "repeat-map" would be a property of a
keybinding inside a keymap, rather than a command.  The alias-based
approach gives one approximation to that.

I guess one alias-free approach would be to introduce a
repeat-continue property describing keymaps that a command should
perpetuate, e.g.,

  (put 'yank 'repeat-continue '(paragraph-repeat-map))
  (put 'undo 'repeat-continue '(paragraph-repeat-map))

Anyway, is the idea that you'd like to see equivalent functionality in
defvar-keymap and/or to have both implementations avoid aliases?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 4 Nov 2024 19:24:50 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Mon Nov 04 14:24:50 2024
Received: from localhost ([127.0.0.1]:41813 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t82gz-0006Gm-RB
	for submit <at> debbugs.gnu.org; Mon, 04 Nov 2024 14:24:50 -0500
Received: from relay9-d.mail.gandi.net ([217.70.183.199]:39657)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1t82gx-0006Ge-MT
 for 74140 <at> debbugs.gnu.org; Mon, 04 Nov 2024 14:24:48 -0500
Received: by mail.gandi.net (Postfix) with ESMTPSA id 8FFFFFF804;
 Mon,  4 Nov 2024 19:24:38 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Paul Nelson <ultrono@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <CAOA-32N1jNHDemBX=tz0GFnUs4X_WB9msCptNE-eKV2ng4wi6A@HIDDEN>
 (Paul Nelson's message of "Fri, 1 Nov 2024 09:58:07 +0100")
Organization: LINKOV.NET
References: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
 <86plnf9xqm.fsf@HIDDEN>
 <CAOA-32PM2Odp_vhd52Fo57=97OO228Hj=MJpf01bPQQ2t7dPFg@HIDDEN>
 <CAOA-32N1jNHDemBX=tz0GFnUs4X_WB9msCptNE-eKV2ng4wi6A@HIDDEN>
Date: Mon, 04 Nov 2024 21:22:29 +0200
Message-ID: <87ldxy953e.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <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 (-)

>> > > With this patch, the available directives are:
>> > > :continue (default) - activates and continues
>> > > :exit - neither activates nor continues
>> > > :continue-only (new) - continues, but does not activate
>> >
>> > How does this map to the properties ':enter' and ':exit' of 'defvar-keymap'?
>>
>> :exit has the same meaning in both.
>>
>> In defvar-keymap, :enter means "activate, but do not continue".
>
> Another difference is that :enter from defvar-keymap does not actually
> bind a key in the keymap, thus:
>
>                   activate    continue     bind
> :continue         yes         yes          yes
> :continue-only    no          yes          yes
> :exit             no          no           yes
> :enter            yes         no           no

Thanks, this table provides a clear overview.

So bind-keys doesn't need :enter?  Ok.

Since defvar-keymap uses :continue by default,
what is missing in defvar-keymap is :continue-only.
For adding :continue-only to defvar-keymap
I looked how you implemented it for bind-keys,
and it seems making an alias doesn't look
like a clean solution.

I know that 'define-repeat-map' makes an alias as well.
So some time ago I had one idea how such aliases
could be avoided.  The solution would be to put
a new property like this:

  (put 'yank 'repeat-continue-keys '("y"))
  (put 'undo 'repeat-continue-keys '("C-/"))

Its semantics is that when such a property exists
then repeat-mode will check if the last typed keys
don't exist in this list, only then the repeat map
should be activated.

Then bind-keys could put such new properties
from the definition like in your example:

  :continue-only
  ;; These commands will be available during paragraph manipulation
  ;; but won't activate paragraph-repeat-map themselves
  ("y" . yank)
  ("C-/" . undo)

Do you think such a symbol property would cover all possible uses?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 1 Nov 2024 08:59:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 01 04:59:22 2024
Received: from localhost ([127.0.0.1]:47992 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6nV3-0000W9-Qg
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 04:59:22 -0400
Received: from mail-io1-f52.google.com ([209.85.166.52]:59462)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1t6nV1-0000Vv-4G
 for 74140 <at> debbugs.gnu.org; Fri, 01 Nov 2024 04:59:19 -0400
Received: by mail-io1-f52.google.com with SMTP id
 ca18e2360f4ac-83ab5b4b048so76777739f.2
 for <74140 <at> debbugs.gnu.org>; Fri, 01 Nov 2024 01:59:19 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730451498; x=1731056298; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=LObUMoIVo6re66vlnm3FPdoop9KGlbMT3uuQ4TpXYxY=;
 b=bJH2OyPnn1bBJZ1vU25+F/y97e/7eZmALcVB9YNfSdGL/gGrOjTTkKyILmRRnSyzbV
 S/eLYmmctrfaA9sott5tvgucdXgZ7ahlYQiTMh+mFBccMVSv98Ayi5bWApGk/8yWbf+m
 6l4WBBs6St8WrQH2tcwZ9yjQBfGe5gRxFIZ8cRdjDxQYTCoNEDiR0v3O2QYKdOpRgg6y
 SbaSs735VEZ9u0ixaWjVqYRW0WiQb2v5cfFQf4HtElp9/tc952Z6CXOoYs1Jzv76mKfx
 BEcZfoTTBK2NRDDcefRtdvCZFt8BmuzrxDookI65INlwqgtpVCl1C/JGzsahllqwHRos
 76GA==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730451498; x=1731056298;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=LObUMoIVo6re66vlnm3FPdoop9KGlbMT3uuQ4TpXYxY=;
 b=r++0nXWXgHNyCFljbJDGmbRxuFR1Vax2RErjxhWypWwA0f17U/nDGuthECSF2KjWl5
 rBoyubbRopObVc+WTJ/PNiSyyVnhu6aWeCZDiRuaXISY0VHhNmKnmkAzfLN5yGEmg4jk
 0z5aUehZcO+3YJnhLB0FtfNBQ0tt962y+lSQYgVaz2/VpdJ3zRHoQmL6RaYhy+tIlSRU
 Ax1wcx6AbrXF9L/J8XmXpIuOWPjnWxp0s/uTydrvQWZhSIHoTtryXtYE1bTEZ5ipPJEs
 8EKqoWR0qQxEN+j2QxWZgzP9brFnzYFZvr6hpB63xDF9nf+lvjJKxT6Yc31+aTFt36NT
 L7uw==
X-Gm-Message-State: AOJu0YzNAeVGGT8mW1CrWjPERZPBPnFxV/JTRTBZDFA/990KCuP/1Su6
 m8AKewyduNDUn1hT8/2Fx9IxX+WtJYdbDNS06/pKz1boJb0h5sfilnVMXAjrdbMQJdCvZzZZSN3
 WLKWG0SPySoz2JdesxeCbV8qsokg=
X-Google-Smtp-Source: AGHT+IFy6O8CZT7yTovxINPscr7E9RUmnk1V46Q6C8WWTks1/W4U5TCuCN+QqrzNduzurAmsXtNu7DQFRo+lPiCL428=
X-Received: by 2002:a05:6602:2cd0:b0:83a:7a19:1de0 with SMTP id
 ca18e2360f4ac-83b1c5cd847mr2718137239f.14.1730451498382; Fri, 01 Nov 2024
 01:58:18 -0700 (PDT)
MIME-Version: 1.0
References: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
 <86plnf9xqm.fsf@HIDDEN>
 <CAOA-32PM2Odp_vhd52Fo57=97OO228Hj=MJpf01bPQQ2t7dPFg@HIDDEN>
In-Reply-To: <CAOA-32PM2Odp_vhd52Fo57=97OO228Hj=MJpf01bPQQ2t7dPFg@HIDDEN>
From: Paul Nelson <ultrono@HIDDEN>
Date: Fri, 1 Nov 2024 09:58:07 +0100
Message-ID: <CAOA-32N1jNHDemBX=tz0GFnUs4X_WB9msCptNE-eKV2ng4wi6A@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
To: Juri Linkov <juri@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <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 Fri, Nov 1, 2024 at 9:29=E2=80=AFAM Paul Nelson <ultrono@HIDDEN> wrot=
e:
>
> On Fri, Nov 1, 2024 at 9:15=E2=80=AFAM Juri Linkov <juri@HIDDEN> wrot=
e:
> >
> > > For a command and its key in a repeat map:
> > > - "activate" means the command makes the repeat map active
> > > - "continue" means pressing the key keeps the repeat map active
> > >
> > > With this patch, the available directives are:
> > > :continue (default) - activates and continues
> > > :exit - neither activates nor continues
> > > :continue-only (new) - continues, but does not activate
> >
> > How does this map to the properties ':enter' and ':exit' of 'defvar-key=
map'?
>
> :exit has the same meaning in both.
>
> In defvar-keymap, :enter means "activate, but do not continue".

Another difference is that :enter from defvar-keymap does not actually
bind a key in the keymap, thus:

                  activate    continue     bind
:continue         yes         yes          yes
:continue-only    no          yes          yes
:exit             no          no           yes
:enter            yes         no           no

The ergonomics between the two macros are also quite different.




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 1 Nov 2024 08:30:40 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 01 04:30:40 2024
Received: from localhost ([127.0.0.1]:47840 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6n3I-000860-6A
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 04:30:40 -0400
Received: from mail-io1-f43.google.com ([209.85.166.43]:55336)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1t6n3F-00085u-UP
 for 74140 <at> debbugs.gnu.org; Fri, 01 Nov 2024 04:30:38 -0400
Received: by mail-io1-f43.google.com with SMTP id
 ca18e2360f4ac-83aae6aba1aso65377039f.2
 for <74140 <at> debbugs.gnu.org>; Fri, 01 Nov 2024 01:30:37 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730449772; x=1731054572; darn=debbugs.gnu.org;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:from:to:cc:subject:date
 :message-id:reply-to;
 bh=T4M7fgPMjGeHcpEuDLn6/HIcqCSm/e5Kha9IVZVMXt0=;
 b=j8+ct7QYboDUol5LZVhPeiQjYf9J4GPxc9v4xLdzzBwzfhCeeS/UBwk5MP4J//zHdj
 ijyWyrRqnDFF9pZEAG0l8fBWWF9g2XjuOEKzIxm7cc3yNndIMmbUL1EL/dgOzamAiNNZ
 0KXnMHUydcKpcyMknt+uQNGIlBlFBQL/znoJeOnknmQ7tVl6G3IDv03KRoeJ6YM5vYL9
 dhYiDD3FnqSMeoq5poYKZoF/xq8sMU5miTOGZwD2AsfPb9bJrLMEv/11aZpyfi4sUJfZ
 b+Hest4XN8z5nzwN8MrPqMndpuaZ5sewHkjeFSUiT5+mmXp+0CLWt1SPjgjD0LnutFux
 ySPw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730449772; x=1731054572;
 h=content-transfer-encoding:cc:to:subject:message-id:date:from
 :in-reply-to:references:mime-version:x-gm-message-state:from:to:cc
 :subject:date:message-id:reply-to;
 bh=T4M7fgPMjGeHcpEuDLn6/HIcqCSm/e5Kha9IVZVMXt0=;
 b=u8qRm8S3X3G8Q3M9iLCKhgk3yKy7UMEbwYJVG7LXVdNxv6ckNHMHYiRPpdFVJpEmgI
 ChOw0eq0t/ABzKJNUlPnYSImyM0vVhGkjBwLCxO5iLvjVaWLuVhgaEV3f+OGJIhVzVc1
 iu2fAqxH3nv5YPHhEohwg8nnjKhvI9yAfNswMzuZ6LtPZiiofIzTPjRXSV5wFCr14I0N
 giqQ4iDvGjuUNu6q9qsL7plh3IEjPVVCE4xOxPL3PjoSDTDXSWOJRr3q9WhgW22HdoJs
 slfQhMiYQNf/DLLTccDKqPgDIFeXcjk8Y0bSFvLzJjnK0mZEfofNAtY/Nmtd057HJcsg
 M5ug==
X-Gm-Message-State: AOJu0YwaZupkDu3b5X1ln/+A5t3H2i3kViiS1wSSbOwab4V4mjl2dkbD
 6xIEHA64VIoSxND7D9RnjeHDpSeeooQh3Tq+uaiWCG0KpRnq7+Pw/+/FFNEqdl3rr/G29jYFxri
 jUNMoEczKGfj0/pXZ3wLQ8vKH4HGbB+od
X-Google-Smtp-Source: AGHT+IH6shz7dwckROETjQYPeo3WRaiH1BjPJliDohNi0Xhr0zamw+B/JhdxPZlm1yn4lw/vj5bGD6ab8cqDKkA4Ke4=
X-Received: by 2002:a05:6602:3f84:b0:83a:aa8e:5f72 with SMTP id
 ca18e2360f4ac-83b71946bb3mr299614139f.4.1730449771918; Fri, 01 Nov 2024
 01:29:31 -0700 (PDT)
MIME-Version: 1.0
References: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
 <86plnf9xqm.fsf@HIDDEN>
In-Reply-To: <86plnf9xqm.fsf@HIDDEN>
From: Paul Nelson <ultrono@HIDDEN>
Date: Fri, 1 Nov 2024 09:29:20 +0100
Message-ID: <CAOA-32PM2Odp_vhd52Fo57=97OO228Hj=MJpf01bPQQ2t7dPFg@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
To: Juri Linkov <juri@HIDDEN>
Content-Type: text/plain; charset="UTF-8"
Content-Transfer-Encoding: quoted-printable
X-Spam-Score: 0.0 (/)
X-Debbugs-Envelope-To: 74140
Cc: 74140 <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 Fri, Nov 1, 2024 at 9:15=E2=80=AFAM Juri Linkov <juri@HIDDEN> wrote:
>
> > For a command and its key in a repeat map:
> > - "activate" means the command makes the repeat map active
> > - "continue" means pressing the key keeps the repeat map active
> >
> > With this patch, the available directives are:
> > :continue (default) - activates and continues
> > :exit - neither activates nor continues
> > :continue-only (new) - continues, but does not activate
>
> How does this map to the properties ':enter' and ':exit' of 'defvar-keyma=
p'?

:exit has the same meaning in both.

In defvar-keymap, :enter means "activate, but do not continue".




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.

Message received at 74140 <at> debbugs.gnu.org:


Received: (at 74140) by debbugs.gnu.org; 1 Nov 2024 08:16:22 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Fri Nov 01 04:16:22 2024
Received: from localhost ([127.0.0.1]:47741 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6mpS-0007as-0v
	for submit <at> debbugs.gnu.org; Fri, 01 Nov 2024 04:16:22 -0400
Received: from relay4-d.mail.gandi.net ([217.70.183.196]:48615)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <juri@HIDDEN>) id 1t6mpP-0007ah-EC
 for 74140 <at> debbugs.gnu.org; Fri, 01 Nov 2024 04:16:20 -0400
Received: by mail.gandi.net (Postfix) with ESMTPSA id F1CDBE0002;
 Fri,  1 Nov 2024 08:15:51 +0000 (UTC)
From: Juri Linkov <juri@HIDDEN>
To: Paul Nelson <ultrono@HIDDEN>
Subject: Re: bug#74140: [PATCH] Add :continue-only directive for repeat maps
 in bind-keys, use-package
In-Reply-To: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
 (Paul Nelson's message of "Thu, 31 Oct 2024 18:36:41 +0100")
Organization: LINKOV.NET
References: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
Date: Fri, 01 Nov 2024 09:54:41 +0200
Message-ID: <86plnf9xqm.fsf@HIDDEN>
User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/31.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: 74140
Cc: 74140 <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 (-)

> For a command and its key in a repeat map:
> - "activate" means the command makes the repeat map active
> - "continue" means pressing the key keeps the repeat map active
>
> With this patch, the available directives are:
> :continue (default) - activates and continues
> :exit - neither activates nor continues
> :continue-only (new) - continues, but does not activate

How does this map to the properties ':enter' and ':exit' of 'defvar-keymap'?




Information forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.
Severity set to 'wishlist' from 'normal' Request was from Stefan Kangas <stefankangas@HIDDEN> to control <at> debbugs.gnu.org. Full text available.

Message received at submit <at> debbugs.gnu.org:


Received: (at submit) by debbugs.gnu.org; 31 Oct 2024 17:37:01 +0000
From debbugs-submit-bounces <at> debbugs.gnu.org Thu Oct 31 13:37:01 2024
Received: from localhost ([127.0.0.1]:43312 helo=debbugs.gnu.org)
	by debbugs.gnu.org with esmtp (Exim 4.84_2)
	(envelope-from <debbugs-submit-bounces <at> debbugs.gnu.org>)
	id 1t6Z6T-0000Qr-AZ
	for submit <at> debbugs.gnu.org; Thu, 31 Oct 2024 13:37:01 -0400
Received: from lists.gnu.org ([209.51.188.17]:46192)
 by debbugs.gnu.org with esmtp (Exim 4.84_2)
 (envelope-from <ultrono@HIDDEN>) id 1t6Z6Q-0000Qk-PO
 for submit <at> debbugs.gnu.org; Thu, 31 Oct 2024 13:37:00 -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 <ultrono@HIDDEN>) id 1t6Z6P-0004Ll-NT
 for bug-gnu-emacs@HIDDEN; Thu, 31 Oct 2024 13:36:58 -0400
Received: from mail-io1-xd34.google.com ([2607:f8b0:4864:20::d34])
 by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128)
 (Exim 4.90_1) (envelope-from <ultrono@HIDDEN>) id 1t6Z6O-00058K-0s
 for bug-gnu-emacs@HIDDEN; Thu, 31 Oct 2024 13:36:57 -0400
Received: by mail-io1-xd34.google.com with SMTP id
 ca18e2360f4ac-83ac05206c9so42894839f.3
 for <bug-gnu-emacs@HIDDEN>; Thu, 31 Oct 2024 10:36:54 -0700 (PDT)
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=gmail.com; s=20230601; t=1730396213; x=1731001013; darn=gnu.org;
 h=to:subject:message-id:date:from:mime-version:from:to:cc:subject
 :date:message-id:reply-to;
 bh=dV0aaicxuxCOORWtJxMBzt0IytB52QduLDKenWVQvU8=;
 b=XmoHEP7PTaj8x07ce9E9H4nfZ+o22TtUIr0VBQzmy8fpgD1WmDo0R4rjWIdX49KiKw
 AUvoqCXzGTYL12cRtGKDC2w4rOarmZsOIXPoItRpM90fyU45NLe0zwwImDWCZC6KH1Dm
 wkoM4xZwOaxrT74dz2ESquwyLynrj4WJToB0WthFrqEhVl2XI2K4V2Mhkm7TgpYjZ68U
 iunLG+396UKjHNGPJrIhYQsR7WKybpCy98Bq9a8SmxnI0nUFV440hp2Z8XExOkFxZhog
 6UAFxbSyLMbp6WTzoA09pxOBPs+NuuHddquIoTUpYGqm5/ofwHzE4MKGALNyPBC8vVX+
 Htlw==
X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed;
 d=1e100.net; s=20230601; t=1730396213; x=1731001013;
 h=to:subject:message-id:date:from:mime-version:x-gm-message-state
 :from:to:cc:subject:date:message-id:reply-to;
 bh=dV0aaicxuxCOORWtJxMBzt0IytB52QduLDKenWVQvU8=;
 b=btO/36tF2Qbbz4tIqigdf9Ff2l8Cm500d/OThyRIz8JWTRHKuaUu7L28vKvMf9HKJV
 VrgBV86jG9fEToACTli8kcevcRuHANz0wN/uM8jQZh+dOofa6Pv669PcrcFt5GfAP6Ee
 qBceL46SvuvlUYgdCu3Zx3lDVBlGBe4Wegdaj744Mj+SO3iI640G9WOP7XRWp2NBUdx5
 tzpdsvjtLfWkgN8Bpz96oRGvtPDsABhcCMK+8Erifqnp8FS7OJU+A+Pr0WaPXXmBkZ2x
 1zV9SwLJbHZnFxIo5SpXbfx+R1fZ2CYuc+FISRtq4i62j7b8LIhM9mwD4M1EoUjaf+Ek
 uoTQ==
X-Gm-Message-State: AOJu0YxcNH18scn7rK8KfDz3tzOOKBlkaK7N149fNZ/+ESnT3P/Brk1K
 UJTsy2bzIleoKzzIRK1C+hTmMf0JFZCS1tZWpGpDcv1Ur5LX93VOBcWCvNsa4rMgdXzT5ILmux0
 kg0TdsJscLJa32iciKbfjdqWZ8uZ6sA==
X-Google-Smtp-Source: AGHT+IG0U3uPI35Q/Z23IXGXLv4zznNrxfX8uFoCWq1PsuGAYATG0Fe4+hMItiQJ0qUVFheHfhG9yEKVfhhiWsS0Nc8=
X-Received: by 2002:a05:6602:13d3:b0:83a:b8aa:ec0 with SMTP id
 ca18e2360f4ac-83b71a1722cmr55328439f.13.1730396213121; Thu, 31 Oct 2024
 10:36:53 -0700 (PDT)
MIME-Version: 1.0
From: Paul Nelson <ultrono@HIDDEN>
Date: Thu, 31 Oct 2024 18:36:41 +0100
Message-ID: <CAOA-32PgrONLtJWnrL=L_fdPaRcakH41egitjYozp6Xheq9WOQ@HIDDEN>
Subject: [PATCH] Add :continue-only directive for repeat maps in bind-keys,
 use-package
To: bug-gnu-emacs@HIDDEN
Content-Type: multipart/mixed; boundary="0000000000009abe530625c94330"
Received-SPF: pass client-ip=2607:f8b0:4864:20::d34;
 envelope-from=ultrono@HIDDEN; helo=mail-io1-xd34.google.com
X-Spam_score_int: -20
X-Spam_score: -2.1
X-Spam_bar: --
X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1,
 DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001,
 RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001,
 SPF_PASS=-0.001 autolearn=ham autolearn_force=no
X-Spam_action: no action
X-Spam-Score: -1.3 (-)
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: -2.3 (--)

--0000000000009abe530625c94330
Content-Type: text/plain; charset="UTF-8"

For a command and its key in a repeat map:
- "activate" means the command makes the repeat map active
- "continue" means pressing the key keeps the repeat map active

With this patch, the available directives are:
:continue (default) - activates and continues
:exit - neither activates nor continues
:continue-only (new) - continues, but does not activate

A similar feature has been available for many years in the package
https://tildegit.org/acdw/define-repeat-map.el.  The inclusion here
was motivated by the discussions at
https://github.com/jwiegley/use-package/issues/964 and
https://github.com/jwiegley/use-package/pull/974.

A basic example indicating why this might be useful:

(bind-keys
 :repeat-map paragraph-repeat-map
 :continue
 ("]" . forward-paragraph)
 ("}" . forward-paragraph)
 ("[" . backward-paragraph)
 ("{" . backward-paragraph)
 ("k" . kill-paragraph)
 :continue-only
 ;; These commands will be available during paragraph manipulation
 ;; but won't activate paragraph-repeat-map themselves
 ("y" . yank)
 ("C-/" . undo))

Or equivalently, with use-package:

(use-package emacs
  :ensure nil
  :bind
  (:repeat-map
   paragraph-repeat-map
   ("]" . forward-paragraph)
   ("}" . forward-paragraph)
   ("[" . backward-paragraph)
   ("{" . backward-paragraph)
   ("k" . kill-paragraph)
   :continue-only
   ;; These commands will be available during paragraph manipulation
   ;; but won't activate paragraph-repeat-map themselves
   ("y" . yank)
   ("C-/" . undo)))

--0000000000009abe530625c94330
Content-Type: application/x-patch; 
	name="0001-Add-continue-only-directive-to-bind-keys-and-use-pac.patch"
Content-Disposition: attachment; 
	filename="0001-Add-continue-only-directive-to-bind-keys-and-use-pac.patch"
Content-Transfer-Encoding: base64
Content-ID: <f_m2xl6baj0>
X-Attachment-Id: f_m2xl6baj0

RnJvbSA5NmIwZjBiNjJkNTY4NGViZDM2YTRlMzcxM2U5Y2VhYTk2ODE1NTdlIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBQYXVsIE5lbHNvbiA8dWx0cm9ub0BnbWFpbC5jb20+CkRhdGU6
IFRodSwgMzEgT2N0IDIwMjQgMTM6NTU6NDkgKzAxMDAKU3ViamVjdDogW1BBVENIXSBBZGQgOmNv
bnRpbnVlLW9ubHkgZGlyZWN0aXZlIHRvIGJpbmQta2V5cyBhbmQgdXNlLXBhY2thZ2UKCiogbGlz
cC9iaW5kLWtleS5lbCAoYmluZC1rZXktLW1ha2UtY29udGludWUtYWxpYXMpOiBOZXcgZnVuY3Rp
b24uCihiaW5kLWtleXMtZm9ybSk6IFVzZSBpdC4gIEFkZCA6Y29udGludWUtb25seSBiaW5kaW5n
LgoKKiBsaXNwL3VzZS1wYWNrYWdlL3VzZS1wYWNrYWdlLWJpbmQta2V5LmVsCih1c2UtcGFja2Fn
ZS1ub3JtYWxpemUtYmluZGVyKTogQWRkIGNoZWNrIGZvciA6Y29udGludWUtb25seS4KLS0tCiBs
aXNwL2JpbmQta2V5LmVsICAgICAgICAgICAgICAgICAgICAgICAgIHwgMjggKysrKysrKysrKysr
KysrKy0tLS0tLS0tCiBsaXNwL3VzZS1wYWNrYWdlL3VzZS1wYWNrYWdlLWJpbmQta2V5LmVsIHwg
IDUgKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgMjEgaW5zZXJ0aW9ucygrKSwgMTIgZGVsZXRpb25z
KC0pCgpkaWZmIC0tZ2l0IGEvbGlzcC9iaW5kLWtleS5lbCBiL2xpc3AvYmluZC1rZXkuZWwKaW5k
ZXggNzgwMzE0ZmVjYmQuLjE2YTRiNDYxNjBhIDEwMDY0NAotLS0gYS9saXNwL2JpbmQta2V5LmVs
CisrKyBiL2xpc3AvYmluZC1rZXkuZWwKQEAgLTI2Niw2ICsyNjYsMTAgQEAgYmluZC1rZXkqCiAg
ICJTaW1pbGFyIHRvIGBiaW5kLWtleScsIGJ1dCBvdmVycmlkZXMgYW55IG1vZGUtc3BlY2lmaWMg
YmluZGluZ3MuIgogICBgKGJpbmQta2V5ICxrZXktbmFtZSAsY29tbWFuZCBvdmVycmlkZS1nbG9i
YWwtbWFwICxwcmVkaWNhdGUpKQogCisoZGVmdW4gYmluZC1rZXktLW1ha2UtY29udGludWUtYWxp
YXMgKGNtZCBtYXApCisgICJNYWtlIGFuIGFsaWFzIGZvciBDTUQgdGhhdCBjYW4gY29udGludWUg
TUFQIGJ1dCBub3QgZW50ZXIgaXQuIgorICAoaW50ZXJuIChjb25jYXQgKHN5bWJvbC1uYW1lIGNt
ZCkgInwiIChzeW1ib2wtbmFtZSBtYXApKSkpCisKIChkZWZ1biBiaW5kLWtleXMtZm9ybSAoYXJn
cyBrZXltYXApCiAgICJCaW5kIG11bHRpcGxlIGtleXMgYXQgb25jZS4KIApAQCAtMjkwLDYgKzI5
NCwxMCBAQCBiaW5kLWtleXMtZm9ybQogICAgICAgICAgICAgICAgICAgICAgICAgIHNhbWUgYmVo
YXZpb3IgYXMgaWYgbm8gc3BlY2lhbCBrZXl3b3JkIGhhZAogICAgICAgICAgICAgICAgICAgICAg
ICAgIGJlZW4gdXNlZCAodGhhdCBpcywgdGhlIGNvbW1hbmQgaXMgYm91bmQsIGFuZAogICAgICAg
ICAgICAgICAgICAgICAgICAgIGl0J3MgYHJlcGVhdC1tYXAnIHByb3BlcnR5IHNldCkKKzpjb250
aW51ZS1vbmx5IEJJTkRJTkdTIC0gV2l0aGluIHRoZSBzY29wZSBvZiBgOnJlcGVhdC1tYXAnIHdp
bGwgYmluZCBhbgorICAgICAgICAgICAgICAgICAgICAgICAgIGFsaWFzIG9mIHRoZSBjb21tYW5k
IGluIHRoZSByZXBlYXQgbWFwLCBidXQgbm90CisgICAgICAgICAgICAgICAgICAgICAgICAgc2V0
IHRoZSBgcmVwZWF0LW1hcCcgcHJvcGVydHkgb2YgdGhlIG9yaWdpbmFsCisgICAgICAgICAgICAg
ICAgICAgICAgICAgY29tbWFuZC4KIDpmaWx0ZXIgRk9STSAgICAgICAgICAgLSBvcHRpb25hbCBm
b3JtIHRvIGRldGVybWluZSB3aGVuIGJpbmRpbmdzIGFwcGx5CiAKIFRoZSByZXN0IG9mIHRoZSBh
cmd1bWVudHMgYXJlIGNvbnNlcyBvZiBrZXliaW5kaW5nIHN0cmluZyBhbmQgYQpAQCAtMzI1LDEx
ICszMzMsOCBAQCBiaW5kLWtleXMtZm9ybQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICBvdmVycmlkZS1nbG9iYWwtbWFwKSkpKQogICAgICAgICAgICAgICAgICAgIChz
ZXRxIHJlcGVhdC1tYXAgKGNhZHIgYXJncykpCiAgICAgICAgICAgICAgICAgICAgKHNldHEgbWFw
IHJlcGVhdC1tYXApKQotICAgICAgICAgICAgICAgICAgKChlcSA6Y29udGludWUgKGNhciBhcmdz
KSkKLSAgICAgICAgICAgICAgICAgICAoc2V0cSByZXBlYXQtdHlwZSA6Y29udGludWUKLSAgICAg
ICAgICAgICAgICAgICAgICAgICBhcmctY2hhbmdlLWZ1bmMgJ2NkcikpCi0gICAgICAgICAgICAg
ICAgICAoKGVxIDpleGl0IChjYXIgYXJncykpCi0gICAgICAgICAgICAgICAgICAgKHNldHEgcmVw
ZWF0LXR5cGUgOmV4aXQKKyAgICAgICAgICAgICAgICAgICgobWVtcSAoY2FyIGFyZ3MpICcoOmNv
bnRpbnVlIDpjb250aW51ZS1vbmx5IDpleGl0KSkKKyAgICAgICAgICAgICAgICAgICAoc2V0cSBy
ZXBlYXQtdHlwZSAoY2FyIGFyZ3MpCiAgICAgICAgICAgICAgICAgICAgICAgICAgYXJnLWNoYW5n
ZS1mdW5jICdjZHIpKQogICAgICAgICAgICAgICAgICAgKChlcSA6cHJlZml4IChjYXIgYXJncykp
CiAgICAgICAgICAgICAgICAgICAgKHNldHEgcHJlZml4IChjYWRyIGFyZ3MpKSkKQEAgLTM0OCw3
ICszNTMsNyBAQCBiaW5kLWtleXMtZm9ybQogCiAgICAgKHdoZW4gcmVwZWF0LXR5cGUKICAgICAg
ICh1bmxlc3MgcmVwZWF0LW1hcAotICAgICAgICAoZXJyb3IgIjpjb250aW51ZSBhbmQgOmV4aXQg
cmVxdWlyZSBzcGVjaWZ5aW5nIDpyZXBlYXQtbWFwIikpKQorICAgICAgICAoZXJyb3IgIjpjb250
aW51ZSgtb25seSkgYW5kIDpleGl0IHJlcXVpcmUgc3BlY2lmeWluZyA6cmVwZWF0LW1hcCIpKSkK
IAogICAgICh3aGVuIChhbmQgbWVudS1uYW1lIChub3QgcHJlZml4KSkKICAgICAgIChlcnJvciAi
SWYgOm1lbnUtbmFtZSBpcyBzdXBwbGllZCwgOnByZWZpeCBtdXN0IGJlIHRvbyIpKQpAQCAtNDAx
LDkgKzQwNiwxNCBAQCBiaW5kLWtleXMtZm9ybQogICAgICAgICAgICAgICAgICAgICAgICAgICA7
OyBPbmx5IG5lZWRlZCBpbiB0aGlzIGJyYW5jaCwgc2luY2Ugd2hlbgogICAgICAgICAgICAgICAg
ICAgICAgICAgICA7OyByZXBlYXQtbWFwIGlzIG5vbi1uaWwsIG1hcCBpcyBhbHdheXMKICAgICAg
ICAgICAgICAgICAgICAgICAgICAgOzsgbm9uLW5pbAotICAgICAgICAgICAgICAgICAgICAgICAg
ICBgKCxAKHdoZW4gKGFuZCByZXBlYXQtbWFwIChub3QgKGVxIHJlcGVhdC10eXBlIDpleGl0KSkp
Ci0gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKHB1dCAsZnVuICdyZXBlYXQtbWFw
ICcscmVwZWF0LW1hcCkpKQotICAgICAgICAgICAgICAgICAgICAgICAgICAgIChiaW5kLWtleSAs
KGNhciBmb3JtKSAsZnVuICxtYXAgLGZpbHRlcikpCisgICAgICAgICAgICAgICAgICAgICAgICAg
IChpZiAoZXEgcmVwZWF0LXR5cGUgOmNvbnRpbnVlLW9ubHkpCisgICAgICAgICAgICAgICAgICAg
ICAgICAgICAgICAobGV0ICgoYWxpYXMgKGJpbmQta2V5LS1tYWtlLWNvbnRpbnVlLWFsaWFzIChj
ZHIgZm9ybSkgbWFwKSkpCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGAoKGRlZmFs
aWFzICcsYWxpYXMgLGZ1bikKKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHV0
ICcsYWxpYXMgJ3JlcGVhdC1tYXAgJyxtYXApCisgICAgICAgICAgICAgICAgICAgICAgICAgICAg
ICAgICAgKGJpbmQta2V5ICwoY2FyIGZvcm0pICcsYWxpYXMgLG1hcCAsZmlsdGVyKSkpCisgICAg
ICAgICAgICAgICAgICAgICAgICAgICAgYCgsQCh3aGVuIChhbmQgcmVwZWF0LW1hcCAobm90IChl
cSByZXBlYXQtdHlwZSA6ZXhpdCkpKQorICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg
IGAoKHB1dCAsZnVuICdyZXBlYXQtbWFwICcscmVwZWF0LW1hcCkpKQorICAgICAgICAgICAgICAg
ICAgICAgICAgICAgICAgKGJpbmQta2V5ICwoY2FyIGZvcm0pICxmdW4gLG1hcCAsZmlsdGVyKSkp
CiAgICAgICAgICAgICAgICAgICAgICAgICBgKChiaW5kLWtleSAsKGNhciBmb3JtKSAsZnVuIG5p
bCAsZmlsdGVyKSkpKSkpCiAgICAgICAgICAgICAgICAgZmlyc3QpKQogICAgICAgICAgKHdoZW4g
bmV4dApkaWZmIC0tZ2l0IGEvbGlzcC91c2UtcGFja2FnZS91c2UtcGFja2FnZS1iaW5kLWtleS5l
bCBiL2xpc3AvdXNlLXBhY2thZ2UvdXNlLXBhY2thZ2UtYmluZC1rZXkuZWwKaW5kZXggMThjM2Yy
OWNmMzQuLjk3MzMxMjc0MTNiIDEwMDY0NAotLS0gYS9saXNwL3VzZS1wYWNrYWdlL3VzZS1wYWNr
YWdlLWJpbmQta2V5LmVsCisrKyBiL2xpc3AvdXNlLXBhY2thZ2UvdXNlLXBhY2thZ2UtYmluZC1r
ZXkuZWwKQEAgLTg4LDE0ICs4OCwxMyBAQCB1c2UtcGFja2FnZS1ub3JtYWxpemUtYmluZGVyCiAg
ICAgICAgICA7OyAgIDpmaWx0ZXIgU0VYUAogICAgICAgICAgOzsgICA6bWVudS1uYW1lIFNUUklO
RwogICAgICAgICAgOzsgICA6cGFja2FnZSBTWU1CT0wKLQkgOzsgICA6Y29udGludWUgYW5kIDpl
eGl0IGFyZSB1c2VkIHdpdGhpbiA6cmVwZWF0LW1hcAorCSA7OyAgIDpjb250aW51ZSgtb25seSkg
YW5kIDpleGl0IGFyZSB1c2VkIHdpdGhpbiA6cmVwZWF0LW1hcAogICAgICAgICAgKChvciAoYW5k
IChlcSB4IDptYXApIChzeW1ib2xwIChjYWRyIGFyZykpKQogICAgICAgICAgICAgICAoYW5kIChl
cSB4IDpwcmVmaXgpIChzdHJpbmdwIChjYWRyIGFyZykpKQogICAgICAgICAgICAgICAoYW5kIChl
cSB4IDpwcmVmaXgtbWFwKSAoc3ltYm9scCAoY2FkciBhcmcpKSkKICAgICAgICAgICAgICAgKGFu
ZCAoZXEgeCA6cHJlZml4LWRvY3N0cmluZykgKHN0cmluZ3AgKGNhZHIgYXJnKSkpCiAJICAgICAg
KGFuZCAoZXEgeCA6cmVwZWF0LW1hcCkgKHN5bWJvbHAgKGNhZHIgYXJnKSkpCi0JICAgICAgKGVx
IHggOmNvbnRpbnVlKQotCSAgICAgIChlcSB4IDpleGl0KQorCSAgICAgIChtZW1xIHggJyg6Y29u
dGludWUgOmNvbnRpbnVlLW9ubHkgOmV4aXQpKQogICAgICAgICAgICAgICAoYW5kIChlcSB4IDpy
ZXBlYXQtZG9jc3RyaW5nKSAoc3RyaW5ncCAoY2FkciBhcmcpKSkKICAgICAgICAgICAgICAgKGVx
IHggOmZpbHRlcikKICAgICAgICAgICAgICAgKGFuZCAoZXEgeCA6bWVudS1uYW1lKSAoc3RyaW5n
cCAoY2FkciBhcmcpKSkKLS0gCjIuMzkuMyAoQXBwbGUgR2l0LTE0NSkKCg==
--0000000000009abe530625c94330--




Acknowledgement sent to Paul Nelson <ultrono@HIDDEN>:
New bug report received and forwarded. Copy sent to bug-gnu-emacs@HIDDEN. Full text available.
Report forwarded to bug-gnu-emacs@HIDDEN:
bug#74140; Package emacs. Full text available.
Please note: This is a static page, with minimal formatting, updated once a day.
Click here to see this page with the latest information and nicer formatting.
Last modified: Sun, 12 Jan 2025 05:45:02 UTC

GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997 nCipher Corporation Ltd, 1994-97 Ian Jackson.