FR: It would be useful to have a repeat-exit-function for a repeat-map Overview of `thing.el` ============== The attached file `thing.el` - allows navigation by "thing" - highlights the thing that is being navigated - you can switch to a "parent thing" while navigating a "thing" Video Demo of `thing.el` =============== See the video https://github.com/rnchzn/scratch/issues/1 as I test drive `thing.el`.  The right window shows the `*lossage*` buffer, and it updates as I run commands. What happens in the Video ================= In the context of the above video, I start navigating the `symbol` thing, and switch to  the `sexp / list` thing (`sexp / list` is the parent of `symbol` thing) Additional details on `thing.el` =================== I am using s-i, s-j, s-k and s-l as , , and keys using `input-decode-map`. There are four keymaps. - s-l and s-j are prefix keys that invoke `forward-thing-map` and `backward-thing-map`. - The `thing-symbol-map` has `symbol` commands. - The `thing-sexp-map` has `sexp` commands. When `thing-symbol-map` is active you can press or s-i to move to `thing-sexp-map`. What I need from repeat.el ================ When I exit the repeat map---for example when I press in the video, and leave the "navigation mode" to "edit mode"---I want to unhighight the thing. That is I propose that there be a provision in `repeat.el` to associate an `exit-function` with a repeatable map (put 'thing-sexp-map 'repeat-exit-function 'thing-unhighlight) Additional Note ========== If you squint a bit, `repeat-echo-function` is an `exit-function` ... but the problem is it doesn't provide what map is being exited. See bug#60353: 30.0.50; Make `repeat-echo-function` as a LIST of functions