|author||Sean Whitton <firstname.lastname@example.org>||2022-04-21 13:58:16 -0700|
|committer||Sean Whitton <email@example.com>||2022-04-21 13:58:16 -0700|
add transient-cycles to most recent entry
Diffstat (limited to 'blog/entry/apr22emacs.mdwn')
1 files changed, 18 insertions, 3 deletions
diff --git a/blog/entry/apr22emacs.mdwn b/blog/entry/apr22emacs.mdwn
index 6e84cc7..8f8b9e0 100644
@@ -1,9 +1,9 @@
[[!meta title="Recent additions I've made to GNU Emacs"]]
[[!tag tech Emacs]]
-Here are a few new features I've added to upstream GNU Emacs recently. Text
-is adapted from the in-tree documentation I wrote for the new features.
-Thanks to everyone who offered feedback on my patches.
+Here are a few new features I've added to GNU ELPA and upstream GNU Emacs
+recently. Text is adapted from the in-tree documentation I wrote for the new
+features. Thanks to everyone who offered feedback on my patches.
# New feature to easily bypass Eshell's own pipelining
@@ -59,3 +59,18 @@ to `defmacro`, `defmacro!`, which is just the same as `defmacro` except that
it builds in a facilty equivalent to `cl-with-gensyms` and `cl-once-only`.
I've long wanted to have these macros available in core Emacs Lisp, too, and
now they are.
+# New package on GNU ELPA: transient-cycles
+Many commands can be conceptualised as selecting an item from an ordered list
+or ring. Sometimes after running such a command, you find that the item
+selected is not the one you would have preferred, but the preferred item is
+nearby in the list. If the command has been augmented with transient cycling,
+then it finishes by setting a transient map with keys to move backwards and
+forwards in the list of items, so you can select a nearby item instead of the
+one the command selected. From the point of view of commands subsequent to
+the deactivation of the transient map, it is as though the first command
+actually selected the nearby item, not the one it really selected.
+This is an idea I came up with in 2020, and refined in my init.el since then.
+This year I made it into a package.