- Repeatable key sequence
, m e
. - Repeatable key sequence
, x u
. - Repeatable key sequence group for
, m @
and, m h
. - Repeatable key sequence group for
, x [
and, x ]
. - Repeatable key sequence group for
, x ^
and, x {
and, x }
. - Repeatable key sequences
, a
and, e
added to group for, p
. - Repeatable key sequences
, m a
and, m e
added to group for, m b
.
- Support for repeatable key groups. When a Devil key sequence in a repeatable group is typed, then that key sequence or any another key sequence in the same group can be executed and repeated merely by typing the last character of that key sequence.
- Repeatable key groups defined in
devil-repeatable-keys
is not ignored anymore whendevil-all-keys-repeatable
is set to non-nil. - Devil key sequences
, p
and, n
and, b
and, f
have been grouped together into a repeatable key group. - Devil key sequences
, m f
and, m b
have been grouped together into a repeatable key group.
- Prevent special key sequences from being repeatable.
- Devil key sequence
, m
now translates toM-
instead ofC-M-
. - Devil key sequence
, m z
now translates toM-
instead ofC-M-
. - Devil key sequence
, m ,
now translates toM-,
instead ofC-M-,
. - Devil key sequence
, m m
now translates toC-M-
instead ofM-
. - Repeatable key sequence
, m m f
changed to, m f
. - Repeatable key sequence
, m m b
changed to, m b
. - Repeatable key sequence
, m m y
changed to, m y
. - Repeatable key sequence
, m m ^
changed to, m ^
.
- Devil key translation from
m z
toM-
. - Devil key translation from
m m
tom
. - Devil key translation from
m
toM-
.
- Function
devil-set-key
to set a new Devil key and update the mode’s keymap. - Reinstate variable
devil-version
since it is useful in determining the source version conveniently. It helps during troubleshooting the package when installed from MELPA which sets the package version to a version derived from the current date and time. - Command
devil-describe-key
to describe Devil key sequences. - Command
devil-toggle-logging
to toggle logging. - Special key
, h , k
to executedevil-describe-key
. - Special key
, h , l
to executedevil-toggle-logging
.
- Customising
devil-key
also updates the mode’s keymap. - When no binding exists for the translated key sequence, convert the
key sequence to a fallback key sequence for terminal Emacs according
to
local-function-key-map
and execute any command bound to the fallback key sequence. For example, when the Devil key sequence, x <tab>
is converted toC-x <tab>
, since no command is bound to this key sequence, it is further translated toC-x TAB
and the commandindent-rigidly
bound to it is executed. - Format control sequence to show the Devil key sequence read by Devil
has changed from
%k
to%r
. - The default special key sequences no longer merely insert literal
characters into the buffer. That behaviour was problematic in
isearch-mode
because typing special keys like, ,
and, SPC
inisearch-mode
inserted the literal characters in the buffer as opposed to appending these characters to the search pattern. The default special key sequences now invokedevil-execute-key
instead which carefully look up the current binding for the current special key and executes it. This produces the correct behaviour of special keys even inisearch-mode
.
- Fix special key sequence
, <return>
which was broken by the previous release of version 0.4.0. - Fix special key
, ,
inisearch-mode
.
- Customisable variable
devil-all-keys-repeatable
that makes all Devil key sequences repeatable when set tot
. - Key
, s
to the default list of repeatable keys. - Key
, d
to the default list of repeatable keys. - Key
, m m ^
to the default list of repeatable keys. - Translate
m m
tom
to support typing key sequences likeC-c m
. - Translate
m z
toM-
to support typing key sequences likeC-c M-m
andC-M-m
.
- When a Devil key sequence translates to an Emacs key sequence with
both the control key and an uppercase letter, the uppercase letter
is further translated to its shifted form, e.g.,
C-M-V
is translated toC-M-S-v
.
- Fix key translation when the Devil key is a key vector, e.g.,
(kbd "<left>")
- Fix key translation of key sequences involving function keys, e.g.,
, <tab>
,, <backspace>
, etc. For example, earlier, <tab>
translated toC-TAB
and caused “undefined” error even if there was a command bound toC-<tab>
. With this fix,, <tab>
is now translated toC-<tab>
and invokes the command bound to it, if any.
- Add customisation group
devil
.
- Move tests out to a separate file.
- Fix spacing in documentation strings.
- Remove
devil-version
anddevil-show-version
.
- Key
, k
to the default list of repeatable keys. - Key
, /
to the default list of repeatable keys. - Key
, m m y
to the default list of repeatable keys. - Command
devil-show-version
to display Devil version.
- Automatically detect the activation key and accumulate it in order to
support
devil-mode-map
with multiple activation keys.
- Remove a stray
message
call. - Make the function
dev--tests
non-interactive. - Translation issue that caused invalid Emacs key sequences on mapping
-
. For example, mapping-
toC-x
and typing- C-f
producedC-x CC-xf
. This has been fixed so that- C-f
is now translated toC-x C-f
.
- Devil global and local minor modes.
- Default Devil key set to the comma (
,
). - Special key
, ,
to type a literal comma. - Special key
, SPC
to type a comma followed by a space. - Special key
, RET
to type a comma followed by return. - Translation rules that translate
,
and, z
toC-
. - Translation rules that translate
m
and, m m
toM-
. - Translation rule that translates
, ,
to,
. - Repeatable key sequences for
, p
,, n
,, f
,, b
,, m m f
,, m m b
, and, m x o
. - Key binding for
isearch-mode-map
to support Devil key sequences in incremental search. - Key binding for
universal-argument-map
to support repeating the universal argument withu
.