]> code.delx.au - gnu-emacs/blobdiff - man/display.texi
(Cursor Display): show-cursor-in-non-selected-windows was renamed.
[gnu-emacs] / man / display.texi
index 3df3eaae7ecdff929bbce12c2142197d3020f44d..0243ed76acc5527295e2267366fe6be91ae12e16 100644 (file)
@@ -1,5 +1,6 @@
 @c This is part of the Emacs manual.
-@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997, 2000 Free Software Foundation, Inc.
+@c Copyright (C) 1985, 86, 87, 93, 94, 95, 1997, 2000, 2001
+@c   Free Software Foundation, Inc.
 @c See file emacs.texi for copying conditions.
 @node Display, Search, Registers, Top
 @chapter Controlling the Display
@@ -10,15 +11,384 @@ allow you to specify which part of the text you want to see, and how to
 display it.
 
 @menu
+* Faces::                 How to change the display style using faces.
+* Font Lock::              Minor mode for syntactic highlighting using faces.
+* Highlight Changes::      Using colors to show where you changed the buffer.
+* Highlight Interactively:: Tell Emacs what text to highlight.
+* Trailing Whitespace::    Showing possibly-spurious trailing whitespace.
 * Scrolling::             Moving text up and down in a window.
 * Horizontal Scrolling::   Moving text left and right in a window.
 * Follow Mode::            Follow mode lets two windows scroll as one.
 * Selective Display::      Hiding lines with lots of indentation.
 * Optional Mode Line::     Optional mode line display features.
 * Text Display::           How text characters are normally displayed.
-* Display Vars::           Information on variables for customizing display.
+* Display Custom::         Information on variables for customizing display.
+* Cursor Display::         Features for displaying the cursor.
 @end menu
 
+@node Faces
+@section Using Multiple Typefaces
+@cindex faces
+
+  When using Emacs with a window system, you can set up multiple
+styles of displaying characters.  Some of the aspects of style that
+you can control are the type font, the foreground color, the
+background color, and whether or not to underline text, and in which
+color.
+
+  Features which rely on text in multiple faces (such as Font Lock mode)
+will also work on non-windowed terminals that can display more than one
+face, whether by colors or underlining and emboldening.  This includes
+the console on GNU/Linux, an @code{xterm} which supports colors, the
+MS-DOS display (@pxref{MS-DOS}), and the MS-Windows version invoked with
+the @option{-nw} option.  Emacs determines automatically whether the
+terminal has this capability.
+
+  The way you control display style is by defining named @dfn{faces}.
+Each face can specify various attributes, like the type font's height,
+weight and slant, foreground and background color, and underlining,
+but it does not have to specify all of them.  By specifying the face
+or faces to use for a given part of the text in the buffer, you
+control how that text appears.
+
+  The style of display used for a given character in the text is
+determined by combining several faces.  Any aspect of the display
+style that isn't specified by overlays or text properties comes from a
+default face which inherits its settings from the frame itself.
+
+  Enriched mode, the mode for editing formatted text, includes several
+commands and menus for specifying faces.  @xref{Format Faces}, for how
+to specify the font for text in the buffer.  @xref{Format Colors}, for
+how to specify the foreground and background color.
+
+  To alter the appearance of a face, use the customization buffer.
+@xref{Face Customization}.  You can also use X resources to specify
+attributes of particular faces (@pxref{Resources X}).
+
+@cindex face colors, setting
+@findex set-face-foreground
+@findex set-face-background
+  Alternatively, you can change the foreground and background colors
+of a specific face with @kbd{M-x set-face-foreground} and @kbd{M-x
+set-face-background}.  These commands prompt in the minibuffer for a
+face name and a color name, with completion, and then set that face to
+use the specified color.
+
+@findex list-faces-display
+  To see what faces are currently defined, and what they look like, type
+@kbd{M-x list-faces-display}.  It's possible for a given face to look
+different in different frames; this command shows the appearance in the
+frame in which you type it.  Here's a list of the standardly defined
+faces:
+
+@table @code
+@item default
+This face is used for ordinary text that doesn't specify any other face.
+@item mode-line
+This face is used for mode lines.  By default, it's drawn with shadows
+for a ``raised'' effect on window systems, and drawn as the inverse of
+the default face on non-windowed terminals.  @xref{Display Custom}.
+@item header-line
+Similar to @code{mode-line} for a window's header line.  Most modes
+don't use the header line, but the Info mode does.
+@item highlight
+This face is used for highlighting portions of text, in various modes.
+For example, mouse-sensitive text is highlighted using this face.
+@item isearch
+This face is used for highlighting Isearch matches.
+@item isearch-lazy-highlight-face
+This face is used for lazy highlighting of Isearch matches other than
+the current one.
+@item region
+This face is used for displaying a selected region (when Transient Mark
+mode is enabled---see below).
+@item secondary-selection
+This face is used for displaying a secondary X selection (@pxref{Secondary
+Selection}).
+@item bold
+This face uses a bold variant of the default font, if it has one.
+@item italic
+This face uses an italic variant of the default font, if it has one.
+@item bold-italic
+This face uses a bold italic variant of the default font, if it has one.
+@item underline
+This face underlines text.
+@item fixed-pitch
+The basic fixed-pitch face.
+@item fringe
+@cindex fringe
+The face for the fringes to the left and right of windows on graphic
+displays.  (The fringes are the narrow portions of the Emacs frame
+between the text area and the window's right and left borders.)
+@item scroll-bar
+This face determines the visual appearance of the scroll bar.
+@item border
+This face determines the color of the frame border.
+@item cursor
+This face determines the color of the cursor.
+@item mouse
+This face determines the color of the mouse pointer.
+@item tool-bar
+This is the basic tool-bar face.  No text appears in the tool bar, but the
+colors of this face affect the appearance of tool bar icons.
+@item tooltip
+This face is used for tooltips.
+@item menu
+This face determines the colors and font of Emacs's menus.  Setting the
+font of LessTif/Motif menus is currently not supported; attempts to set
+the font are ignored in this case.
+@item trailing-whitespace
+The face for highlighting trailing whitespace when
+@code{show-trailing-whitespace} is non-nil.
+@item variable-pitch
+The basic variable-pitch face.
+@end table
+
+@cindex @code{region} face
+  When Transient Mark mode is enabled, the text of the region is
+highlighted when the mark is active.  This uses the face named
+@code{region}; you can control the style of highlighting by changing the
+style of this face (@pxref{Face Customization}).  @xref{Transient Mark},
+for more information about Transient Mark mode and activation and
+deactivation of the mark.
+
+  One easy way to use faces is to turn on Font Lock mode.  This minor
+mode, which is always local to a particular buffer, arranges to
+choose faces according to the syntax of the text you are editing.  It
+can recognize comments and strings in most languages; in several
+languages, it can also recognize and properly highlight various other
+important constructs.  @xref{Font Lock}, for more information about
+Font Lock mode and syntactic highlighting.
+
+  You can print out the buffer with the highlighting that appears
+on your screen using the command @code{ps-print-buffer-with-faces}.
+@xref{PostScript}.
+
+@node Font Lock
+@section Font Lock mode
+@cindex Font Lock mode
+@cindex mode, Font Lock
+@cindex syntax highlighting and coloring
+
+  Font Lock mode is a minor mode, always local to a particular
+buffer, which highlights (or ``fontifies'') using various faces
+according to the syntax of the text you are editing.  It can
+recognize comments and strings in most languages; in several
+languages, it can also recognize and properly highlight various other
+important constructs---for example, names of functions being defined
+or reserved keywords.
+
+@findex font-lock-mode
+@findex turn-on-font-lock
+  The command @kbd{M-x font-lock-mode} turns Font Lock mode on or off
+according to the argument, and toggles the mode when it has no argument.
+The function @code{turn-on-font-lock} unconditionally enables Font Lock
+mode.  This is useful in mode-hook functions.  For example, to enable
+Font Lock mode whenever you edit a C file, you can do this:
+
+@example
+(add-hook 'c-mode-hook 'turn-on-font-lock)
+@end example
+
+@findex global-font-lock-mode
+@vindex global-font-lock-mode
+  To turn on Font Lock mode automatically in all modes which support
+it, customize the user option @code{global-font-lock-mode} or use the
+function @code{global-font-lock-mode} in your @file{.emacs} file, like
+this:
+
+@example
+(global-font-lock-mode 1)
+@end example
+
+  Font Lock mode uses several specifically named faces to do its job,
+including @code{font-lock-string-face}, @code{font-lock-comment-face},
+and others.  The easiest way to find them all is to use completion
+on the face name in @code{set-face-foreground}.
+
+  To change the colors or the fonts used by Font Lock mode to fontify
+different parts of text, just change these faces.  There are
+two ways to do it:
+
+@itemize @bullet
+@item
+Invoke @kbd{M-x set-face-foreground} or @kbd{M-x set-face-background}
+to change the colors of a particular face used by Font Lock.
+@xref{Faces}.  The command @kbd{M-x list-faces-display} displays all
+the faces currently known to Emacs, including those used by Font Lock.
+
+@item
+Customize the faces interactively with @kbd{M-x customize-face}, as
+described in @ref{Face Customization}.
+@end itemize
+
+  To get the full benefit of Font Lock mode, you need to choose a
+default font which has bold, italic, and bold-italic variants; or else
+you need to have a color or gray-scale screen.
+
+@vindex font-lock-maximum-decoration
+  The variable @code{font-lock-maximum-decoration} specifies the
+preferred level of fontification, for modes that provide multiple
+levels.  Level 1 is the least amount of fontification; some modes
+support levels as high as 3.  The normal default is ``as high as
+possible.''  You can specify an integer, which applies to all modes, or
+you can specify different numbers for particular major modes; for
+example, to use level 1 for C/C++ modes, and the default level
+otherwise, use this:
+
+@example
+(setq font-lock-maximum-decoration
+      '((c-mode . 1) (c++-mode . 1)))
+@end example
+
+@vindex font-lock-maximum-size
+  Fontification can be too slow for large buffers, so you can suppress
+it.  The variable @code{font-lock-maximum-size} specifies a buffer size,
+beyond which buffer fontification is suppressed.
+
+@c @w is used below to prevent a bad page-break.
+@vindex font-lock-beginning-of-syntax-function
+  Comment and string fontification (or ``syntactic'' fontification)
+relies on analysis of the syntactic structure of the buffer text.  For
+the purposes of speed, some modes including C mode and Lisp mode rely on
+a special convention: an open-parenthesis in the leftmost column always
+defines the @w{beginning} of a defun, and is thus always outside any string
+or comment.  (@xref{Defuns}.)  If you don't follow this convention,
+then Font Lock mode can misfontify the text after an open-parenthesis in
+the leftmost column that is inside a string or comment.
+
+@cindex slow display during scrolling
+  The variable @code{font-lock-beginning-of-syntax-function} (always
+buffer-local) specifies how Font Lock mode can find a position
+guaranteed to be outside any comment or string.  In modes which use the
+leftmost column parenthesis convention, the default value of the variable
+is @code{beginning-of-defun}---that tells Font Lock mode to use the
+convention.  If you set this variable to @code{nil}, Font Lock no longer
+relies on the convention.  This avoids incorrect results, but the price
+is that, in some cases, fontification for a changed text must rescan
+buffer text from the beginning of the buffer.  This can considerably
+slow down redisplay while scrolling, particularly if you are close to
+the end of a large buffer.
+
+@findex font-lock-add-keywords
+  Font Lock highlighting patterns already exist for many modes, but you
+may want to fontify additional patterns.  You can use the function
+@code{font-lock-add-keywords}, to add your own highlighting patterns for
+a particular mode.  For example, to highlight @samp{FIXME:} words in C
+comments, use this:
+
+@example
+(font-lock-add-keywords
+ 'c-mode
+ '(("\\<\\(FIXME\\):" 1 font-lock-warning-face t)))
+@end example
+
+@node Highlight Changes
+@section Highlight Changes Mode
+
+@findex highlight-changes-mode
+  Use @kbd{M-x highlight-changes-mode} to enable a minor mode
+that uses faces (colors, typically) to indicate which parts of
+the buffer were changed most recently.
+
+@node Highlight Interactively
+@section Interactive Highlighting by Matching
+@cindex highlighting by matching
+@cindex interactive highlighting
+
+  It is sometimes useful to highlight the strings that match a certain
+regular expression.  For example, you might wish to see all the
+references to a certain variable in a program source file, or highlight
+certain parts in a voluminous output of some program, or make certain
+cliches stand out in an article.
+
+@findex hi-lock-mode
+  Use the @kbd{M-x hi-lock-mode} command to turn on a minor mode that
+allows you to specify regular expressions of the text to be
+highlighted.  Hi-lock mode works like Font Lock (@pxref{Font Lock}),
+except that it lets you specify explicitly what parts of text to
+highlight.  You control Hi-lock mode with these commands:
+
+@table @kbd
+@item C-x w h @var{regexp} @key{RET} @var{face} @key{RET}
+@kindex C-x w h
+@findex highlight-regexp
+Highlight text that matches
+@var{regexp} using face @var{face} (@code{highlight-regexp}).
+By using this command more than once, you can highlight various
+parts of the text in different ways.
+
+@item C-x w r @var{regexp} @key{RET}
+@kindex C-x w r
+@findex unhighlight-regexp
+Unhighlight @var{regexp} (@code{unhighlight-regexp}).  You must enter
+one of the regular expressions currently specified for highlighting.
+(You can use completion, or a menu, to enter one of them
+conveniently.)
+
+@item C-x w l @var{regexp} @key{RET} @var{face} @key{RET}
+@kindex C-x w l
+@findex highlight-lines-matching-regexp
+@cindex lines, highlighting
+@cindex highlighting lines of text
+Highlight lines containing a match for @var{regexp}, using face
+@var{face} (@code{highlight-lines-matching-regexp}).
+
+@item C-x w b
+@kindex C-x w b
+@findex hi-lock-write-interactive-patterns
+Insert all the current highlighting regexp/face pairs into the buffer
+at point, with comment delimiters to prevent them from changing your
+program.  This key binding runs the
+@code{hi-lock-write-interactive-patterns} command.
+
+These patterns will be read the next time you visit the file while
+Hi-lock mode is enabled, or whenever you use the @kbd{M-x
+hi-lock-find-patterns} command.
+
+@item C-x w i
+@kindex C-x w i
+@findex hi-lock-find-patterns
+@vindex hi-lock-exclude-modes
+Re-read regexp/face pairs in the current buffer
+(@code{hi-lock-write-interactive-patterns}).  The list of pairs is
+found no matter where in the buffer it may be.
+
+This command does nothing if the major mode is a member of the list
+@code{hi-lock-exclude-modes}.
+@end table
+
+@node Trailing Whitespace
+@section Trailing Whitespace
+
+@cindex trailing whitespace
+@cindex whitespace, trailing
+@vindex show-trailing-whitespace
+  It is easy to leave unnecessary spaces at the end of a line without
+realizing it.  In most cases, this @dfn{trailing whitespace} has no
+effect, but there are special circumstances where it matters.
+
+  You can make trailing whitespace visible on the screen by setting
+the variable @code{show-trailing-whitespace} to @code{t}.  Then Emacs
+displays trailing whitespace in the face @code{trailing-whitespace}.
+
+  Trailing whitespace is defined as spaces or tabs at the end of a
+line.  But trailing whitespace is not displayed specially if point is
+at the end of the line containing the whitespace.  (Doing that looks
+ugly while you are typing in new text, and the location of point is
+enough in that case to show you that the spaces are present.)
+
+@vindex indicate-empty-lines
+@vindex default-indicate-empty-lines
+@cindex empty lines
+  Emacs can indicate empty lines at the end of the buffer with a
+special bitmap on the left fringe of the window.  To enable this
+feature, set the buffer-local variable @code{indicate-empty-lines} to
+a non-@code{nil} value.  The default value of this variable is
+controlled by the variable @code{default-indicate-empty-lines};
+by setting that variable, you can enable or disable this feature
+for all new buffers.
+
 @node Scrolling
 @section Scrolling
 
@@ -131,23 +501,24 @@ By default, @code{scroll-conservatively} is 0.
 @cindex aggressive scrolling
 @vindex scroll-up-aggressively
 @vindex scroll-down-aggressively 
-  If you prefer a more aggressive scrolling, customize the values of the
-variables @code{scroll-up-aggressively} and
-@code{scroll-down-aggressively}.  The value of
-@code{scroll-up-aggressively} should be either nil or a fraction @var{f}
-between 0 and 1.  If it is a fraction, that specifies where on the
-screen to put point when scrolling upward.  More precisely, when a
-window scrolls up because point is above the window start, the new start
-position is chosen to put point @var{f} part of the window height from
-the top.  The larger @var{f}, the more aggressive the scrolling.
-
-A value of @code{nil} is equivalent to .5, since its effect is to center
-point.
-
-Likewise, @code{scroll-down-aggressively} is used for scrolling down.
-The value, @var{f}, specifies how far point should be placed from the
-bottom of the window; thus, as with @code{scroll-up-aggressively}, a
-larger value scrolls more aggressively.
+  When the window does scroll by a longer distance, you can control
+how aggressively it scrolls, by setting the variables
+@code{scroll-up-aggressively} and @code{scroll-down-aggressively}.
+The value of @code{scroll-up-aggressively} should be either
+@code{nil}, or a fraction @var{f} between 0 and 1.  A fraction
+specifies where on the screen to put point when scrolling upward.
+More precisely, when a window scrolls up because point is above the
+window start, the new start position is chosen to put point @var{f}
+part of the window height from the top.  The larger @var{f}, the more
+aggressive the scrolling.
+
+  @code{nil}, which is the default, scrolls to put point at the center.
+So it is equivalent to .5.
+
+  Likewise, @code{scroll-down-aggressively} is used for scrolling
+down.  The value, @var{f}, specifies how far point should be placed
+from the bottom of the window; thus, as with
+@code{scroll-up-aggressively}, a larger value is more aggressive.
 
 @vindex scroll-margin
   The variable @code{scroll-margin} restricts how close point can come
@@ -161,8 +532,18 @@ window, Emacs recenters the window.  By default, @code{scroll-margin} is
 @cindex horizontal scrolling
 
   @dfn{Horizontal scrolling} means shifting all the lines sideways
-within a window---so that some of the text near the left margin
-is not displayed at all.
+within a window---so that some of the text near the left margin is not
+displayed at all.  Emacs does this automatically, in any window that
+uses line truncation rather than continuation: whenever point moves
+off the left or right edge of the screen, Emacs scrolls the buffer
+horizontally to make point visible.
+
+  When a window has been scrolled horizontally, text lines are truncated
+rather than continued (@pxref{Continuation Lines}), with a @samp{$}
+appearing in the first column when there is text truncated to the left,
+and in the last column when there is text truncated to the right.
+
+  You can use these commands to do explicit horizontal scrolling.
 
 @table @kbd
 @item C-x <
@@ -171,11 +552,6 @@ Scroll text in current window to the left (@code{scroll-left}).
 Scroll to the right (@code{scroll-right}).
 @end table
 
-  When a window has been scrolled horizontally, text lines are truncated
-rather than continued (@pxref{Continuation Lines}), with a @samp{$}
-appearing in the first column when there is text truncated to the left,
-and in the last column when there is text truncated to the right.
-
 @kindex C-x <
 @kindex C-x >
 @findex scroll-left
@@ -193,17 +569,22 @@ attempting to do so has no effect.  This means that you don't have to
 calculate the argument precisely for @w{@kbd{C-x >}}; any sufficiently large
 argument will restore the normal display.
 
-@cindex horizontal scrolling
+  If you scroll a window horizontally by hand, that sets a lower bound
+for automatic horizontal scrolling.  Automatic scrolling will continue
+to scroll the window, but never farther to the right than the amount
+you previously set by @code{scroll-left}.
+
 @vindex automatic-hscrolling
-  Emacs automatically scrolls a window horizontally whenever that is
-necessary to keep point visible and not too far from the left or right
-edge.  If you don't want this, customize the variable
-@code{automatic-hscrolling} and set it to nil.
+  To disable automatic horizontal scrolling, set the variable
+@code{automatic-hscrolling} to @code{nil}.
 
 @node Follow Mode
 @section Follow Mode
 @cindex Follow mode
 @cindex mode, Follow
+@findex follow-mode
+@cindex windows, synchronizing
+@cindex synchronizing windows
 
   @dfn{Follow mode} is a minor mode that makes two windows showing the
 same buffer scroll as one tall ``virtual window.''  To use Follow mode,
@@ -212,10 +593,16 @@ windows using @kbd{C-x 3}, and then type @kbd{M-x follow-mode}.  From
 then on, you can edit the buffer in either of the two windows, or scroll
 either one; the other window follows it.
 
+  In Follow mode, if you move point outside the portion visible in one
+window and into the portion visible in the other window, that selects
+the other window---again, treating the two as if they were parts of
+one large window.
+
   To turn off Follow mode, type @kbd{M-x follow-mode} a second time.
 
 @node Selective Display
 @section Selective Display
+@cindex selective display
 @findex set-selective-display
 @kindex C-x $
 
@@ -250,8 +637,8 @@ hidden lines.  This variable becomes local automatically when set.
 @node Optional Mode Line
 @section Optional Mode Line Features
 
-@cindex Line Number mode
-@cindex mode, Line Number
+@cindex line number display
+@cindex display of line number
 @findex line-number-mode
   The current line number of point appears in the mode line when Line
 Number mode is enabled.  Use the command @kbd{M-x line-number-mode} to
@@ -261,7 +648,6 @@ indicate what it is.  @xref{Minor Modes}, for more information about
 minor modes and about how to use this command.
 
 @vindex line-number-display-limit
-@cindex line number display, removing the limit
   If the buffer is very large (larger than the value of
 @code{line-number-display-limit}), then the line number doesn't appear.
 Emacs doesn't compute the line number when the buffer is large, because
@@ -307,6 +693,30 @@ an icon instead of @samp{Mail} by customizing
 line.  You can customize @code{display-time-mail-face} to make the mail
 indicator prominent.
 
+@cindex mode line, 3D appearence
+@cindex attributes of mode line, changing
+@cindex non-integral number of lines in a window
+  By default, the mode line is drawn on graphics displays as a 3D
+released button.  Depending on the font used for the mode line's text,
+this might make the mode line use more space than a text line in a
+window, and cause the last line of the window be partially obscured.
+That is, the window displays a non-integral number of text lines.  If
+you don't like this effect, you can disable the 3D appearence of the
+mode line by customizing the attributes of the @code{mode-line} face in
+your @file{.emacs} init file, like this:
+
+@example
+ (set-face-attribute 'mode-line nil :box nil)
+@end example
+
+@noindent
+Alternatively, you could turn off the box attribute in your
+@file{.Xdefaults} file:
+
+@example
+ Emacs.mode-line.AttributeBox: off
+@end example
+
 @node Text Display
 @section How Text Is Displayed
 @cindex characters (in text)
@@ -324,15 +734,18 @@ tab stop column (normally every 8 columns).
 (@samp{^}) followed by the non-control version of the character; thus,
 control-A is displayed as @samp{^A}.
 
-  Non-ASCII characters 0200 through 0377 are displayed with octal escape
-sequences; thus, character code 0243 (octal) is displayed as
-@samp{\243}.  However, if you enable European display, most of these
-characters become non-ASCII printing characters, and are displayed using
-their graphics (assuming your terminal supports them).
-@xref{Single-Byte Character Support}.
+  Non-ASCII characters 0200 through 0237 (octal) are displayed with
+octal escape sequences; thus, character code 0230 (octal) is displayed
+as @samp{\230}.  The display of character codes 0240 through 0377
+(octal) may be either as escape sequences or as graphics.  They do not
+normally occur in multibyte buffers but if they do, they are displayed
+as Latin-1 graphics.  In unibyte mode, if you enable European display
+they are displayed using their graphics (assuming your terminal supports
+them), otherwise as escape sequences.  @xref{Single-Byte Character
+Support}.
 
-@node Display Vars
-@section Variables Controlling Display
+@node Display Custom
+@section Customization of Display
 
   This section contains information for customization only.  Beginning
 users should skip it.
@@ -410,17 +823,57 @@ windows, see @ref{Split Window}.  See also @ref{Display,, Display,
 elisp, The Emacs Lisp Reference Manual}.
 
 @vindex baud-rate
-  The variable @code{baud-rate} holds the output speed of the terminal,
-as far as Emacs knows.  Setting this variable does not change the speed
-of actual data transmission, but the value is used for calculations such
-as padding.  On terminals, it also affects decisions about whether to
-scroll part of the screen or redraw it instead.
-
-On window-systems, @code{baud-rate} is only used to determine how
-frequently to look for pending input during display updating.  A higher
-value of @code{baud-rate} means that check for pending input will be
-done less frequently.
+  The variable @code{baud-rate} holds the output speed of the
+terminal, as far as Emacs knows.  Setting this variable does not
+change the speed of actual data transmission, but the value is used
+for calculations.  On terminals, it affects padding, and decisions
+about whether to scroll part of the screen or redraw it instead.
+It also affects the behavior of incremental search.
+
+  On window-systems, @code{baud-rate} is only used to determine how
+frequently to look for pending input during display updating.  A
+higher value of @code{baud-rate} means that check for pending input
+will be done less frequently.
 
   You can customize the way any particular character code is displayed
 by means of a display table.  @xref{Display Tables,, Display Tables,
 elisp, The Emacs Lisp Reference Manual}.
+
+@cindex hourglass pointer display
+@vindex hourglass-delay
+  On a window system, Emacs can optionally display the mouse pointer
+in a special shape to say that Emacs is busy.  To turn this feature on
+or off, customize the group @code{cursor}.  You can also control the
+amount of time Emacs must remain busy before the busy indicator is
+displayed, by setting the variable @code{hourglass-delay}.
+
+@node Cursor Display
+@section Displaying the Cursor
+
+@findex hl-line-mode
+@findex blink-cursor-mode
+@cindex cursor, locating visually
+@cindex cursor, blinking
+  There are a number of ways to customize the display of the cursor.
+@kbd{M-x hl-line-mode} enables or disables a global minor mode which
+highlights the line containing point.  On window systems, the command
+@kbd{M-x blink-cursor-mode} turns on or off the blinking of the
+cursor.  (On terminals, the terminal itself blinks the cursor, and
+Emacs has no control over it.)
+
+  You can customize the cursor's color, and whether it blinks, using
+the @code{cursor} Custom group (@pxref{Easy Customization}).
+
+@vindex x-stretch-cursor
+@cindex wide block cursor
+  When displaying on a window system, Emacs can optionally draw the
+block cursor as wide as the character under the cursor---for example,
+if the cursor is on a tab character, it would cover the full width
+occupied by that tab character.  To enable this feature, set the
+variable @code{x-stretch-cursor} to a non-@code{nil} value.
+
+@cindex cursor in non-selected windows
+@vindex cursor-in-non-selected-windows
+  Normally, the cursor in non-selected windows is shown as a hollow box.
+To turn off cursor display in non-selected windows, customize the option
+@code{cursor-in-non-selected-windows} to assign it a @code{nil} value.