mirror of
https://git.savannah.gnu.org/git/emacs.git
synced 2024-11-28 07:45:00 +00:00
(Timers): Clarify about REPEAT when timer is delayed.
This commit is contained in:
parent
8584826b5b
commit
79d41bd07d
@ -1407,9 +1407,9 @@ it should save and restore the match data. @xref{Saving Match Data}.
|
||||
@deffn Command run-at-time time repeat function &rest args
|
||||
This sets up a timer that calls the function @var{function} with
|
||||
arguments @var{args} at time @var{time}. If @var{repeat} is a number
|
||||
(integer or floating point), the timer also runs every @var{repeat}
|
||||
seconds after that. If @var{repeat} is @code{nil}, the timer runs
|
||||
only once.
|
||||
(integer or floating point), the timer is scheduled to run again every
|
||||
@var{repeat} seconds after @var{time}. If @var{repeat} is @code{nil},
|
||||
the timer runs only once.
|
||||
|
||||
@var{time} may specify an absolute or a relative time.
|
||||
|
||||
@ -1458,6 +1458,17 @@ the particular scheduled future action. You can use this value to call
|
||||
@code{cancel-timer} (see below).
|
||||
@end deffn
|
||||
|
||||
A repeating timer nominally ought to run every @var{repeat} seconds,
|
||||
but remember that any invocation of a timer can be late. Lateness of
|
||||
one repetition has no effect on the scheduled time of the next
|
||||
repetition. For instance, if Emacs is busy computing for long enough
|
||||
to cover three scheduled repetitions of the timer, and then starts to
|
||||
wait, it will immediately call the timer function three times in
|
||||
immediate succession (presuming no other timers trigger before or
|
||||
between them). If you want a timer to run again no less than @var{n}
|
||||
seconds after the last invocation, don't use the @var{repeat} argument.
|
||||
Instead, the timer function should explicitly reschedule the timer.
|
||||
|
||||
@defmac with-timeout (seconds timeout-forms@dots{}) body@dots{}
|
||||
Execute @var{body}, but give up after @var{seconds} seconds. If
|
||||
@var{body} finishes before the time is up, @code{with-timeout} returns
|
||||
|
Loading…
Reference in New Issue
Block a user