1368 |
timer to call a function that takes substantial time to run is likely |
timer to call a function that takes substantial time to run is likely |
1369 |
to be annoying. |
to be annoying. |
1370 |
|
|
1371 |
Timer functions should normally not alter the current buffer |
It is usually a bad idea for timer functions to alter buffer |
1372 |
contents, but it may be ok to alter some other buffer that exists for |
contents. When they do, they usually should call @code{undo-boundary} |
1373 |
special purposes. A general guideline is that if a buffer has undo |
both before and after changing the buffer, to separate the timer's |
1374 |
enabled, timers should not write in it. |
changes from user commands' changes. |
1375 |
|
|
1376 |
@deffn Command run-at-time time repeat function &rest args |
@deffn Command run-at-time time repeat function &rest args |
1377 |
This sets up a timer that calls the function @var{function} with |
This sets up a timer that calls the function @var{function} with |
1486 |
input. Then it becomes idle again, and all the idle timers that are |
input. Then it becomes idle again, and all the idle timers that are |
1487 |
set up to repeat will subsequently run another time, one by one. |
set up to repeat will subsequently run another time, one by one. |
1488 |
|
|
|
It is legitimate for an idle timer to edit the current buffer. If |
|
|
it does, it should explicitly call @code{undo-boundary} once at the |
|
|
beginning and once just before exiting, since Emacs won't do that |
|
|
automatically for an idle timer. |
|
|
|
|
1489 |
@defun cancel-timer timer |
@defun cancel-timer timer |
1490 |
Cancel the requested action for @var{timer}, which should be a value |
Cancel the requested action for @var{timer}, which should be a value |
1491 |
previously returned by @code{run-at-time} or @code{run-with-idle-timer}. |
previously returned by @code{run-at-time} or @code{run-with-idle-timer}. |