# HG changeset patch # User Luc Teirlinck # Date 1107214281 0 # Node ID 5e3ad3077141c1420212cce9383a5e755d124222 # Parent 99a4ebcb02a2ff325267d32745c2c42ff772c7b2 (Maintaining Undo): Add `undo-outer-limit'. diff -r 99a4ebcb02a2 -r 5e3ad3077141 lispref/text.texi --- a/lispref/text.texi Mon Jan 31 23:22:11 2005 +0000 +++ b/lispref/text.texi Mon Jan 31 23:31:21 2005 +0000 @@ -1321,20 +1321,27 @@ them from using up all available memory space, garbage collection trims them back to size limits you can set. (For this purpose, the ``size'' of an undo list measures the cons cells that make up the list, plus the -strings of deleted text.) Two variables control the range of acceptable -sizes: @code{undo-limit} and @code{undo-strong-limit}. - -@defvar undo-limit +strings of deleted text.) Three variables control the range of acceptable +sizes: @code{undo-limit}, @code{undo-strong-limit} and +@code{undo-outer-limit}. + +@defopt undo-limit This is the soft limit for the acceptable size of an undo list. The change group at which this size is exceeded is the last one kept. -@end defvar - -@defvar undo-strong-limit +@end defopt + +@defopt undo-strong-limit This is the upper limit for the acceptable size of an undo list. The change group at which this size is exceeded is discarded itself (along with all older change groups). There is one exception: the very latest -change group is never discarded no matter how big it is. -@end defvar +change group is only discarded if it exceeds @code{undo-outer-limit}. +@end defopt + +@defopt undo-outer-limit +If at garbage collection time the undo info for the current command +exceeds this limit, Emacs discards the info and prints a warning +message. This is a last ditch limit to prevent memory overflow. +@end defopt @node Filling @comment node-name, next, previous, up