GNU bug report logs - #58799
Make winner key sequences repeatable in repeat-mode

Previous Next

Package: emacs;

Reported by: Damien Cassou <damien <at> cassou.me>

Date: Wed, 26 Oct 2022 15:02:03 UTC

Severity: normal

Tags: patch

Fixed in version 29.1

Done: Stefan Kangas <stefankangas <at> gmail.com>

Bug is archived. No further changes may be made.

Full log


View this message in rfc822 format

From: Robert Pluim <rpluim <at> gmail.com>
To: Stefan Kangas <stefankangas <at> gmail.com>
Cc: Damien Cassou <damien <at> cassou.me>, Lars Ingebrigtsen <larsi <at> gnus.org>, 58799 <at> debbugs.gnu.org
Subject: bug#58799: Make winner key sequences repeatable in repeat-mode
Date: Thu, 27 Oct 2022 15:38:17 +0200
>>>>> On Thu, 27 Oct 2022 05:31:21 -0700, Stefan Kangas <stefankangas <at> gmail.com> said:

    Stefan> Robert Pluim <rpluim <at> gmail.com> writes:
    >> (defvar-keymap winner-repeat-map
    >> :doc "Keymap to repeat winner key sequences.  Used in `repeat-mode'."
    >> <left> #'winner-undo
    >> <right> #'winner-redo)
    >> 
    >> (but you can stick them in a .el file)

    Stefan> Hmm, right.  I think that's a bug though, because when loading such a
    Stefan> .elc file I get:

    Stefan> keymap--check: [left] is not a valid key definition; see ‘key-valid-p’

    Stefan> So we should probably make sure that the `defvar-keymap' macro errors
    Stefan> out.

Thatʼs easy enough (putting it in `define-keymap' would bring out the
backwards-compatibility police, I think). Probably needs an update to
the `defvar-keymap' docstring as well.

Robert
-- 

diff --git a/lisp/keymap.el b/lisp/keymap.el
index 107565590c..73a9e657fe 100644
--- a/lisp/keymap.el
+++ b/lisp/keymap.el
@@ -581,6 +581,10 @@ defvar-keymap
         (setq key (pop defs))
         (pop defs)
         (when (not (eq key :menu))
+          (when (not (key-valid-p key))
+            (error
+             "Invalid key '%s' in keymap '%s' (see `key-valid-p')"
+             key variable-name))
           (if (member key seen-keys)
               (error "Duplicate definition for key '%s' in keymap '%s'"
                      key variable-name)




This bug report was last modified 2 years and 206 days ago.

Previous Next


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