annotate man/display.texi @ 71710:dbbc0b93cfeb

(Forcing Redisplay, Displaying Messages, Temporary Displays, Font Selection, Auto Faces, Font Lookup, Fringe Indicators, Display Margins, Image Descriptors, Showing Images, Image Cache, Button Types, Making Buttons, Manipulating Buttons, Button Buffer Commands, Display Table Format, Glyphs): Remove @tindex.
author Eli Zaretskii <eliz@gnu.org>
date Sat, 08 Jul 2006 18:11:49 +0000
parents e0b0c80d7e1c
children c7e4f78b81a6 138ce2701550
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
36157
f079e00e119f The log entry for the previous version was a spazz. Ignore it.
Richard M. Stallman <rms@gnu.org>
parents: 36156
diff changeset
1 @c This is part of the Emacs manual.
64890
3723093a21fd Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 64869
diff changeset
2 @c Copyright (C) 1985, 1986, 1987, 1993, 1994, 1995, 1997, 2000, 2001,
68639
dc2d5a6655a3 Update years in copyright notice; nfc.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents: 68539
diff changeset
3 @c 2002, 2003, 2004, 2005, 2006 Free Software Foundation, Inc.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
4 @c See file emacs.texi for copying conditions.
Dave Love <fx@gnu.org>
parents:
diff changeset
5 @node Display, Search, Registers, Top
Dave Love <fx@gnu.org>
parents:
diff changeset
6 @chapter Controlling the Display
Dave Love <fx@gnu.org>
parents:
diff changeset
7
Dave Love <fx@gnu.org>
parents:
diff changeset
8 Since only part of a large buffer fits in the window, Emacs tries to
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
9 show a part that is likely to be interesting. Display-control
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
10 commands allow you to specify which part of the text you want to see,
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
11 and how to display it. Many variables also affect the details of
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
12 redisplay. Unless otherwise stated, the variables described in this
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
13 chapter have their effect by customizing redisplay itself; therefore,
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
14 their values only make a difference at the time of redisplay.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
15
Dave Love <fx@gnu.org>
parents:
diff changeset
16 @menu
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
17 * Scrolling:: Commands to move text up and down in a window.
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
18 * Auto Scrolling:: Redisplay scrolls text automatically when needed.
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
19 * Horizontal Scrolling:: Moving text left and right in a window.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
20 * Follow Mode:: Follow mode lets two windows scroll as one.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
21 * Faces:: How to change the display style using faces.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
22 * Standard Faces:: Emacs' predefined faces.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
23 * Font Lock:: Minor mode for syntactic highlighting using faces.
66961
e94fbe611ffc (Highlight Interactively): Put this font-lock based mode
Juri Linkov <juri@jurta.org>
parents: 65077
diff changeset
24 * Highlight Interactively:: Tell Emacs what text to highlight.
45877
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
25 * Fringes:: Enabling or disabling window fringes.
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
26 * Useless Whitespace:: Showing possibly-spurious trailing whitespace.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
27 * Selective Display:: Hiding lines with lots of indentation.
Dave Love <fx@gnu.org>
parents:
diff changeset
28 * Optional Mode Line:: Optional mode line display features.
Dave Love <fx@gnu.org>
parents:
diff changeset
29 * Text Display:: How text characters are normally displayed.
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
30 * Cursor Display:: Features for displaying the cursor.
36150
46e59561af4c Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents: 35433
diff changeset
31 * Display Custom:: Information on variables for customizing display.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
32 @end menu
Dave Love <fx@gnu.org>
parents:
diff changeset
33
68517
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
34 @node Scrolling
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
35 @section Scrolling
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
36
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
37 If a buffer contains text that is too large to fit entirely within a
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
38 window that is displaying the buffer, Emacs shows a contiguous portion of
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
39 the text. The portion shown always contains point.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
40
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
41 @cindex scrolling
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
42 @dfn{Scrolling} means moving text up or down in the window so that
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
43 different parts of the text are visible. Scrolling ``forward'' or
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
44 ``up'' means that text moves up, and new text appears at the bottom.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
45 Scrolling ``backward'' or ``down'' moves text down, and new text
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
46 appears at the top.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
47
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
48 Scrolling happens automatically if you move point past the bottom or
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
49 top of the window. You can also scroll explicitly with the commands
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
50 in this section.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
51
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
52 @table @kbd
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
53 @item C-l
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
54 Clear screen and redisplay, scrolling the selected window to center
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
55 point vertically within it (@code{recenter}).
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
56 @item C-v
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
57 Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}).
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
58 @item @key{NEXT}
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
59 @itemx @key{PAGEDOWN}
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
60 Likewise, scroll forward.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
61 @item M-v
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
62 Scroll backward (@code{scroll-down}).
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
63 @item @key{PRIOR}
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
64 @itemx @key{PAGEUP}
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
65 Likewise, scroll backward.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
66 @item @var{arg} C-l
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
67 Scroll so point is on line @var{arg} (@code{recenter}).
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
68 @item C-M-l
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
69 Scroll heuristically to bring useful information onto the screen
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
70 (@code{reposition-window}).
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
71 @end table
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
72
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
73 @kindex C-l
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
74 @findex recenter
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
75 The most basic scrolling command is @kbd{C-l} (@code{recenter}) with
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
76 no argument. It scrolls the selected window so that point is halfway
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
77 down from the top of the window. On a text terminal, it also clears
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
78 the screen and redisplays all windows. That is useful in case the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
79 screen is garbled (@pxref{Screen Garbled}).
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
80
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
81 @kindex C-v
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
82 @kindex M-v
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
83 @kindex NEXT
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
84 @kindex PRIOR
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
85 @kindex PAGEDOWN
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
86 @kindex PAGEUP
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
87 @findex scroll-up
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
88 @findex scroll-down
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
89 To read the buffer a windowful at a time, use @kbd{C-v}
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
90 (@code{scroll-up}) with no argument. This scrolls forward by nearly
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
91 the whole window height. The effect is to take the two lines at the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
92 bottom of the window and put them at the top, followed by nearly a
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
93 whole windowful of lines that were not previously visible. If point
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
94 was in the text that scrolled off the top, it ends up at the new top
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
95 of the window.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
96
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
97 @vindex next-screen-context-lines
68517
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
98 @kbd{M-v} (@code{scroll-down}) with no argument scrolls backward in
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
99 a similar way, also with overlap. The number of lines of overlap that
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
100 the @kbd{C-v} or @kbd{M-v} commands leave is controlled by the
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
101 variable @code{next-screen-context-lines}; by default, it is 2. The
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
102 function keys @key{NEXT} and @key{PRIOR}, or @key{PAGEDOWN} and
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
103 @key{PAGEUP}, are equivalent to @kbd{C-v} and @kbd{M-v}.
68517
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
104
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
105 The commands @kbd{C-v} and @kbd{M-v} with a numeric argument scroll
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
106 the text in the selected window up or down a few lines. @kbd{C-v}
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
107 with an argument moves the text and point up, together, that many
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
108 lines; it brings the same number of new lines into view at the bottom
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
109 of the window. @kbd{M-v} with numeric argument scrolls the text
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
110 downward, bringing that many new lines into view at the top of the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
111 window. @kbd{C-v} with a negative argument is like @kbd{M-v} and vice
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
112 versa.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
113
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
114 The names of scroll commands are based on the direction that the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
115 text moves in the window. Thus, the command to scroll forward is
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
116 called @code{scroll-up} because it moves the text upward on the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
117 screen. The keys @key{PAGEDOWN} and @key{PAGEUP} derive their names
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
118 and customary meanings from a different convention that developed
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
119 elsewhere; hence the strange result that @key{PAGEDOWN} runs
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
120 @code{scroll-up}.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
121
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
122 @vindex scroll-preserve-screen-position
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
123 Some users like the full-screen scroll commands to keep point at the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
124 same screen line. To enable this behavior, set the variable
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
125 @code{scroll-preserve-screen-position} to a non-@code{nil} value. In
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
126 this mode, when these commands would scroll the text around point off
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
127 the screen, or within @code{scroll-margin} lines of the edge, they
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
128 moves point to keep the same vertical position within the window.
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
129 This mode is convenient for browsing through a file by scrolling by
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
130 screenfuls; if you come back to the screen where you started, point
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
131 goes back to the line where it started. However, this mode is
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
132 inconvenient when you move to the next screen in order to move point
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
133 to the text there.
68517
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
134
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
135 Another way to do scrolling is with @kbd{C-l} with a numeric argument.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
136 @kbd{C-l} does not clear the screen when given an argument; it only scrolls
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
137 the selected window. With a positive argument @var{n}, it repositions text
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
138 to put point @var{n} lines down from the top. An argument of zero puts
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
139 point on the very top line. Point does not move with respect to the text;
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
140 rather, the text and point move rigidly on the screen. @kbd{C-l} with a
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
141 negative argument puts point that many lines from the bottom of the window.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
142 For example, @kbd{C-u - 1 C-l} puts point on the bottom line, and @kbd{C-u
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
143 - 5 C-l} puts it five lines from the bottom. @kbd{C-u C-l} scrolls to put
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
144 point at the center (vertically) of the selected window.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
145
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
146 @kindex C-M-l
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
147 @findex reposition-window
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
148 The @kbd{C-M-l} command (@code{reposition-window}) scrolls the current
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
149 window heuristically in a way designed to get useful information onto
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
150 the screen. For example, in a Lisp file, this command tries to get the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
151 entire current defun onto the screen if possible.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
152
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
153 @node Auto Scrolling
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
154 @section Automatic Scrolling
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
155
68517
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
156 @vindex scroll-conservatively
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
157 Redisplay scrolls the buffer automatically when point moves out of
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
158 the visible portion of the text. The purpose of automatic scrolling
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
159 is to make point visible, but you can customize many aspects of how
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
160 this is done.
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
161
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
162 Normally, automatic scrolling centers point vertically within the
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
163 window. However, if you set @code{scroll-conservatively} to a small
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
164 number @var{n}, then if you move point just a little off the
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
165 screen---less than @var{n} lines---then Emacs scrolls the text just
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
166 far enough to bring point back on screen. By default,
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
167 @code{scroll-conservatively} is 0.
68517
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
168
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
169 @cindex aggressive scrolling
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
170 @vindex scroll-up-aggressively
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
171 @vindex scroll-down-aggressively
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
172 When the window does scroll by a longer distance, you can control
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
173 how aggressively it scrolls, by setting the variables
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
174 @code{scroll-up-aggressively} and @code{scroll-down-aggressively}.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
175 The value of @code{scroll-up-aggressively} should be either
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
176 @code{nil}, or a fraction @var{f} between 0 and 1. A fraction
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
177 specifies where on the screen to put point when scrolling upward.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
178 More precisely, when a window scrolls up because point is above the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
179 window start, the new start position is chosen to put point @var{f}
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
180 part of the window height from the top. The larger @var{f}, the more
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
181 aggressive the scrolling.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
182
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
183 @code{nil}, which is the default, scrolls to put point at the center.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
184 So it is equivalent to .5.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
185
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
186 Likewise, @code{scroll-down-aggressively} is used for scrolling
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
187 down. The value, @var{f}, specifies how far point should be placed
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
188 from the bottom of the window; thus, as with
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
189 @code{scroll-up-aggressively}, a larger value is more aggressive.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
190
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
191 @vindex scroll-margin
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
192 The variable @code{scroll-margin} restricts how close point can come
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
193 to the top or bottom of a window. Its value is a number of screen
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
194 lines; if point comes within that many lines of the top or bottom of the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
195 window, Emacs recenters the window. By default, @code{scroll-margin} is
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
196 0.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
197
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
198 @node Horizontal Scrolling
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
199 @section Horizontal Scrolling
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
200 @cindex horizontal scrolling
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
201
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
202 @dfn{Horizontal scrolling} means shifting all the lines sideways
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
203 within a window---so that some of the text near the left margin is not
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
204 displayed at all. When the text in a window is scrolled horizontally,
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
205 text lines are truncated rather than continued (@pxref{Display
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
206 Custom}). Whenever a window shows truncated lines, Emacs
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
207 automatically updates its horizontal scrolling whenever point moves
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
208 off the left or right edge of the screen. You can also use these
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
209 commands to do explicit horizontal scrolling.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
210
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
211 @table @kbd
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
212 @item C-x <
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
213 Scroll text in current window to the left (@code{scroll-left}).
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
214 @item C-x >
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
215 Scroll to the right (@code{scroll-right}).
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
216 @end table
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
217
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
218 @kindex C-x <
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
219 @kindex C-x >
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
220 @findex scroll-left
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
221 @findex scroll-right
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
222 The command @kbd{C-x <} (@code{scroll-left}) scrolls the selected
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
223 window to the left by @var{n} columns with argument @var{n}. This moves
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
224 part of the beginning of each line off the left edge of the window.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
225 With no argument, it scrolls by almost the full width of the window (two
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
226 columns less, to be precise).
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
227
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
228 @kbd{C-x >} (@code{scroll-right}) scrolls similarly to the right. The
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
229 window cannot be scrolled any farther to the right once it is displayed
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
230 normally (with each line starting at the window's left margin);
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
231 attempting to do so has no effect. This means that you don't have to
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
232 calculate the argument precisely for @w{@kbd{C-x >}}; any sufficiently large
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
233 argument will restore the normal display.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
234
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
235 If you use those commands to scroll a window horizontally, that sets
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
236 a lower bound for automatic horizontal scrolling. Automatic scrolling
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
237 will continue to scroll the window, but never farther to the right
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
238 than the amount you previously set by @code{scroll-left}.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
239
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
240 @vindex hscroll-margin
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
241 The value of the variable @code{hscroll-margin} controls how close
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
242 to the window's edges point is allowed to get before the window will
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
243 be automatically scrolled. It is measured in columns. If the value
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
244 is 5, then moving point within 5 columns of the edge causes horizontal
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
245 scrolling away from that edge.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
246
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
247 @vindex hscroll-step
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
248 The variable @code{hscroll-step} determines how many columns to
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
249 scroll the window when point gets too close to the edge. If it's
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
250 zero, horizontal scrolling centers point horizontally within the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
251 window. If it's a positive integer, it specifies the number of
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
252 columns to scroll by. If it's a floating-point number, it specifies
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
253 the fraction of the window's width to scroll by. The default is zero.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
254
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
255 @vindex auto-hscroll-mode
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
256 To disable automatic horizontal scrolling, set the variable
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
257 @code{auto-hscroll-mode} to @code{nil}.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
258
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
259 @node Follow Mode
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
260 @section Follow Mode
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
261 @cindex Follow mode
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
262 @cindex mode, Follow
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
263 @findex follow-mode
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
264 @cindex windows, synchronizing
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
265 @cindex synchronizing windows
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
266
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
267 @dfn{Follow mode} is a minor mode that makes two windows, both
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
268 showing the same buffer, scroll as a single tall ``virtual window.''
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
269 To use Follow mode, go to a frame with just one window, split it into
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
270 two side-by-side windows using @kbd{C-x 3}, and then type @kbd{M-x
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
271 follow-mode}. From then on, you can edit the buffer in either of the
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
272 two windows, or scroll either one; the other window follows it.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
273
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
274 In Follow mode, if you move point outside the portion visible in one
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
275 window and into the portion visible in the other window, that selects
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
276 the other window---again, treating the two as if they were parts of
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
277 one large window.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
278
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
279 To turn off Follow mode, type @kbd{M-x follow-mode} a second time.
698cfed8969f (Scrolling, Horizontal Scrolling, Follow Mode): Nodes moved to top.
Richard M. Stallman <rms@gnu.org>
parents: 68516
diff changeset
280
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
281 @node Faces
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
282 @section Using Multiple Typefaces
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
283 @cindex faces
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
284
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
285 You can specify various styles for displaying text using
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
286 @dfn{faces}. Each face can specify various @dfn{face attributes},
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
287 such as the font family, the height, weight and slant of the
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
288 characters, the foreground and background color, and underlining or
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
289 overlining. A face does not have to specify all of these attributes;
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
290 often it inherits most of them from another face.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
291
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
292 On graphical display, all the Emacs face attributes are meaningful.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
293 On a text-only terminal, only some of them work. Some text-only
42668
64f73b2b1f0e (Faces): More updates for faces on character terminals.
Richard M. Stallman <rms@gnu.org>
parents: 42655
diff changeset
294 terminals support inverse video, bold, and underline attributes; some
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
295 support colors. Text-only terminals generally do not support changing
42668
64f73b2b1f0e (Faces): More updates for faces on character terminals.
Richard M. Stallman <rms@gnu.org>
parents: 42655
diff changeset
296 the height and width or the font family.
42655
d16bc97d648e (Faces): Mention that character terminals also support faces.
Eli Zaretskii <eliz@gnu.org>
parents: 42234
diff changeset
297
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
298 Emacs uses faces automatically for highlighting, through the work of
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
299 Font Lock mode. @xref{Font Lock}, for more information about Font
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
300 Lock mode and syntactic highlighting. You can print out the buffer
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
301 with the highlighting that appears on your screen using the command
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
302 @code{ps-print-buffer-with-faces}. @xref{PostScript}.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
303
37485
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
304 You control the appearance of a part of the text in the buffer by
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
305 specifying the face or faces to use for it. The style of display used
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
306 for any given character is determined by combining the attributes of
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
307 all the applicable faces specified for that character. Any attribute
38745
5464ee1ba8e2 Minor cleanups.
Richard M. Stallman <rms@gnu.org>
parents: 38671
diff changeset
308 that isn't specified by these faces is taken from the @code{default} face,
38115
c75a19b1930f Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents: 38048
diff changeset
309 whose attributes reflect the default settings of the frame itself.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
310
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
311 Enriched mode, the mode for editing formatted text, includes several
37485
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
312 commands and menus for specifying faces for text in the buffer.
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
313 @xref{Format Faces}, for how to specify the font for text in the
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
314 buffer. @xref{Format Colors}, for how to specify the foreground and
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
315 background color.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
316
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
317 @cindex face colors, setting
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
318 @findex set-face-foreground
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
319 @findex set-face-background
37485
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
320 To alter the appearance of a face, use the customization buffer.
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
321 @xref{Face Customization}. You can also use X resources to specify
41374
608e18d9fb18 Fix cross-references to "Resources".
Eli Zaretskii <eliz@gnu.org>
parents: 39316
diff changeset
322 attributes of particular faces (@pxref{Resources}). Alternatively,
37485
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
323 you can change the foreground and background colors of a specific face
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
324 with @kbd{M-x set-face-foreground} and @kbd{M-x set-face-background}.
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
325 These commands prompt in the minibuffer for a face name and a color
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
326 name, with completion, and then set that face to use the specified
38671
07f962cbdd4e (Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents: 38661
diff changeset
327 color. Changing the colors of the @code{default} face also changes
07f962cbdd4e (Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents: 38661
diff changeset
328 the foreground and background colors on all frames, both existing and
07f962cbdd4e (Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents: 38661
diff changeset
329 those to be created in the future. (You can also set foreground and
07f962cbdd4e (Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents: 38661
diff changeset
330 background colors for the current frame only; see @ref{Frame
07f962cbdd4e (Faces): Document that changing the colors of the `default' face
Eli Zaretskii <eliz@gnu.org>
parents: 38661
diff changeset
331 Parameters}.)
37485
12064cf8f86f Explain better what a face is and what it does.
Richard M. Stallman <rms@gnu.org>
parents: 37229
diff changeset
332
60424
6aa27b8c405e (Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents: 60104
diff changeset
333 Emacs can correctly display variable-width fonts, but Emacs commands
6aa27b8c405e (Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents: 60104
diff changeset
334 that calculate width and indentation do not know how to calculate
6aa27b8c405e (Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents: 60104
diff changeset
335 variable widths. This can sometimes lead to incorrect results when
6aa27b8c405e (Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents: 60104
diff changeset
336 you use variable-width fonts. In particular, indentation commands can
6aa27b8c405e (Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents: 60104
diff changeset
337 give inconsistent results, so we recommend you avoid variable-width
6aa27b8c405e (Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents: 60104
diff changeset
338 fonts for editing program source code. Filling will sometimes make
6aa27b8c405e (Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents: 60104
diff changeset
339 lines too long or too short. We plan to address these issues in
6aa27b8c405e (Faces): Delete "Emacs 21".
Richard M. Stallman <rms@gnu.org>
parents: 60104
diff changeset
340 future Emacs versions.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
341
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
342 @node Standard Faces
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
343 @section Standard Faces
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
344
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
345 @findex list-faces-display
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
346 To see what faces are currently defined, and what they look like,
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
347 type @kbd{M-x list-faces-display}. It's possible for a given face to
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
348 look different in different frames; this command shows the appearance
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
349 in the frame in which you type it.
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
350
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
351 Here are the standard faces for specifying text appearance. You can
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
352 apply them to specific text when you want the effects they produce.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
353
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
354 @table @code
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
355 @item default
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
356 This face is used for ordinary text that doesn't specify any face.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
357 @item bold
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
358 This face uses a bold variant of the default font, if it has one.
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
359 It's up to you to choose a default font that has a bold variant,
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
360 if you want to use one.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
361 @item italic
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
362 This face uses an italic variant of the default font, if it has one.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
363 @item bold-italic
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
364 This face uses a bold italic variant of the default font, if it has one.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
365 @item underline
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
366 This face underlines text.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
367 @item fixed-pitch
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
368 This face forces use of a particular fixed-width font.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
369 @item variable-pitch
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
370 This face forces use of a particular variable-width font. It's
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
371 reasonable to customize this face to use a different variable-width font,
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
372 if you like, but you should not make it a fixed-width font.
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
373 @item shadow
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
374 This face is used for making the text less noticeable than the surrounding
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
375 ordinary text. Usually this can be achieved by using shades of gray in
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
376 contrast with either black or white default foreground color.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
377 @end table
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
378
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
379 Here's an incomplete list of faces used to highlight parts of the
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
380 text temporarily for specific purposes. (Many other modes define
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
381 their own faces for this purpose.)
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
382
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
383 @table @code
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
384 @item highlight
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
385 This face is used for highlighting portions of text, in various modes.
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
386 For example, mouse-sensitive text is highlighted using this face.
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
387 @item isearch
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
388 This face is used for highlighting the current Isearch match.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
389 @item query-replace
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
390 This face is used for highlighting the current Query Replace match.
59429
d189a9fc6e5b (Faces): isearch-lazy-highlight-face renamed to lazy-highlight.
Richard M. Stallman <rms@gnu.org>
parents: 59259
diff changeset
391 @item lazy-highlight
d189a9fc6e5b (Faces): isearch-lazy-highlight-face renamed to lazy-highlight.
Richard M. Stallman <rms@gnu.org>
parents: 59259
diff changeset
392 This face is used for lazy highlighting of Isearch and Query Replace
d189a9fc6e5b (Faces): isearch-lazy-highlight-face renamed to lazy-highlight.
Richard M. Stallman <rms@gnu.org>
parents: 59259
diff changeset
393 matches other than the current one.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
394 @item region
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
395 This face is used for displaying a selected region (when Transient Mark
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
396 mode is enabled---see below).
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
397 @item secondary-selection
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
398 This face is used for displaying a secondary X selection (@pxref{Secondary
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
399 Selection}).
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
400 @item trailing-whitespace
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
401 The face for highlighting excess spaces and tabs at the end of a line
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
402 when @code{show-trailing-whitespace} is non-@code{nil}; see
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
403 @ref{Useless Whitespace}.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
404 @item nobreak-space
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
405 The face for displaying the character ``nobreak space''.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
406 @item escape-glyph
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
407 The face for highlighting the @samp{\} or @samp{^} that indicates
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
408 a control character. It's also used when @samp{\} indicates a
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
409 nobreak space or nobreak (soft) hyphen.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
410 @end table
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
411
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
412 @cindex @code{region} face
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
413 When Transient Mark mode is enabled, the text of the region is
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
414 highlighted when the mark is active. This uses the face named
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
415 @code{region}; you can control the style of highlighting by changing the
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
416 style of this face (@pxref{Face Customization}). @xref{Transient Mark},
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
417 for more information about Transient Mark mode and activation and
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
418 deactivation of the mark.
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
419
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
420 These faces control the appearance of parts of the Emacs frame.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
421 They exist as faces to provide a consistent way to customize the
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
422 appearance of these parts of the frame.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
423
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
424 @table @code
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
425 @item mode-line
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
426 @itemx modeline
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
427 This face is used for the mode line of the currently selected window,
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
428 and for menu bars when toolkit menus are not used. By default, it's
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
429 drawn with shadows for a ``raised'' effect on graphical displays, and
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
430 drawn as the inverse of the default face on non-windowed terminals.
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
431 @code{modeline} is an alias for the @code{mode-line} face, for
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
432 compatibility with old Emacs versions.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
433 @item mode-line-inactive
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
434 Like @code{mode-line}, but used for mode lines of the windows other
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
435 than the selected one (if @code{mode-line-in-non-selected-windows} is
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
436 non-@code{nil}). This face inherits from @code{mode-line}, so changes
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
437 in that face affect mode lines in all windows.
68220
87b296ffb009 (Standard Faces): Add `mode-line-buffer-id'.
Juri Linkov <juri@jurta.org>
parents: 67937
diff changeset
438 @item mode-line-highlight
87b296ffb009 (Standard Faces): Add `mode-line-buffer-id'.
Juri Linkov <juri@jurta.org>
parents: 67937
diff changeset
439 Like @code{highlight}, but used for portions of text on mode lines.
87b296ffb009 (Standard Faces): Add `mode-line-buffer-id'.
Juri Linkov <juri@jurta.org>
parents: 67937
diff changeset
440 @item mode-line-buffer-id
87b296ffb009 (Standard Faces): Add `mode-line-buffer-id'.
Juri Linkov <juri@jurta.org>
parents: 67937
diff changeset
441 This face is used for buffer identification parts in the mode line.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
442 @item header-line
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
443 Similar to @code{mode-line} for a window's header line, which appears
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
444 at the top of a window just as the mode line appears at the bottom.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
445 Most windows do not have a header line---only some special modes, such
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
446 Info mode, create one.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
447 @item vertical-border
64869
bbfc1ad69918 (Standard Faces): Describe vertical-border on window systems.
Juri Linkov <juri@jurta.org>
parents: 64362
diff changeset
448 This face is used for the vertical divider between windows.
bbfc1ad69918 (Standard Faces): Describe vertical-border on window systems.
Juri Linkov <juri@jurta.org>
parents: 64362
diff changeset
449 By default this face inherits from the @code{mode-line-inactive} face
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
450 on character terminals. On graphical displays the foreground color of
64869
bbfc1ad69918 (Standard Faces): Describe vertical-border on window systems.
Juri Linkov <juri@jurta.org>
parents: 64362
diff changeset
451 this face is used for the vertical line between windows without
bbfc1ad69918 (Standard Faces): Describe vertical-border on window systems.
Juri Linkov <juri@jurta.org>
parents: 64362
diff changeset
452 scrollbars.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
453 @item minibuffer-prompt
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
454 @cindex @code{minibuffer-prompt} face
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
455 @vindex minibuffer-prompt-properties
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
456 This face is used for the prompt strings displayed in the minibuffer.
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
457 By default, Emacs automatically adds this face to the value of
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
458 @code{minibuffer-prompt-properties}, which is a list of text
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
459 properties used to display the prompt text. (This variable takes
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
460 effect when you enter the minibuffer.)
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
461 @item fringe
65077
66cc2e8acc4b (Standard Faces): Merge the text from `(elisp)Standard Faces' into this node.
Juri Linkov <juri@jurta.org>
parents: 64890
diff changeset
462 @cindex @code{fringe} face
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
463 The face for the fringes to the left and right of windows on graphic
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
464 displays. (The fringes are the narrow portions of the Emacs frame
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
465 between the text area and the window's right and left borders.)
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
466 @xref{Fringes}.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
467 @item scroll-bar
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
468 This face determines the visual appearance of the scroll bar.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
469 @xref{Scroll Bars}.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
470 @item border
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
471 This face determines the color of the frame border.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
472 @item cursor
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
473 This face determines the color of the cursor.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
474 @item mouse
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
475 This face determines the color of the mouse pointer.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
476 @item tool-bar
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
477 This face determines the color of tool bar icons. @xref{Tool Bars}.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
478 @item tooltip
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
479 This face is used for tooltips. @xref{Tooltips}.
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
480 @item menu
64362
cbb3c92e7023 (Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents: 64153
diff changeset
481 @cindex menu bar appearance
cbb3c92e7023 (Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents: 64153
diff changeset
482 @cindex @code{menu} face, no effect if customized
cbb3c92e7023 (Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents: 64153
diff changeset
483 @cindex customization of @code{menu} face
cbb3c92e7023 (Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents: 64153
diff changeset
484 This face determines the colors and font of Emacs's menus. @xref{Menu
cbb3c92e7023 (Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents: 64153
diff changeset
485 Bars}. Setting the font of LessTif/Motif menus is currently not
cbb3c92e7023 (Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents: 64153
diff changeset
486 supported; attempts to set the font are ignored in this case.
cbb3c92e7023 (Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents: 64153
diff changeset
487 Likewise, attempts to customize this face in Emacs built with GTK and
68841
8db1976888d0 (Standard Faces): Mention Mac OS port.
YAMAMOTO Mitsuharu <mituharu@math.s.chiba-u.ac.jp>
parents: 68714
diff changeset
488 in the MS-Windows/Mac ports are ignored by the respective GUI toolkits;
64362
cbb3c92e7023 (Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents: 64153
diff changeset
489 you need to use system-wide styles and options to change the
cbb3c92e7023 (Standard Faces): Explain that customization of `menu' face has no effect
Eli Zaretskii <eliz@gnu.org>
parents: 64153
diff changeset
490 appearance of the menus.
63722
8894aea35766 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63721
diff changeset
491 @end table
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
492
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
493 @node Font Lock
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
494 @section Font Lock mode
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
495 @cindex Font Lock mode
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
496 @cindex mode, Font Lock
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
497 @cindex syntax highlighting and coloring
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
498
46036
dd119e0d1cea Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents: 45955
diff changeset
499 Font Lock mode is a minor mode, always local to a particular buffer,
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
500 which highlights (or ``fontifies'') the buffer contents according to
46036
dd119e0d1cea Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents: 45955
diff changeset
501 the syntax of the text you are editing. It can recognize comments and
dd119e0d1cea Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents: 45955
diff changeset
502 strings in most languages; in several languages, it can also recognize
dd119e0d1cea Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents: 45955
diff changeset
503 and properly highlight various other important constructs---for
dd119e0d1cea Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents: 45955
diff changeset
504 example, names of functions being defined or reserved keywords.
dd119e0d1cea Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents: 45955
diff changeset
505 Some special modes, such as Occur mode and Info mode, have completely
dd119e0d1cea Explain that Font Lock controls fontification of special modes.
Richard M. Stallman <rms@gnu.org>
parents: 45955
diff changeset
506 specialized ways of assigning fonts for Font Lock mode.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
507
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
508 @findex font-lock-mode
67061
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
509 Font Lock mode is turned on by default in all modes which support it.
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
510 You can toggle font-lock for each buffer with the command @kbd{M-x
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
511 font-lock-mode}. Using a positive argument unconditionally turns Font
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
512 Lock mode on, and a negative or zero argument turns it off.
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
513
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
514 @findex global-font-lock-mode
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
515 @vindex global-font-lock-mode
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
516 If you do not wish Font Lock mode to be turned on by default,
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
517 customize the variable @code{global-font-lock-mode} using the Customize
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
518 interface (@pxref{Easy Customization}), or use the function
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
519 @code{global-font-lock-mode} in your @file{.emacs} file, like this:
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
520
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
521 @example
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
522 (global-font-lock-mode 0)
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
523 @end example
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
524
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
525 @noindent
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
526 This variable, like all the variables that control Font Lock mode,
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
527 take effect whenever fontification is done; that is, potentially at
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
528 any time.
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
529
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
530 @findex turn-on-font-lock
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
531 If you have disabled Global Font Lock mode, you can still enable Font
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
532 Lock for specific major modes by adding the function
67061
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
533 @code{turn-on-font-lock} to the mode hooks (@pxref{Hooks}). For
4f3a6d09d436 Font lock enabled by default.
Chong Yidong <cyd@stupidchicken.com>
parents: 67042
diff changeset
534 example, to enable Font Lock mode for editing C files, you can do this:
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
535
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
536 @example
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
537 (add-hook 'c-mode-hook 'turn-on-font-lock)
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
538 @end example
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
539
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
540 Font Lock mode uses several specifically named faces to do its job,
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
541 including @code{font-lock-string-face}, @code{font-lock-comment-face},
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
542 and others. The easiest way to find them all is to use @kbd{M-x
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
543 customize-group @key{RET} font-lock-faces @key{RET}}. You can then
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
544 use that customization buffer to customize the appearance of these
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
545 faces. @xref{Face Customization}.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
546
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
547 You can also customize these faces using @kbd{M-x
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
548 set-face-foreground} or @kbd{M-x set-face-background}. @xref{Faces}.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
549
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
550 @vindex font-lock-maximum-decoration
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
551 The variable @code{font-lock-maximum-decoration} specifies the
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
552 preferred level of fontification, for modes that provide multiple
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
553 levels. Level 1 is the least amount of fontification; some modes
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
554 support levels as high as 3. The normal default is ``as high as
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
555 possible.'' You can specify an integer, which applies to all modes, or
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
556 you can specify different numbers for particular major modes; for
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
557 example, to use level 1 for C/C++ modes, and the default level
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
558 otherwise, use this:
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
559
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
560 @example
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
561 (setq font-lock-maximum-decoration
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
562 '((c-mode . 1) (c++-mode . 1)))
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
563 @end example
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
564
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
565 @vindex font-lock-maximum-size
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
566 Fontification can be too slow for large buffers, so you can suppress
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
567 it for buffers above a certain size. The variable
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
568 @code{font-lock-maximum-size} specifies a buffer size, beyond which
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
569 buffer fontification is suppressed.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
570
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
571 @c @w is used below to prevent a bad page-break.
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
572 @vindex font-lock-beginning-of-syntax-function
39316
f6a4184f6285 (Font Lock): Add index entries for paren-in-column-zero problems.
Eli Zaretskii <eliz@gnu.org>
parents: 39267
diff changeset
573 @cindex incorrect fontification
f6a4184f6285 (Font Lock): Add index entries for paren-in-column-zero problems.
Eli Zaretskii <eliz@gnu.org>
parents: 39267
diff changeset
574 @cindex parenthesis in column zero and fontification
f6a4184f6285 (Font Lock): Add index entries for paren-in-column-zero problems.
Eli Zaretskii <eliz@gnu.org>
parents: 39267
diff changeset
575 @cindex brace in column zero and fontification
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
576 Comment and string fontification (or ``syntactic'' fontification)
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
577 relies on analysis of the syntactic structure of the buffer text. For
68539
fb70c9e1f026 (Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents: 68517
diff changeset
578 the sake of speed, some modes, including Lisp mode, rely on a special
fb70c9e1f026 (Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents: 68517
diff changeset
579 convention: an open-parenthesis or open-brace in the leftmost column
fb70c9e1f026 (Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents: 68517
diff changeset
580 always defines the @w{beginning} of a defun, and is thus always
fb70c9e1f026 (Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents: 68517
diff changeset
581 outside any string or comment. (@xref{Left Margin Paren}.) If you
fb70c9e1f026 (Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents: 68517
diff changeset
582 don't follow this convention, Font Lock mode can misfontify the text
fb70c9e1f026 (Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents: 68517
diff changeset
583 that follows an open-parenthesis or open-brace in the leftmost column
fb70c9e1f026 (Font Lock): C mode no longer depends on (-in-col-0.
Richard M. Stallman <rms@gnu.org>
parents: 68517
diff changeset
584 that is inside a string or comment.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
585
36719
ff26f01b3c8d (Faces): Fix description of terminals which support faces.
Eli Zaretskii <eliz@gnu.org>
parents: 36554
diff changeset
586 @cindex slow display during scrolling
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
587 The variable @code{font-lock-beginning-of-syntax-function} (always
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
588 buffer-local) specifies how Font Lock mode can find a position
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
589 guaranteed to be outside any comment or string. In modes which use the
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
590 leftmost column parenthesis convention, the default value of the variable
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
591 is @code{beginning-of-defun}---that tells Font Lock mode to use the
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
592 convention. If you set this variable to @code{nil}, Font Lock no longer
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
593 relies on the convention. This avoids incorrect results, but the price
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
594 is that, in some cases, fontification for a changed text must rescan
36719
ff26f01b3c8d (Faces): Fix description of terminals which support faces.
Eli Zaretskii <eliz@gnu.org>
parents: 36554
diff changeset
595 buffer text from the beginning of the buffer. This can considerably
ff26f01b3c8d (Faces): Fix description of terminals which support faces.
Eli Zaretskii <eliz@gnu.org>
parents: 36554
diff changeset
596 slow down redisplay while scrolling, particularly if you are close to
ff26f01b3c8d (Faces): Fix description of terminals which support faces.
Eli Zaretskii <eliz@gnu.org>
parents: 36554
diff changeset
597 the end of a large buffer.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
598
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
599 @findex font-lock-add-keywords
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
600 Font Lock highlighting patterns already exist for many modes, but you
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
601 may want to fontify additional patterns. You can use the function
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
602 @code{font-lock-add-keywords}, to add your own highlighting patterns for
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
603 a particular mode. For example, to highlight @samp{FIXME:} words in C
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
604 comments, use this:
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
605
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
606 @example
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
607 (font-lock-add-keywords
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
608 'c-mode
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
609 '(("\\<\\(FIXME\\):" 1 font-lock-warning-face t)))
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
610 @end example
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
611
38923
62061f910492 (Font Lock): Document font-lock-remove-keywords.
Eli Zaretskii <eliz@gnu.org>
parents: 38921
diff changeset
612 @findex font-lock-remove-keywords
62061f910492 (Font Lock): Document font-lock-remove-keywords.
Eli Zaretskii <eliz@gnu.org>
parents: 38921
diff changeset
613 To remove keywords from the font-lock highlighting patterns, use the
51792
8896f8091409 (Font Lock): Add xref for format info on font-lock-remove-keywords.
Richard M. Stallman <rms@gnu.org>
parents: 49600
diff changeset
614 function @code{font-lock-remove-keywords}. @xref{Search-based
56779
7594fd57477f (Font Lock): Correct invalid @xref.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52979
diff changeset
615 Fontification,,, elisp, The Emacs Lisp Reference Manual}, for
7594fd57477f (Font Lock): Correct invalid @xref.
Luc Teirlinck <teirllm@auburn.edu>
parents: 52979
diff changeset
616 documentation of the format of this list.
38923
62061f910492 (Font Lock): Document font-lock-remove-keywords.
Eli Zaretskii <eliz@gnu.org>
parents: 38921
diff changeset
617
42234
64fa0eed5865 (Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents: 41374
diff changeset
618 @cindex just-in-time (JIT) font-lock
64fa0eed5865 (Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents: 41374
diff changeset
619 @cindex background syntax highlighting
64fa0eed5865 (Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents: 41374
diff changeset
620 Fontifying large buffers can take a long time. To avoid large
64fa0eed5865 (Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents: 41374
diff changeset
621 delays when a file is visited, Emacs fontifies only the visible
64fa0eed5865 (Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents: 41374
diff changeset
622 portion of a buffer. As you scroll through the buffer, each portion
64fa0eed5865 (Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents: 41374
diff changeset
623 that becomes visible is fontified as soon as it is displayed. The
64fa0eed5865 (Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents: 41374
diff changeset
624 parts of the buffer that are not displayed are fontified
60857
87594637fb45 (Font Lock): Put commas inside closequotes.
Richard M. Stallman <rms@gnu.org>
parents: 60424
diff changeset
625 ``stealthily,'' in the background, i.e.@: when Emacs is idle. You can
59796
48aa868cde0b Don't say just "option" when talking about variables.
Richard M. Stallman <rms@gnu.org>
parents: 59429
diff changeset
626 control this background fontification, also called @dfn{Just-In-Time}
48aa868cde0b Don't say just "option" when talking about variables.
Richard M. Stallman <rms@gnu.org>
parents: 59429
diff changeset
627 (or @dfn{JIT}) Lock, by customizing variables in the customization
48aa868cde0b Don't say just "option" when talking about variables.
Richard M. Stallman <rms@gnu.org>
parents: 59429
diff changeset
628 group @samp{jit-lock}. @xref{Specific Customization}.
42234
64fa0eed5865 (Font Lock): Mention jit-lock and its customization group.
Eli Zaretskii <eliz@gnu.org>
parents: 41374
diff changeset
629
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
630 @node Highlight Interactively
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
631 @section Interactive Highlighting
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
632 @cindex highlighting by matching
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
633 @cindex interactive highlighting
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
634 @cindex Highlight Changes mode
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
635
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
636 @findex highlight-changes-mode
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
637 Use @kbd{M-x highlight-changes-mode} to enable (or disable)
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
638 Highlight Changes mode, a minor mode that uses faces (colors,
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
639 typically) to indicate which parts of the buffer were changed most
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
640 recently.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
641
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
642 @cindex Hi Lock mode
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
643 @findex hi-lock-mode
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
644 Hi Lock mode is another minor mode, which highlights text that
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
645 matches your specified regular expressions. For example, you might
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
646 wish to see all the references to a certain variable in a program
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
647 source file, highlight certain parts in a voluminous output of some
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
648 program, or make certain names stand out in an article. Use the
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
649 @kbd{M-x hi-lock-mode} command to enable (or disable) Hi Lock mode.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
650 To enable Hi Lock mode for all buffers, use @kbd{M-x
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
651 global-hi-lock-mode} or place @code{(global-hi-lock-mode 1)} in your
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
652 @file{.emacs} file.
67476
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
653
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
654 Hi Lock mode works like Font Lock mode (@pxref{Font Lock}), except
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
655 that you specify explicitly the regular expressions to highlight. You
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
656 control them with these commands:
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
657
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
658 @table @kbd
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
659 @item C-x w h @var{regexp} @key{RET} @var{face} @key{RET}
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
660 @kindex C-x w h
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
661 @findex highlight-regexp
67476
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
662 Highlight text that matches @var{regexp} using face @var{face}
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
663 (@code{highlight-regexp}). The highlighting will remain as long as
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
664 the buffer is loaded. For example, to highlight all occurrences of
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
665 the word ``whim'' using the default face (a yellow background)
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
666 @kbd{C-x w h whim @key{RET} @key{RET}}. Any face can be used for
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
667 highlighting, Hi Lock provides several of its own and these are
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
668 pre-loaded into a history list. While being prompted for a face use
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
669 @kbd{M-p} and @kbd{M-n} to cycle through them.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
670
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
671 You can use this command multiple times, specifying various regular
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
672 expressions to highlight in different ways.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
673
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
674 @item C-x w r @var{regexp} @key{RET}
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
675 @kindex C-x w r
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
676 @findex unhighlight-regexp
67771
42ea65c4e348 (Highlight Interactively): Use double space to separate sentences.
Juri Linkov <juri@jurta.org>
parents: 67476
diff changeset
677 Unhighlight @var{regexp} (@code{unhighlight-regexp}).
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
678
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
679 If you invoke this from the menu, you select the expression to
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
680 unhighlight from a list. If you invoke this from the keyboard, you
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
681 use the minibuffer. It will show the most recently added regular
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
682 expression; use @kbd{M-p} to show the next older expression and
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
683 @kbd{M-n} to select the next newer expression. (You can also type the
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
684 expression by hand, with completion.) When the expression you want to
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
685 unhighlight appears in the minibuffer, press @kbd{@key{RET}} to exit
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
686 the minibuffer and unhighlight it.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
687
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
688 @item C-x w l @var{regexp} @key{RET} @var{face} @key{RET}
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
689 @kindex C-x w l
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
690 @findex highlight-lines-matching-regexp
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
691 @cindex lines, highlighting
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
692 @cindex highlighting lines of text
38115
c75a19b1930f Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents: 38048
diff changeset
693 Highlight entire lines containing a match for @var{regexp}, using face
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
694 @var{face} (@code{highlight-lines-matching-regexp}).
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
695
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
696 @item C-x w b
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
697 @kindex C-x w b
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
698 @findex hi-lock-write-interactive-patterns
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
699 Insert all the current highlighting regexp/face pairs into the buffer
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
700 at point, with comment delimiters to prevent them from changing your
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
701 program. (This key binding runs the
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
702 @code{hi-lock-write-interactive-patterns} command.)
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
703
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
704 These patterns will be read the next time you visit the file while
67476
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
705 Hi Lock mode is enabled, or whenever you use the @kbd{M-x
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
706 hi-lock-find-patterns} command.
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
707
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
708 @item C-x w i
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
709 @kindex C-x w i
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
710 @findex hi-lock-find-patterns
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
711 @vindex hi-lock-exclude-modes
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
712 Re-read regexp/face pairs in the current buffer
67771
42ea65c4e348 (Highlight Interactively): Use double space to separate sentences.
Juri Linkov <juri@jurta.org>
parents: 67476
diff changeset
713 (@code{hi-lock-write-interactive-patterns}). Users familiar with Font
67476
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
714 Lock keywords might interactively enter patterns
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
715 (@code{highlight-regexp}), write them into the file
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
716 (@code{hi-lock-write-interactive-patterns}), edit them, perhaps
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
717 including different faces for different parenthesized parts of the
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
718 match, and finally use this command
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
719 (@code{hi-lock-write-interactive-patterns}) to have Hi Lock highlight
9b11091298b7 (Highlight Interactively): Include global-hi-lock-mode. Add miscellaneous
Eli Zaretskii <eliz@gnu.org>
parents: 67462
diff changeset
720 them.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
721
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
722 This command does nothing if the current major mode's symbol is a member
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
723 of the list @code{hi-lock-exclude-modes}.
36554
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
724 @end table
9904afd52408 (Faces, Font Lock, Highlight Changes)
Gerd Moellmann <gerd@gnu.org>
parents: 36263
diff changeset
725
45877
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
726 @node Fringes
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
727 @section Window Fringes
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
728 @cindex fringes
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
729
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
730 On a graphical display, each Emacs window normally has narrow
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
731 @dfn{fringes} on the left and right edges. The fringes display
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
732 indications about the text in the window.
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
733
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
734 The most common use of the fringes is to indicate a continuation
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
735 line, when one line of text is split into multiple lines on the
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
736 screen. The left fringe shows a curving arrow for each screen line
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
737 except the first, indicating that ``this is not the real beginning.''
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
738 The right fringe shows a curving arrow for each screen line except the
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
739 last, indicating that ``this is not the real end.''
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
740
45889
0d2a977d3d32 (Fringes): Fix a typo. Mention the fact that arrows on the fringes are
Eli Zaretskii <eliz@gnu.org>
parents: 45883
diff changeset
741 The fringes indicate line truncation with short horizontal arrows
45877
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
742 meaning ``there's more text on this line which is scrolled
45889
0d2a977d3d32 (Fringes): Fix a typo. Mention the fact that arrows on the fringes are
Eli Zaretskii <eliz@gnu.org>
parents: 45883
diff changeset
743 horizontally out of view;'' clicking the mouse on one of the arrows
0d2a977d3d32 (Fringes): Fix a typo. Mention the fact that arrows on the fringes are
Eli Zaretskii <eliz@gnu.org>
parents: 45883
diff changeset
744 scrolls the display horizontally in the direction of the arrow. The
62417
6d49a2df78a7 Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61411
diff changeset
745 fringes can also indicate other things, such as empty lines, or where a
45889
0d2a977d3d32 (Fringes): Fix a typo. Mention the fact that arrows on the fringes are
Eli Zaretskii <eliz@gnu.org>
parents: 45883
diff changeset
746 program you are debugging is executing (@pxref{Debuggers}).
45877
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
747
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
748 @findex set-fringe-style
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
749 @findex fringe-mode
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
750 You can enable and disable the fringes for all frames using
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
751 @kbd{M-x fringe-mode}. To enable and disable the fringes
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
752 for the selected frame, use @kbd{M-x set-fringe-style}.
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
753
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
754 @node Useless Whitespace
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
755 @section Useless Whitespace
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
756
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
757 @cindex trailing whitespace
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
758 @cindex whitespace, trailing
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
759 @vindex show-trailing-whitespace
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
760 It is easy to leave unnecessary spaces at the end of a line, or
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
761 empty lines at the end of a file, without realizing it. In most
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
762 cases, this @dfn{trailing whitespace} has no effect, but there are
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
763 special circumstances where it matters. It can also be a nuisance
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
764 that the line has ``changed,'' when the change is just spaces added or
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
765 removed at the end.
45877
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
766
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
767 You can make trailing whitespace at the end of a line visible on the
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
768 screen by setting the buffer-local variable
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
769 @code{show-trailing-whitespace} to @code{t}. Then Emacs displays
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
770 trailing whitespace in the face @code{trailing-whitespace}.
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
771
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
772 This feature does not apply when point is at the end of the line
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
773 containing the whitespace. Strictly speaking, that is ``trailing
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
774 whitespace'' nonetheless, but displaying it specially in that case
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
775 looks ugly while you are typing in new text. In this special case,
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
776 the location of point is enough to show you that the spaces are
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
777 present.
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
778
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
779 @findex delete-trailing-whitespace
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
780 To delete all trailing whitespace within the current buffer's
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
781 accessible portion (@pxref{Narrowing}), type @kbd{M-x
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
782 delete-trailing-whitespace @key{RET}}. (This command does not remove
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
783 the form-feed characters.)
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
784
61411
432f333b0501 (Useless Whitespace): `indicate-unused-lines' is now called
Luc Teirlinck <teirllm@auburn.edu>
parents: 60988
diff changeset
785 @vindex indicate-empty-lines
45877
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
786 @vindex default-indicate-empty-lines
48534
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
787 @cindex unused lines
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
788 @cindex fringes, and unused line indication
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
789 Emacs can indicate unused lines at the end of the window with a
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
790 small image in the left fringe (@pxref{Fringes}). The image appears
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
791 for window lines that do not correspond to any buffer text. Blank
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
792 lines at the end of the buffer then stand out because they do not have
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
793 this image in the fringe.
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
794
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
795 To enable this feature, set the buffer-local variable
61411
432f333b0501 (Useless Whitespace): `indicate-unused-lines' is now called
Luc Teirlinck <teirllm@auburn.edu>
parents: 60988
diff changeset
796 @code{indicate-empty-lines} to a non-@code{nil} value. The default
48534
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
797 value of this variable is controlled by the variable
61411
432f333b0501 (Useless Whitespace): `indicate-unused-lines' is now called
Luc Teirlinck <teirllm@auburn.edu>
parents: 60988
diff changeset
798 @code{default-indicate-empty-lines}; by setting that variable, you
48534
4128ae2ce141 indicate-empty-lines => indicate-unused-lines, etc.
Richard M. Stallman <rms@gnu.org>
parents: 47071
diff changeset
799 can enable or disable this feature for all new buffers. (This feature
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
800 currently doesn't work on text-only terminals.)
45877
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
801
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
802 @node Selective Display
Dave Love <fx@gnu.org>
parents:
diff changeset
803 @section Selective Display
36263
11db0318031d Remove redundant index entries.
Eli Zaretskii <eliz@gnu.org>
parents: 36260
diff changeset
804 @cindex selective display
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
805 @findex set-selective-display
Dave Love <fx@gnu.org>
parents:
diff changeset
806 @kindex C-x $
Dave Love <fx@gnu.org>
parents:
diff changeset
807
Dave Love <fx@gnu.org>
parents:
diff changeset
808 Emacs has the ability to hide lines indented more than a certain number
Dave Love <fx@gnu.org>
parents:
diff changeset
809 of columns (you specify how many columns). You can use this to get an
Dave Love <fx@gnu.org>
parents:
diff changeset
810 overview of a part of a program.
Dave Love <fx@gnu.org>
parents:
diff changeset
811
62417
6d49a2df78a7 Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61411
diff changeset
812 To hide lines in the current buffer, type @kbd{C-x $}
6d49a2df78a7 Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61411
diff changeset
813 (@code{set-selective-display}) with a numeric argument @var{n}. Then
6d49a2df78a7 Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61411
diff changeset
814 lines with at least @var{n} columns of indentation disappear from the
6d49a2df78a7 Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61411
diff changeset
815 screen. The only indication of their presence is that three dots
6d49a2df78a7 Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61411
diff changeset
816 (@samp{@dots{}}) appear at the end of each visible line that is
6d49a2df78a7 Various minor changes.
Luc Teirlinck <teirllm@auburn.edu>
parents: 61411
diff changeset
817 followed by one or more hidden ones.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
818
Dave Love <fx@gnu.org>
parents:
diff changeset
819 The commands @kbd{C-n} and @kbd{C-p} move across the hidden lines as
Dave Love <fx@gnu.org>
parents:
diff changeset
820 if they were not there.
Dave Love <fx@gnu.org>
parents:
diff changeset
821
Dave Love <fx@gnu.org>
parents:
diff changeset
822 The hidden lines are still present in the buffer, and most editing
Dave Love <fx@gnu.org>
parents:
diff changeset
823 commands see them as usual, so you may find point in the middle of the
Dave Love <fx@gnu.org>
parents:
diff changeset
824 hidden text. When this happens, the cursor appears at the end of the
Dave Love <fx@gnu.org>
parents:
diff changeset
825 previous line, after the three dots. If point is at the end of the
Dave Love <fx@gnu.org>
parents:
diff changeset
826 visible line, before the newline that ends it, the cursor appears before
Dave Love <fx@gnu.org>
parents:
diff changeset
827 the three dots.
Dave Love <fx@gnu.org>
parents:
diff changeset
828
Dave Love <fx@gnu.org>
parents:
diff changeset
829 To make all lines visible again, type @kbd{C-x $} with no argument.
Dave Love <fx@gnu.org>
parents:
diff changeset
830
Dave Love <fx@gnu.org>
parents:
diff changeset
831 @vindex selective-display-ellipses
Dave Love <fx@gnu.org>
parents:
diff changeset
832 If you set the variable @code{selective-display-ellipses} to
Dave Love <fx@gnu.org>
parents:
diff changeset
833 @code{nil}, the three dots do not appear at the end of a line that
Dave Love <fx@gnu.org>
parents:
diff changeset
834 precedes hidden lines. Then there is no visible indication of the
Dave Love <fx@gnu.org>
parents:
diff changeset
835 hidden lines. This variable becomes local automatically when set.
Dave Love <fx@gnu.org>
parents:
diff changeset
836
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
837 See also @ref{Outline Mode} for another way to hide part of
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
838 the text in a buffer.
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
839
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
840 @node Optional Mode Line
Dave Love <fx@gnu.org>
parents:
diff changeset
841 @section Optional Mode Line Features
Dave Love <fx@gnu.org>
parents:
diff changeset
842
52461
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
843 @cindex buffer size display
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
844 @cindex display of buffer size
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
845 @findex size-indication-mode
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
846 The buffer percentage @var{pos} indicates the percentage of the
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
847 buffer above the top of the window. You can additionally display the
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
848 size of the buffer by typing @kbd{M-x size-indication-mode} to turn on
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
849 Size Indication mode. The size will be displayed immediately
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
850 following the buffer percentage like this:
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
851
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
852 @example
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
853 @var{POS} of @var{SIZE}
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
854 @end example
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
855
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
856 @noindent
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
857 Here @var{SIZE} is the human readable representation of the number of
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
858 characters in the buffer, which means that @samp{k} for 10^3, @samp{M}
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
859 for 10^6, @samp{G} for 10^9, etc., are used to abbreviate.
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
860
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
861 @cindex narrowing, and buffer size display
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
862 If you have narrowed the buffer (@pxref{Narrowing}), the size of the
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
863 accessible part of the buffer is shown.
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
864
36150
46e59561af4c Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents: 35433
diff changeset
865 @cindex line number display
46e59561af4c Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents: 35433
diff changeset
866 @cindex display of line number
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
867 @findex line-number-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
868 The current line number of point appears in the mode line when Line
Dave Love <fx@gnu.org>
parents:
diff changeset
869 Number mode is enabled. Use the command @kbd{M-x line-number-mode} to
Dave Love <fx@gnu.org>
parents:
diff changeset
870 turn this mode on and off; normally it is on. The line number appears
52461
030d7903be24 (Optional Mode Line): Document `size-indication-mode'.
Lute Kamstra <lute@gnu.org>
parents: 52401
diff changeset
871 after the buffer percentage @var{pos}, with the letter @samp{L} to
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
872 indicate what it is. @xref{Minor Modes}, for more information about
Dave Love <fx@gnu.org>
parents:
diff changeset
873 minor modes and about how to use this command.
Dave Love <fx@gnu.org>
parents:
diff changeset
874
38121
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
875 @cindex narrowing, and line number display
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
876 If you have narrowed the buffer (@pxref{Narrowing}), the displayed
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
877 line number is relative to the accessible portion of the buffer.
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
878 Thus, it isn't suitable as an argument to @code{goto-line}. (Use
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
879 @code{what-line} command to see the line number relative to the whole
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
880 file.)
38121
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
881
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
882 @vindex line-number-display-limit
Dave Love <fx@gnu.org>
parents:
diff changeset
883 If the buffer is very large (larger than the value of
Dave Love <fx@gnu.org>
parents:
diff changeset
884 @code{line-number-display-limit}), then the line number doesn't appear.
Dave Love <fx@gnu.org>
parents:
diff changeset
885 Emacs doesn't compute the line number when the buffer is large, because
38121
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
886 that would be too slow. Set it to @code{nil} to remove the limit.
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
887
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
888 @vindex line-number-display-limit-width
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
889 Line-number computation can also be slow if the lines in the buffer
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
890 are too long. For this reason, Emacs normally doesn't display line
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
891 numbers if the average width, in characters, of lines near point is
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
892 larger than the value of the variable
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
893 @code{line-number-display-limit-width}. The default value is 200
82d39521a482 (Optional Mode Line): Document line-number-display-limit-width.
Eli Zaretskii <eliz@gnu.org>
parents: 38115
diff changeset
894 characters.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
895
Dave Love <fx@gnu.org>
parents:
diff changeset
896 @cindex Column Number mode
Dave Love <fx@gnu.org>
parents:
diff changeset
897 @cindex mode, Column Number
Dave Love <fx@gnu.org>
parents:
diff changeset
898 @findex column-number-mode
Dave Love <fx@gnu.org>
parents:
diff changeset
899 You can also display the current column number by turning on Column
Dave Love <fx@gnu.org>
parents:
diff changeset
900 Number mode. It displays the current column number preceded by the
Dave Love <fx@gnu.org>
parents:
diff changeset
901 letter @samp{C}. Type @kbd{M-x column-number-mode} to toggle this mode.
Dave Love <fx@gnu.org>
parents:
diff changeset
902
Dave Love <fx@gnu.org>
parents:
diff changeset
903 @findex display-time
Dave Love <fx@gnu.org>
parents:
diff changeset
904 @cindex time (on mode line)
Dave Love <fx@gnu.org>
parents:
diff changeset
905 Emacs can optionally display the time and system load in all mode
30870
4f58e2bbcb08 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 29841
diff changeset
906 lines. To enable this feature, type @kbd{M-x display-time} or customize
4f58e2bbcb08 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 29841
diff changeset
907 the option @code{display-time-mode}. The information added to the mode
4f58e2bbcb08 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 29841
diff changeset
908 line usually appears after the buffer name, before the mode names and
4f58e2bbcb08 *** empty log message ***
Dave Love <fx@gnu.org>
parents: 29841
diff changeset
909 their parentheses. It looks like this:
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
910
Dave Love <fx@gnu.org>
parents:
diff changeset
911 @example
Dave Love <fx@gnu.org>
parents:
diff changeset
912 @var{hh}:@var{mm}pm @var{l.ll}
Dave Love <fx@gnu.org>
parents:
diff changeset
913 @end example
Dave Love <fx@gnu.org>
parents:
diff changeset
914
Dave Love <fx@gnu.org>
parents:
diff changeset
915 @noindent
Dave Love <fx@gnu.org>
parents:
diff changeset
916 @vindex display-time-24hr-format
Dave Love <fx@gnu.org>
parents:
diff changeset
917 Here @var{hh} and @var{mm} are the hour and minute, followed always by
Dave Love <fx@gnu.org>
parents:
diff changeset
918 @samp{am} or @samp{pm}. @var{l.ll} is the average number of running
Dave Love <fx@gnu.org>
parents:
diff changeset
919 processes in the whole system recently. (Some fields may be missing if
Dave Love <fx@gnu.org>
parents:
diff changeset
920 your operating system cannot support them.) If you prefer time display
Dave Love <fx@gnu.org>
parents:
diff changeset
921 in 24-hour format, set the variable @code{display-time-24hr-format}
Dave Love <fx@gnu.org>
parents:
diff changeset
922 to @code{t}.
Dave Love <fx@gnu.org>
parents:
diff changeset
923
Dave Love <fx@gnu.org>
parents:
diff changeset
924 @cindex mail (on mode line)
28800
d10b6cddbf91 display-time-use-mail-icon
Dave Love <fx@gnu.org>
parents: 27219
diff changeset
925 @vindex display-time-use-mail-icon
d10b6cddbf91 display-time-use-mail-icon
Dave Love <fx@gnu.org>
parents: 27219
diff changeset
926 @vindex display-time-mail-face
45877
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
927 @vindex display-time-mail-file
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
928 @vindex display-time-mail-directory
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
929 The word @samp{Mail} appears after the load level if there is mail
28800
d10b6cddbf91 display-time-use-mail-icon
Dave Love <fx@gnu.org>
parents: 27219
diff changeset
930 for you that you have not read yet. On a graphical display you can use
d10b6cddbf91 display-time-use-mail-icon
Dave Love <fx@gnu.org>
parents: 27219
diff changeset
931 an icon instead of @samp{Mail} by customizing
d10b6cddbf91 display-time-use-mail-icon
Dave Love <fx@gnu.org>
parents: 27219
diff changeset
932 @code{display-time-use-mail-icon}; this may save some space on the mode
d10b6cddbf91 display-time-use-mail-icon
Dave Love <fx@gnu.org>
parents: 27219
diff changeset
933 line. You can customize @code{display-time-mail-face} to make the mail
45877
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
934 indicator prominent. Use @code{display-time-mail-file} to specify
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
935 the mail file to check, or set @code{display-time-mail-directory}
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
936 to specify the directory to check for incoming mail (any nonempty regular
74f67ed375f0 Rename Trailing Whitespace to Useless Whitespace
Richard M. Stallman <rms@gnu.org>
parents: 43664
diff changeset
937 file in the directory is considered as ``newly arrived mail'').
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
938
39267
a8c0a02f6129 Spelling corrections.
Richard M. Stallman <rms@gnu.org>
parents: 39162
diff changeset
939 @cindex mode line, 3D appearance
35433
1777865bdb98 (Optional Mode Line): Explain how to turn off the 3D appearence of
Eli Zaretskii <eliz@gnu.org>
parents: 34749
diff changeset
940 @cindex attributes of mode line, changing
1777865bdb98 (Optional Mode Line): Explain how to turn off the 3D appearence of
Eli Zaretskii <eliz@gnu.org>
parents: 34749
diff changeset
941 @cindex non-integral number of lines in a window
38115
c75a19b1930f Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents: 38048
diff changeset
942 By default, the mode line is drawn on graphics displays with
c75a19b1930f Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents: 38048
diff changeset
943 3D-style highlighting, like that of a button when it is not being
c75a19b1930f Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents: 38048
diff changeset
944 pressed. If you don't like this effect, you can disable the 3D
c75a19b1930f Local rewrites. Describe basic no-argument C-v and M-v first,
Richard M. Stallman <rms@gnu.org>
parents: 38048
diff changeset
945 highlighting of the mode line, by customizing the attributes of the
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
946 @code{mode-line} face. @xref{Face Customization}.
35433
1777865bdb98 (Optional Mode Line): Explain how to turn off the 3D appearence of
Eli Zaretskii <eliz@gnu.org>
parents: 34749
diff changeset
947
43260
59e700c2760c (Faces): Document the mode-line-inactive face.
Eli Zaretskii <eliz@gnu.org>
parents: 43101
diff changeset
948 @cindex non-selected windows, mode line appearance
43289
0c1cdf6e7ef1 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 43283
diff changeset
949 By default, the mode line of nonselected windows is displayed in a
43283
1124d2e7429a mode-line-in-non-selected-windows is now a boolean.
Kim F. Storm <storm@cua.dk>
parents: 43260
diff changeset
950 different face, called @code{mode-line-inactive}. Only the selected
43289
0c1cdf6e7ef1 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 43283
diff changeset
951 window is displayed in the @code{mode-line} face. This helps show
0c1cdf6e7ef1 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 43283
diff changeset
952 which window is selected. When the minibuffer is selected, since
0c1cdf6e7ef1 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 43283
diff changeset
953 it has no mode line, the window from which you activated the minibuffer
0c1cdf6e7ef1 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 43283
diff changeset
954 has its mode line displayed using @code{mode-line}; as a result,
0c1cdf6e7ef1 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 43283
diff changeset
955 ordinary entry to the minibuffer does not change any mode lines.
0c1cdf6e7ef1 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 43283
diff changeset
956
0c1cdf6e7ef1 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 43283
diff changeset
957 @vindex mode-line-in-non-selected-windows
0c1cdf6e7ef1 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 43283
diff changeset
958 You can disable use of @code{mode-line-inactive} by setting variable
43283
1124d2e7429a mode-line-in-non-selected-windows is now a boolean.
Kim F. Storm <storm@cua.dk>
parents: 43260
diff changeset
959 @code{mode-line-in-non-selected-windows} to @code{nil}; then all mode
1124d2e7429a mode-line-in-non-selected-windows is now a boolean.
Kim F. Storm <storm@cua.dk>
parents: 43260
diff changeset
960 lines are displayed in the @code{mode-line} face.
43260
59e700c2760c (Faces): Document the mode-line-inactive face.
Eli Zaretskii <eliz@gnu.org>
parents: 43101
diff changeset
961
68455
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
962 @vindex eol-mnemonic-unix
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
963 @vindex eol-mnemonic-dos
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
964 @vindex eol-mnemonic-mac
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
965 @vindex eol-mnemonic-undecided
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
966 You can customize the mode line display for each of the end-of-line
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
967 formats by setting each of the variables @code{eol-mnemonic-unix},
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
968 @code{eol-mnemonic-dos}, @code{eol-mnemonic-mac}, and
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
969 @code{eol-mnemonic-undecided} to the strings you prefer.
68455
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
970
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
971 @node Text Display
Dave Love <fx@gnu.org>
parents:
diff changeset
972 @section How Text Is Displayed
Dave Love <fx@gnu.org>
parents:
diff changeset
973 @cindex characters (in text)
Dave Love <fx@gnu.org>
parents:
diff changeset
974
52979
3649390c0f91 Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents: 52461
diff changeset
975 @acronym{ASCII} printing characters (octal codes 040 through 0176) in Emacs
38048
bd45e6c57fba Proofreading fixes from Danny Colascione <qtmstr@optonline.net>.
Eli Zaretskii <eliz@gnu.org>
parents: 37485
diff changeset
976 buffers are displayed with their graphics, as are non-ASCII multibyte
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
977 printing characters (octal codes above 0400).
Dave Love <fx@gnu.org>
parents:
diff changeset
978
52979
3649390c0f91 Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents: 52461
diff changeset
979 Some @acronym{ASCII} control characters are displayed in special ways. The
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
980 newline character (octal code 012) is displayed by starting a new line.
Dave Love <fx@gnu.org>
parents:
diff changeset
981 The tab character (octal code 011) is displayed by moving to the next
Dave Love <fx@gnu.org>
parents:
diff changeset
982 tab stop column (normally every 8 columns).
Dave Love <fx@gnu.org>
parents:
diff changeset
983
52979
3649390c0f91 Replace @sc{ascii} and ASCII with @acronym{ASCII}.
Eli Zaretskii <eliz@gnu.org>
parents: 52461
diff changeset
984 Other @acronym{ASCII} control characters are normally displayed as a caret
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
985 (@samp{^}) followed by the non-control version of the character; thus,
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
986 control-A is displayed as @samp{^A}. The caret appears in face
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
987 @code{escape-glyph}.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
988
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
989 Non-@acronym{ASCII} characters 0200 through 0237 (octal) are
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
990 displayed with octal escape sequences; thus, character code 0230
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
991 (octal) is displayed as @samp{\230}. The backslash appears in face
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
992 @code{escape-glyph}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
993
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
994 @vindex ctl-arrow
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
995 If the variable @code{ctl-arrow} is @code{nil}, control characters in
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
996 the buffer are displayed with octal escape sequences, except for newline
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
997 and tab. Altering the value of @code{ctl-arrow} makes it local to the
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
998 current buffer; until that time, the default value is in effect. The
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
999 default is initially @code{t}.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1000
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1001 The display of character codes 0240 through 0377 (octal) may be
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1002 either as escape sequences or as graphics. They do not normally occur
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1003 in multibyte buffers, but if they do, they are displayed as Latin-1
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1004 graphics. In unibyte mode, if you enable European display they are
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1005 displayed using their graphics (assuming your terminal supports them),
68714
55bc2caea3d5 (Text Display): Update xrefs.
Luc Teirlinck <teirllm@auburn.edu>
parents: 68639
diff changeset
1006 otherwise as escape sequences. @xref{Unibyte Mode}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1007
63721
9bcd6144b097 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63649
diff changeset
1008 @vindex nobreak-char-display
63753
21f1853e2386 (Text Display): Change index entries.
Richard M. Stallman <rms@gnu.org>
parents: 63722
diff changeset
1009 @cindex no-break space, display
21f1853e2386 (Text Display): Change index entries.
Richard M. Stallman <rms@gnu.org>
parents: 63722
diff changeset
1010 @cindex no-break hyphen, display
21f1853e2386 (Text Display): Change index entries.
Richard M. Stallman <rms@gnu.org>
parents: 63722
diff changeset
1011 @cindex soft hyphen, display
63721
9bcd6144b097 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63649
diff changeset
1012 Some character sets define ``no-break'' versions of the space and
9bcd6144b097 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63649
diff changeset
1013 hyphen characters, which are used where a line should not be broken.
9bcd6144b097 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63649
diff changeset
1014 Emacs normally displays these characters with special faces
9bcd6144b097 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63649
diff changeset
1015 (respectively, @code{nobreak-space} and @code{escape-glyph}) to
9bcd6144b097 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63649
diff changeset
1016 distinguish them from ordinary spaces and hyphens. You can turn off
9bcd6144b097 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63649
diff changeset
1017 this feature by setting the variable @code{nobreak-char-display} to
9bcd6144b097 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63649
diff changeset
1018 @code{nil}. If you set the variable to any other value, that means to
9bcd6144b097 (Text Display): Renamed show-nonbreak-escape
Richard M. Stallman <rms@gnu.org>
parents: 63649
diff changeset
1019 prefix these characters with an escape character.
60950
c7ee76ed1a51 (Text Display): Mention non-breaking spaces.
Richard M. Stallman <rms@gnu.org>
parents: 60857
diff changeset
1020
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1021 @vindex tab-width
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1022 @vindex default-tab-width
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1023 Normally, a tab character in the buffer is displayed as whitespace which
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1024 extends to the next display tab stop position, and display tab stops come
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1025 at intervals equal to eight spaces. The number of spaces per tab is
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1026 controlled by the variable @code{tab-width}, which is made local by
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1027 changing it. Note that how the tab character
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1028 in the buffer is displayed has nothing to do with the definition of
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1029 @key{TAB} as a command. The variable @code{tab-width} must have an
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1030 integer value between 1 and 1000, inclusive. The variable
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1031 @code{default-tab-width} controls the default value of this variable
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1032 for buffers where you have not set it locally.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1033
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1034 You can customize the way any particular character code is displayed
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1035 by means of a display table. @xref{Display Tables,, Display Tables,
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1036 elisp, The Emacs Lisp Reference Manual}.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1037
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1038 @node Cursor Display
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1039 @section Displaying the Cursor
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1040
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1041 @findex blink-cursor-mode
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1042 @vindex blink-cursor-alist
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1043 @cindex cursor, locating visually
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1044 @cindex cursor, blinking
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1045 You can customize the cursor's color, and whether it blinks, using
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1046 the @code{cursor} Custom group (@pxref{Easy Customization}). On
70357
03e273042b0d Say "graphical displays".
Richard M. Stallman <rms@gnu.org>
parents: 68841
diff changeset
1047 a graphical display, the command @kbd{M-x blink-cursor-mode} enables
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1048 or disables the blinking of the cursor. (On text terminals, the
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1049 terminal itself blinks the cursor, and Emacs has no control over it.)
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1050 You can control how the cursor appears when it blinks off by setting
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1051 the variable @code{blink-cursor-alist}.
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1052
67937
cee5814efd02 (Displaying the Cursor): Mention visible-cursor.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 67771
diff changeset
1053 @vindex visible-cursor
cee5814efd02 (Displaying the Cursor): Mention visible-cursor.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 67771
diff changeset
1054 Some text terminals offer two different cursors: the normal cursor
cee5814efd02 (Displaying the Cursor): Mention visible-cursor.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 67771
diff changeset
1055 and the very visible cursor, where the latter may be e.g. bigger or
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
1056 blinking. By default Emacs uses the very visible cursor, and switches
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
1057 to it when you start or resume Emacs. If the variable
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
1058 @code{visible-cursor} is @code{nil} when Emacs starts or resumes, it
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
1059 doesn't switch, so it uses the normal cursor.
67937
cee5814efd02 (Displaying the Cursor): Mention visible-cursor.
Stefan Monnier <monnier@iro.umontreal.ca>
parents: 67771
diff changeset
1060
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1061 @cindex cursor in non-selected windows
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1062 @vindex cursor-in-non-selected-windows
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1063 Normally, the cursor appears in non-selected windows in the ``off''
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1064 state, with the same appearance as when the blinking cursor blinks
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1065 ``off''. For a box cursor, this is a hollow box; for a bar cursor,
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1066 this is a thinner bar. To turn off cursors in non-selected windows,
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1067 customize the variable @code{cursor-in-non-selected-windows} and assign
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1068 it a @code{nil} value.
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1069
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1070 @vindex x-stretch-cursor
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1071 @cindex wide block cursor
70357
03e273042b0d Say "graphical displays".
Richard M. Stallman <rms@gnu.org>
parents: 68841
diff changeset
1072 On graphical displays, Emacs can optionally draw the block cursor
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1073 as wide as the character under the cursor---for example, if the cursor
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1074 is on a tab character, it would cover the full width occupied by that
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1075 tab character. To enable this feature, set the variable
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1076 @code{x-stretch-cursor} to a non-@code{nil} value.
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1077
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1078 @findex hl-line-mode
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1079 @findex global-hl-line-mode
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1080 @cindex highlight current line
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1081 To make the cursor even more visible, you can use HL Line mode, a
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1082 minor mode that highlights the line containing point. Use @kbd{M-x
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1083 hl-line-mode} to enable or disable it in the current buffer. @kbd{M-x
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1084 global-hl-line-mode} enables or disables the same mode globally.
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1085
36150
46e59561af4c Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents: 35433
diff changeset
1086 @node Display Custom
46e59561af4c Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents: 35433
diff changeset
1087 @section Customization of Display
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1088
68455
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
1089 This section describes variables (@pxref{Variables}) that you can
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1090 change to customize how Emacs displays. Beginning users can skip
68455
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
1091 it.
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
1092 @c the reason for that pxref is because an xref early in the
2ccd995850e5 (Display Custom): Add xref to Variables.
Richard M. Stallman <rms@gnu.org>
parents: 68220
diff changeset
1093 @c ``echo area'' section leads here.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1094
Dave Love <fx@gnu.org>
parents:
diff changeset
1095 @vindex inverse-video
Dave Love <fx@gnu.org>
parents:
diff changeset
1096 If the variable @code{inverse-video} is non-@code{nil}, Emacs attempts
Dave Love <fx@gnu.org>
parents:
diff changeset
1097 to invert all the lines of the display from what they normally are.
Dave Love <fx@gnu.org>
parents:
diff changeset
1098
Dave Love <fx@gnu.org>
parents:
diff changeset
1099 @vindex visible-bell
Dave Love <fx@gnu.org>
parents:
diff changeset
1100 If the variable @code{visible-bell} is non-@code{nil}, Emacs attempts
Dave Love <fx@gnu.org>
parents:
diff changeset
1101 to make the whole screen blink when it would normally make an audible bell
Dave Love <fx@gnu.org>
parents:
diff changeset
1102 sound. This variable has no effect if your terminal does not have a way
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1103 to make the screen blink.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1104
Dave Love <fx@gnu.org>
parents:
diff changeset
1105 @vindex echo-keystrokes
Dave Love <fx@gnu.org>
parents:
diff changeset
1106 The variable @code{echo-keystrokes} controls the echoing of multi-character
Dave Love <fx@gnu.org>
parents:
diff changeset
1107 keys; its value is the number of seconds of pause required to cause echoing
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
1108 to start, or zero, meaning don't echo at all. The value takes effect when
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
1109 there is someting to echo. @xref{Echo Area}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1110
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1111 @cindex truncation
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1112 @cindex line truncation, and fringes
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1113 As an alternative to continuation, Emacs can display long lines by
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1114 @dfn{truncation}. This means that all the characters that do not fit
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1115 in the width of the screen or window do not appear at all. On
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1116 graphical displays, a small straight arrow in the fringe indicates
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1117 truncation at either end of the line. On text-only terminals, @samp{$}
60104
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1118 appears in the first column when there is text truncated to the left,
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1119 and in the last column when there is text truncated to the right.
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1120
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1121 @vindex truncate-lines
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1122 @findex toggle-truncate-lines
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1123 Horizontal scrolling automatically causes line truncation
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1124 (@pxref{Horizontal Scrolling}). You can explicitly enable line
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1125 truncation for a particular buffer with the command @kbd{M-x
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1126 toggle-truncate-lines}. This works by locally changing the variable
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1127 @code{truncate-lines}. If that variable is non-@code{nil}, long lines
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1128 are truncated; if it is @code{nil}, they are continued onto multiple
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1129 screen lines. Setting the variable @code{truncate-lines} in any way
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1130 makes it local to the current buffer; until that time, the default
8116a5e9f2a1 (Display): Reorder menu.
Richard M. Stallman <rms@gnu.org>
parents: 59796
diff changeset
1131 value is in effect. The default value is normally @code{nil}.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1132
Dave Love <fx@gnu.org>
parents:
diff changeset
1133 @c @vindex truncate-partial-width-windows @c Idx entry is in Split Windows.
Dave Love <fx@gnu.org>
parents:
diff changeset
1134 If the variable @code{truncate-partial-width-windows} is
Dave Love <fx@gnu.org>
parents:
diff changeset
1135 non-@code{nil}, it forces truncation rather than continuation in any
Dave Love <fx@gnu.org>
parents:
diff changeset
1136 window less than the full width of the screen or frame, regardless of
Dave Love <fx@gnu.org>
parents:
diff changeset
1137 the value of @code{truncate-lines}. For information about side-by-side
Dave Love <fx@gnu.org>
parents:
diff changeset
1138 windows, see @ref{Split Window}. See also @ref{Display,, Display,
Dave Love <fx@gnu.org>
parents:
diff changeset
1139 elisp, The Emacs Lisp Reference Manual}.
Dave Love <fx@gnu.org>
parents:
diff changeset
1140
57194
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1141 @vindex overflow-newline-into-fringe
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1142 If the variable @code{overflow-newline-into-fringe} is
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1143 non-@code{nil} on a graphical display, then Emacs does not continue or
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1144 truncate a line which is exactly as wide as the window. Instead, the
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1145 newline overflows into the right fringe, and the cursor appears in the
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1146 fringe when positioned on that newline.
57194
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1147
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1148 @vindex indicate-buffer-boundaries
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1149 On a graphical display, Emacs can indicate the buffer boundaries in
70483
1673f96b0b2d Fix spelling errors.
Eli Zaretskii <eliz@gnu.org>
parents: 70357
diff changeset
1150 the fringes. It indicates the first line and the last line with
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1151 angle images in the fringes. This can be combined with up and down
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1152 arrow images which say whether it is possible to scroll the window up
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1153 and down.
57194
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1154
57251
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1155 The buffer-local variable @code{indicate-buffer-boundaries} controls
57194
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1156 how the buffer boundaries and window scrolling is indicated in the
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1157 fringes. If the value is @code{left} or @code{right}, both angle and
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1158 arrow bitmaps are displayed in the left or right fringe, respectively.
57194
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1159
57251
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1160 If value is an alist, each element @code{(@var{indicator} .
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1161 @var{position})} specifies the position of one of the indicators.
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1162 The @var{indicator} must be one of @code{top}, @code{bottom},
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1163 @code{up}, @code{down}, or @code{t} which specifies the default
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1164 position for the indicators not present in the alist.
62571
e2ddd55fafc1 (Display Custom): Correct typo.
Luc Teirlinck <teirllm@auburn.edu>
parents: 62417
diff changeset
1165 The @var{position} is one of @code{left}, @code{right}, or @code{nil}
57251
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1166 which specifies not to show this indicator.
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1167
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1168 For example, @code{((top . left) (t . right))} places the top angle
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1169 bitmap in left fringe, the bottom angle bitmap in right fringe, and
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1170 both arrow bitmaps in right fringe. To show just the angle bitmaps in
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1171 the left fringe, but no arrow bitmaps, use @code{((top . left)
f4a2067d260e (Display Custom) <indicate-buffer-boundaries>:
Kim F. Storm <storm@cua.dk>
parents: 57200
diff changeset
1172 (bottom . left))}.
57194
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1173
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1174 @vindex default-indicate-buffer-boundaries
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1175 The value of the variable @code{default-indicate-buffer-boundaries}
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1176 is the default value for @code{indicate-buffer-boundaries} in buffers
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1177 that do not override it.
4871edb9e1d3 (Display Custom): Add `overflow-newline-into-fringe',
Kim F. Storm <storm@cua.dk>
parents: 56779
diff changeset
1178
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1179 @vindex baud-rate
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1180 The variable @anchor{baud-rate}@code{baud-rate} holds the output
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1181 speed of the terminal, as far as Emacs knows. Setting this variable
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1182 does not change the speed of actual data transmission, but the value
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1183 is used for calculations. On text-only terminals, it affects padding,
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1184 and decisions about whether to scroll part of the screen or redraw it
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1185 instead. It also affects the behavior of incremental search.
32624
cc6228b81571 (Display Vars): Fix description of the role of
Gerd Moellmann <gerd@gnu.org>
parents: 31188
diff changeset
1186
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1187 On graphical displays, @code{baud-rate} is only used to determine
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1188 how frequently to look for pending input during display updating. A
36150
46e59561af4c Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents: 35433
diff changeset
1189 higher value of @code{baud-rate} means that check for pending input
46e59561af4c Display Vars node renamed Display Custom.
Richard M. Stallman <rms@gnu.org>
parents: 35433
diff changeset
1190 will be done less frequently.
25829
Dave Love <fx@gnu.org>
parents:
diff changeset
1191
36260
0d7feed66bac busy-cursor -> hourglass.
Gerd Moellmann <gerd@gnu.org>
parents: 36246
diff changeset
1192 @cindex hourglass pointer display
0d7feed66bac busy-cursor -> hourglass.
Gerd Moellmann <gerd@gnu.org>
parents: 36246
diff changeset
1193 @vindex hourglass-delay
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1194 On graphical display, Emacs can optionally display the mouse pointer
36156
3a9de976b35c Delete info on Font Lock Support Modes.
Richard M. Stallman <rms@gnu.org>
parents: 36151
diff changeset
1195 in a special shape to say that Emacs is busy. To turn this feature on
3a9de976b35c Delete info on Font Lock Support Modes.
Richard M. Stallman <rms@gnu.org>
parents: 36151
diff changeset
1196 or off, customize the group @code{cursor}. You can also control the
3a9de976b35c Delete info on Font Lock Support Modes.
Richard M. Stallman <rms@gnu.org>
parents: 36151
diff changeset
1197 amount of time Emacs must remain busy before the busy indicator is
36260
0d7feed66bac busy-cursor -> hourglass.
Gerd Moellmann <gerd@gnu.org>
parents: 36246
diff changeset
1198 displayed, by setting the variable @code{hourglass-delay}.
36156
3a9de976b35c Delete info on Font Lock Support Modes.
Richard M. Stallman <rms@gnu.org>
parents: 36151
diff changeset
1199
39162
af44a4698df4 Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents: 38939
diff changeset
1200 @findex tty-suppress-bold-inverse-default-colors
af44a4698df4 Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents: 38939
diff changeset
1201 On some text-only terminals, bold face and inverse video together
af44a4698df4 Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents: 38939
diff changeset
1202 result in text that is hard to read. Call the function
af44a4698df4 Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents: 38939
diff changeset
1203 @code{tty-suppress-bold-inverse-default-colors} with a non-@code{nil}
af44a4698df4 Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents: 38939
diff changeset
1204 argument to suppress the effect of bold-face in this case.
af44a4698df4 Describe tty-suppress-bold-inverse-default-colors.
Richard M. Stallman <rms@gnu.org>
parents: 38939
diff changeset
1205
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1206 @vindex no-redraw-on-reenter
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1207 On a text-only terminal, when you reenter Emacs after suspending, Emacs
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1208 normally clears the screen and redraws the entire display. On some
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1209 terminals with more than one page of memory, it is possible to arrange
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1210 the termcap entry so that the @samp{ti} and @samp{te} strings (output
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1211 to the terminal when Emacs is entered and exited, respectively) switch
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1212 between pages of memory so as to use one page for Emacs and another
71581
e0b0c80d7e1c (Auto Scrolling): New node, broken out of Scrolling.
Richard M. Stallman <rms@gnu.org>
parents: 70483
diff changeset
1213 page for other output. On such terminals, you might want to set the variable
68516
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1214 @code{no-redraw-on-reenter} non-@code{nil}; this tells Emacs to
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1215 assume, when resumed, that the screen page it is using still contains
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1216 what Emacs last wrote there.
9141c59ac209 Minor clarifications.
Richard M. Stallman <rms@gnu.org>
parents: 68455
diff changeset
1217
52401
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51810
diff changeset
1218 @ignore
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51810
diff changeset
1219 arch-tag: 2219f910-2ff0-4521-b059-1bd231a536c4
695cf19ef79e Add arch taglines
Miles Bader <miles@gnu.org>
parents: 51810
diff changeset
1220 @end ignore