specifying the face or faces to use for it. The style of display used
for any given character is determined by combining the attributes of
all the applicable faces specified for that character. Any attribute
-that isn't specified by these faces is taken from the default face,
+that isn't specified by these faces is taken from the @code{default} face,
whose attributes reflect the default settings of the frame itself.
Enriched mode, the mode for editing formatted text, includes several
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.
+color. Changing the colors of the @code{default} face also changes
+the foreground and background colors on all frames, both existing and
+those to be created in the future. (You can also set foreground and
+background colors for the current frame only; see @ref{Frame
+Parameters}.)
Emacs 21 can correctly display variable-width fonts, but Emacs
commands that calculate width and indentation do not know how to
the font are ignored in this case.
@item trailing-whitespace
The face for highlighting trailing whitespace when
-@code{show-trailing-whitespace} is non-nil.
+@code{show-trailing-whitespace} is non-nil; see @ref{Trailing Whitespace}.
@item variable-pitch
The basic variable-pitch face.
@end table
@c @w is used below to prevent a bad page-break.
@vindex font-lock-beginning-of-syntax-function
+@cindex incorrect fontification
+@cindex parenthesis in column zero and fontification
+@cindex brace in column zero and fontification
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,
+the sake of speed, some modes, including C mode and Lisp mode,
rely on a special convention: an open-parenthesis or open-brace 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 that follows an open-parenthesis or open-brace in the leftmost
-column that is inside a string or comment.
+thus always outside any string or comment. (@xref{Left Margin
+Paren}.) If you don't follow this convention, Font Lock mode can
+misfontify the text that follows an open-parenthesis or open-brace 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
'(("\\<\\(FIXME\\):" 1 font-lock-warning-face t)))
@end example
+@findex font-lock-remove-keywords
+ To remove keywords from the font-lock highlighting patterns, use the
+function @code{font-lock-remove-keywords}.
+
@node Highlight Changes
@section Highlight Changes Mode
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}.
+ You can make trailing whitespace visible on the screen by setting the
+buffer-local 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
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.)
+@findex delete-trailing-whitespace
+ To delete all trailing whitespace within the current buffer's
+restriction (@pxref{Narrowing}), type @kbd{M-x
+delete-trailing-whitespace @key{RET}}. (This command does not remove
+the form-feed characters.)
+
@vindex indicate-empty-lines
@vindex default-indicate-empty-lines
@cindex empty lines
was in the text that scrolled off the top, it ends up at the new top
of the window.
- @kbd{M-v} (@code{scroll-down}) with no argument scrolls backward
-similarly with overlap. The number of lines of overlap across a
-@kbd{C-v} or @kbd{M-v} is controlled by the variable
+ @kbd{M-v} (@code{scroll-down}) with no argument scrolls backward in
+a similar way, also with overlap. The number of lines of overlap
+across a @kbd{C-v} or @kbd{M-v} is controlled by the variable
@code{next-screen-context-lines}; by default, it is 2. The function
keys @key{NEXT} and @key{PRIOR}, or @key{PAGEDOWN} and @key{PAGEUP},
are equivalent to @kbd{C-v} and @kbd{M-v}.
indicate what it is. @xref{Minor Modes}, for more information about
minor modes and about how to use this command.
+@cindex narrowing, and line number display
+ If you have narrowed the buffer (@pxref{Narrowing}), the displayed
+line number is relative to the accessible portion of the buffer.
+
@vindex line-number-display-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
-that would be too slow. Set it to @code{nil} to remove the limit. If
-you have narrowed the buffer (@pxref{Narrowing}), the displayed line
-number is relative to the accessible portion of the buffer.
+that would be too slow. Set it to @code{nil} to remove the limit.
+
+@vindex line-number-display-limit-width
+ Line-number computation can also be slow if the lines in the buffer
+are too long. For this reason, Emacs normally doesn't display line
+numbers if the average width, in characters, of lines near point is
+larger than the value of the variable
+@code{line-number-display-limit-width}. The default value is 200
+characters.
@cindex Column Number mode
@cindex mode, Column Number
line. You can customize @code{display-time-mail-face} to make the mail
indicator prominent.
-@cindex mode line, 3D appearence
+@cindex mode line, 3D appearance
@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 with
The variable @code{mode-line-inverse-video} is an obsolete way of
controlling whether the mode line is displayed in inverse video; the
preferred way of doing this is to change the @code{mode-line} face.
-@xref{Mode Line}. If you specify the foreground color for the
-@code{mode-line} face, and @code{mode-line-inverse-video} is
-non-@code{nil}, then the default background color for that face is the
-usual foreground color. @xref{Faces}.
+@xref{Mode Line}. However, if @code{mode-line-inverse-video} has a
+value of @code{nil}, then the @code{mode-line} face will be ignored,
+and mode-lines will be drawn using the default text face.
+@xref{Faces}.
@vindex inverse-video
If the variable @code{inverse-video} is non-@code{nil}, Emacs attempts
amount of time Emacs must remain busy before the busy indicator is
displayed, by setting the variable @code{hourglass-delay}.
+@findex tty-suppress-bold-inverse-default-colors
+ On some text-only terminals, bold face and inverse video together
+result in text that is hard to read. Call the function
+@code{tty-suppress-bold-inverse-default-colors} with a non-@code{nil}
+argument to suppress the effect of bold-face in this case.
+
@node Cursor Display
@section Displaying the Cursor
@findex hl-line-mode
+@cindex highlight current line
@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
+@kbd{M-x hl-line-mode} enables or disables a 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