[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: undo in loaddefs.el buffer
From: |
Luc Teirlinck |
Subject: |
Re: undo in loaddefs.el buffer |
Date: |
Thu, 30 Dec 2004 20:14:30 -0600 (CST) |
Maybe there is one difference between timers and idle timers that is
relevant to the problem. Many timers only run once. There is no
problem for them. Theoretically, idle timers can also only run once,
but that happens rarely in practice. The following slightly changed
version of my latest patch makes clear that we are talking about
repeatedly running timers:
===File ~/os.texi-diff======================================
*** os.texi 29 Dec 2004 15:49:18 -0600 1.67
--- os.texi 30 Dec 2004 19:54:02 -0600
***************
*** 1368,1377 ****
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.
@deffn Command run-at-time time repeat function &rest args
This sets up a timer that calls the function @var{function} with
--- 1368,1379 ----
timer to call a function that takes substantial time to run is likely
to be annoying.
! A timer that runs at regular intervals and edits a buffer in which
! undo is enabled, should be careful not to accumulate one huge undo
! entry over time, since that could yield memory problems. To avoid
! this, it is usually necessary for the timer to explicitly call
! @code{undo-boundary} once at the beginning and once just before
! exiting. Emacs won't do that automatically (@pxref{Undo}).
@deffn Command run-at-time time repeat function &rest args
This sets up a timer that calls the function @var{function} with
***************
*** 1486,1496 ****
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}.
--- 1488,1493 ----
============================================================
- Re: undo in loaddefs.el buffer, (continued)
- Re: undo in loaddefs.el buffer, Jan D., 2004/12/29
- Re: undo in loaddefs.el buffer, Luc Teirlinck, 2004/12/28
- Re: undo in loaddefs.el buffer, Richard Stallman, 2004/12/28
- Re: undo in loaddefs.el buffer, Luc Teirlinck, 2004/12/28
- Re: undo in loaddefs.el buffer, Richard Stallman, 2004/12/29
- Re: undo in loaddefs.el buffer, Luc Teirlinck, 2004/12/29
- Re: undo in loaddefs.el buffer, Richard Stallman, 2004/12/30
- Re: undo in loaddefs.el buffer, Luc Teirlinck, 2004/12/30
- Re: undo in loaddefs.el buffer, David Kastrup, 2004/12/31
- Re: undo in loaddefs.el buffer, Luc Teirlinck, 2004/12/31
- Re: undo in loaddefs.el buffer,
Luc Teirlinck <=
- Re: undo in loaddefs.el buffer, Luc Teirlinck, 2004/12/30
- Re: undo in loaddefs.el buffer, Richard Stallman, 2004/12/30
- Re: undo in loaddefs.el buffer, Richard Stallman, 2004/12/27
- Re: undo in loaddefs.el buffer, Jan D., 2004/12/27
- Re: undo in loaddefs.el buffer, Richard Stallman, 2004/12/28
- Re: undo in loaddefs.el buffer, Jan D., 2004/12/28
- Re: undo in loaddefs.el buffer, Jason Rumney, 2004/12/28
- Re: undo in loaddefs.el buffer, Jan D., 2004/12/29
- Re: undo in loaddefs.el buffer, Richard Stallman, 2004/12/26
- Re: undo in loaddefs.el buffer, Luc Teirlinck, 2004/12/26