@c -*-texinfo-*-
@c This is part of the GNU Emacs Lisp Reference Manual.
-@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999, 2000, 2001
+@c Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1998, 1999,
+@c 2000, 2001, 2004
@c Free Software Foundation, Inc.
@c See the file elisp.texi for copying conditions.
@setfilename ../info/text
undo individual replacements one by one.
@end defun
+@defvar undo-in-progress
+This variable is normally @code{nil}, but the undo commands bind it to
+@code{t}. This is so that various kinds of change hooks can tell when
+they're being called for the sake of undoing.
+@end defvar
+
@defun primitive-undo count list
This is the basic function for undoing elements of an undo list.
It undoes the first @var{count} elements of @var{list}, returning
undo operations use and update the saved value. The new elements added
by undoing are not part of this saved value, so they don't interfere with
continuing to undo.
+
+This function does not bind @code{undo-in-progress}.
@end defun
@node Maintaining Undo
@end defun
@defopt sentence-end-double-space
+@anchor{Definition of sentence-end-double-space}
If this variable is non-@code{nil}, a period followed by just one space
does not count as the end of a sentence, and the filling functions
avoid breaking the line at such a place.
@item line-spacing
@kindex line-spacing @r{(text property)}
-A newline can have a @code{line-spacing} text or overlay property
-that controls the height of the corresponding display line.
-@c ??? Which display line is "corresponding"?
-The @code{line-spacing} property overrides the default frame line
-spacing and the buffer local @code{line-spacing} variable. We will
-call the property value @var{line-spacing}.
-
-If @var{line-spacing} is a positive integer, the value specifies
-additional vertical space, below the display line, in pixels.
-
-If @var{line-spacing} is a floating point number or cons, the
-additional vertical space is the product of @var{line-spacing} and the
-default frame line height.
-
-If the @var{line-spacing} value is a cons @code{(total .
-@var{spacing})} where @var{spacing} is any of the forms described
-above, the value of @var{spacing} specifies the total displayed height
-of the line, regardless of the height of the characters in it. This
-is equivalent to using the @code{line-height} property.
+A newline can have a @code{line-spacing} text or overlay property that
+controls the height of the display line ending with that newline. The
+property value overrides the default frame line spacing and the buffer
+local @code{line-spacing} variable. @xref{Line Height}.
@item line-height
@kindex line-height @r{(text property)}
A newline can have a @code{line-height} text or overlay property that
-controls the total height of the corresponding display line.
-@c ??? Which display line is "corresponding"?
-We will call the property value @var{line-height}.
-
-If @var{line-height} is 0, the newline does not contribute to the
-height of the display row; instead the height of the newline glyph is
-reduced.
-@c ??? That is not clear. Reduced how much?
-In that case, any @code{line-spacing} property on
-this newline is ignored. This can be used to tile small images or
-image slices without adding blank areas between the images.
-@c ??? Precisely which of these features does ``this'' mean?
-
-If @var{line-height} is a positive integer, the value specifies the
-minimum line height in pixels. The line's ascent height is
-increased as necessary to achieve the specified height.
-
-If @var{line-height} is a floating point number, the minimum line
-height is the product of @var{line-height} and the default frame line
-height.
-
-If @var{line-height} is a cons @code{(@var{ratio} . @var{face})}, the
-minimum line height is calculated as @var{ratio} times the height of
-face @var{face}. The @var{ratio} is an integer or a floating point
-number. If @var{face} is @code{t}, it refers to the current face.
+controls the total height of the display line ending in that newline.
+@xref{Line Height}.
@item modification-hooks
@cindex change hooks for a character
This function applies a translation table to the characters in the
buffer between positions @var{start} and @var{end}.
-The translation table @var{table} is a string; @code{(aref @var{table}
-@var{ochar})} gives the translated character corresponding to
-@var{ochar}. If the length of @var{table} is less than 256, any
+The translation table @var{table} is a string or a char-table;
+@code{(aref @var{table} @var{ochar})} gives the translated character
+corresponding to @var{ochar}. If @var{table} is a string, any
characters with codes larger than the length of @var{table} are not
altered by the translation.