[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[nongnu] elpa/devil c60437c11b 39/49: Support making all key sequences r
|
From: |
ELPA Syncer |
|
Subject: |
[nongnu] elpa/devil c60437c11b 39/49: Support making all key sequences repeatable |
|
Date: |
Mon, 15 May 2023 12:59:34 -0400 (EDT) |
branch: elpa/devil
commit c60437c11b3b76c6709dab63a34a94b35ac4c865
Author: Susam Pal <susam@susam.net>
Commit: Susam Pal <susam@susam.net>
Support making all key sequences repeatable
---
devil.el | 26 +++++++++++++++++++++++---
1 file changed, 23 insertions(+), 3 deletions(-)
diff --git a/devil.el b/devil.el
index a50b503e19..5440139b6d 100644
--- a/devil.el
+++ b/devil.el
@@ -85,7 +85,7 @@ be modified before loading Devil for it to take effect.")
(devil-mode 1))
(defcustom devil-logging nil
- "Non-nil if and only if Devil should print log messages."
+ "Non-nil iff Devil should print log messages."
:type 'boolean)
(defvar devil-special-keys
@@ -134,9 +134,28 @@ to represent `devil-key' in the keys."
The value of this variable is a list where each item represents a
key sequence that may be repeated merely by typing the last
character in the key sequence. The format control specified `%k'
-may be used to represent `devil-key' in the keys."
+may be used to represent `devil-key' in the keys. Only key
+sequences that translate to a complete Emacs key sequence
+according to `devil-translations' and execute an Emacs command
+are made repeatable. Key sequences that belong to
+`devil-special-keys' are never made repeatable. Note that this
+variable is ignored if `devil-all-keys-repeatable' is set to t."
:type '(repeat string))
+(defcustom devil-all-keys-repeatable nil
+ "All successfully translated key sequences become repeatable iff t.
+
+When this variable is set to t all key sequences that translate
+to a complete and defined Emacs key sequence become a repeatable
+key sequence, i.e., it can be repeated merely by typing the last
+character in the key sequence. Note that key sequences that
+belong to `devil-special-keys' are never made repeatable. Also,
+note that when this variable is set to t, the variable
+`devil-repeatable-keys' is ignored. However when this variable
+is set to nil, the variable `devil-repeatable-keys' is used to
+determine whether a key sequence is repeatable or not."
+ :type 'boolean)
+
(defun devil-run-key (key)
"Execute the given key sequence KEY.
@@ -277,7 +296,8 @@ sequences should be read from the user."
(devil--log "Executing key: %s => %s => %s"
described-key translated-key binding)
(call-interactively binding)
- (when (devil--repeatable-key-p described-key)
+ (when (or devil-all-keys-repeatable
+ (devil--repeatable-key-p described-key))
(devil--set-transient-map (substring described-key -1) binding))
t)
(t
- [nongnu] elpa/devil 1cf89ce338 11/49: Add yank-pop as a repeatable command, (continued)
- [nongnu] elpa/devil 1cf89ce338 11/49: Add yank-pop as a repeatable command, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 402dcfd7fb 13/49: Fix repeatable key sequence for yank-pop, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil ef5449deda 16/49: Add kill-line and undo to repeatable keys, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 02464b7516 18/49: Explain why a single activation key is the default, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 4b1eba8a1c 24/49: Add stricter validation of translated key sequence, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 6943ff3e82 28/49: Remove custom version command., ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 459ce032e4 32/49: * devil.el (devil--log-command-loop-info): Use a single 'format', ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil fa6eb0a319 33/49: Move tests to separate file using ERT, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 355bcc9c14 34/49: Extract most of the README into a separate manual, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 79fd50fe22 36/49: Set version to 0.3.0, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil c60437c11b 39/49: Support making all key sequences repeatable,
ELPA Syncer <=
- [nongnu] elpa/devil f6ddd7cac1 38/49: Fix undefined error for RET, <f10>, etc., ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 72ce585e59 42/49: Document devil-all-keys-repeatable in the manual, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 305a41dc55 45/49: Add MELPA badges, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 2fe542cbc6 46/49: Mention Emacs at the beginning of documentation, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil b84cd61eec 40/49: Format .org files consistently, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil a42a778ec3 43/49: Add devil-all-keys-repeatable to changelog, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 1ddc4dc2e3 44/49: Fix key translation for key vector as Devil key, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil fbc422c666 20/49: Add steps to install Devil from MELPA, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 2090eb34f4 21/49: Move configuration examples to subsections, ELPA Syncer, 2023/05/15
- [nongnu] elpa/devil 92b95191ca 25/49: Remove demo files, ELPA Syncer, 2023/05/15