[Top][All Lists]

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

Re: Q: How to programatically terminate repeat-mode

From: T.V Raman
Subject: Re: Q: How to programatically terminate repeat-mode
Date: Sun, 02 Oct 2022 10:19:49 -0700
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/29.0.50 (gnu/linux)

"T.V Raman" <raman@google.com> writes:

Answering my own question:

(push 7 unread-command-events)

in the process sentinel  works where I have customized repeat-exit-key
to C-g.

However I needed to explicitly use (push 7 unread-command-events)
rather than the more readable (push repeat-exit-key

since unread-command-events doesn't like having a vector pushed onto it.
> Juri Linkov <juri@linkov.net> writes:
> Hi,
> The suggestion you gave me, ie dont put the repeat property on the
> command that stops media works brilliantly --- excpt:
> If the media plays to completion while repeat is still active, then the
> repeat fails to deactivate. Any ideas on how to handle that?
>>> 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'.



--Raman(I Search, I Find, I Misplace, I Research)
?7?4 Id: kg:/m/0285kf1  ?0?8

reply via email to

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