bug-gnu-emacs
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#60980: FR: It would be useful to have a repeat-exit-function for a r


From: Ramesh Nedunchezian
Subject: bug#60980: FR: It would be useful to have a repeat-exit-function for a repeat-map
Date: Sat, 21 Jan 2023 14:07:31 +0530
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:102.0) Gecko/20100101 Thunderbird/102.6.0

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 <up>, <left>, <down> and <right> 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 <up> 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 <return> 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













Attachment: thing.el
Description: Text Data


reply via email to

[Prev in Thread] Current Thread [Next in Thread]