emacs-devel
[Top][All Lists]
Advanced

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

Re: Q: How to programatically terminate repeat-mode


From: Juri Linkov
Subject: Re: Q: How to programatically terminate repeat-mode
Date: Sat, 10 Sep 2022 22:18:16 +0300
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (x86_64-pc-linux-gnu)

> I have been using repeat-mode to good effect in emacspeak e.g. in the
> context of its media player etc.
>
> One issue  I have is that once a command to stop media has been
> executed, I'd like the repeat to stop i.e. without me executing
> another explicit kbd command like C-g to terminate the repeat.

The simplest way is just not to put the property 'repeat-map'
on the symbol of the command that stops media.  Then executing
this command will terminate the repeat.

> How do I do this from lisp?

It's no easy to do the same from Lisp because in repeat-post-hook
the value of 'exitfun' returned from 'set-transient-map' is not
exposed outside.  Maybe the value of 'exitfun' should be stored
in a variable?  Currently 'exitfun' is used only by repeat-exit-timer.

> I'd rather not call keyboard-quit  explicitly -- that sounds like
> overkill?

Or you could put 'repeat-exit-key' on 'unread-command-events'.



reply via email to

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