changeset 59270:08777d10acff

(Timers): Update previous change.
author Richard M. Stallman <rms@gnu.org>
date Sat, 01 Jan 2005 03:51:39 +0000
parents 91f840a1067b
children 1bd47d0e3e0f
files lispref/os.texi
diffstat 1 files changed, 4 insertions(+), 9 deletions(-) [+]
line wrap: on
line diff
--- a/lispref/os.texi	Sat Jan 01 01:36:48 2005 +0000
+++ b/lispref/os.texi	Sat Jan 01 03:51:39 2005 +0000
@@ -1368,10 +1368,10 @@
 timer to call a function that takes substantial time to run is likely
 to be annoying.
 
-  Timer functions should normally not alter the current buffer
-contents, but it may be ok to alter some other buffer that exists for
-special purposes.  A general guideline is that if a buffer has undo
-enabled, timers should not write in it.
+  It is usually a bad idea for timer functions to alter buffer
+contents.  When they do, they usually should call @code{undo-boundary}
+both before and after changing the buffer, to separate the timer's
+changes from user commands' changes.
 
 @deffn Command run-at-time time repeat function &rest args
 This sets up a timer that calls the function @var{function} with
@@ -1486,11 +1486,6 @@
 input.  Then it becomes idle again, and all the idle timers that are
 set up to repeat will subsequently run another time, one by one.
 
-  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.
-
 @defun cancel-timer timer
 Cancel the requested action for @var{timer}, which should be a value
 previously returned by @code{run-at-time} or @code{run-with-idle-timer}.