aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRichard M. Stallman2006-01-31 18:37:23 +0000
committerRichard M. Stallman2006-01-31 18:37:23 +0000
commit54952612bb664d051e80143bc97daf698f4fce7e (patch)
treecbbe260353fbaf619b9521fbd531904b630985c2
parent5c5245f71f8699278cd7582ceb2d15a216e17466 (diff)
downloademacs-54952612bb664d051e80143bc97daf698f4fce7e.tar.gz
emacs-54952612bb664d051e80143bc97daf698f4fce7e.zip
Minor clarifications.
(Display): Rearrange menu. (Standard Faces): Mention query-replace face. (Faces): Simplify. (Font Lock): Simplify face customization info. (Highlight Changes): Node merged into Highlight Interactively. (Highlight Interactively): Much rewriting and cleanup. (Optional Mode Line): Narrowed line number not good for goto-line. Simplify face customization advice. (Text Display): Mention use of escape-glyph face. Move ctl-arrow and tab-width here. (Display Custom): Move no-redraw-on-reenter to end of node.
-rw-r--r--man/display.texi362
1 files changed, 169 insertions, 193 deletions
diff --git a/man/display.texi b/man/display.texi
index 233a3f62021..9fee37afdc1 100644
--- a/man/display.texi
+++ b/man/display.texi
@@ -11,16 +11,15 @@ allow you to specify which part of the text you want to see, and how to
11display it. 11display it.
12 12
13@menu 13@menu
14* Scrolling:: Moving text up and down in a window.
15* Horizontal Scrolling:: Moving text left and right in a window.
16* Follow Mode:: Follow mode lets two windows scroll as one.
14* Faces:: How to change the display style using faces. 17* Faces:: How to change the display style using faces.
15* Standard Faces:: Emacs' predefined faces. 18* Standard Faces:: Emacs' predefined faces.
16* Font Lock:: Minor mode for syntactic highlighting using faces. 19* Font Lock:: Minor mode for syntactic highlighting using faces.
17* Highlight Interactively:: Tell Emacs what text to highlight. 20* Highlight Interactively:: Tell Emacs what text to highlight.
18* Highlight Changes:: Using colors to show where you changed the buffer.
19* Scrolling:: Moving text up and down in a window.
20* Horizontal Scrolling:: Moving text left and right in a window.
21* Fringes:: Enabling or disabling window fringes. 21* Fringes:: Enabling or disabling window fringes.
22* Useless Whitespace:: Showing possibly-spurious trailing whitespace. 22* Useless Whitespace:: Showing possibly-spurious trailing whitespace.
23* Follow Mode:: Follow mode lets two windows scroll as one.
24* Selective Display:: Hiding lines with lots of indentation. 23* Selective Display:: Hiding lines with lots of indentation.
25* Optional Mode Line:: Optional mode line display features. 24* Optional Mode Line:: Optional mode line display features.
26* Text Display:: How text characters are normally displayed. 25* Text Display:: How text characters are normally displayed.
@@ -39,26 +38,18 @@ characters, the foreground and background color, and underlining or
39overlining. A face does not have to specify all of these attributes; 38overlining. A face does not have to specify all of these attributes;
40often it inherits most of them from another face. 39often it inherits most of them from another face.
41 40
42 On a window system, all the Emacs face attributes are meaningful. 41 On graphical display, all the Emacs face attributes are meaningful.
43On a character terminal, only some of them work. Some character 42On a text-only terminal, only some of them work. Some text-only
44terminals support inverse video, bold, and underline attributes; some 43terminals support inverse video, bold, and underline attributes; some
45support colors. Character terminals generally do not support changing 44support colors. Text-only terminals generally do not support changing
46the height and width or the font family. 45the height and width or the font family.
47 46
48 The easiest way to use faces is to turn on Font Lock mode. 47 Emacs uses faces automatically for highlighting, through the work of
49@xref{Font Lock}, for more information about Font Lock mode and 48Font Lock mode. @xref{Font Lock}, for more information about Font
50syntactic highlighting. You can print out the buffer with the 49Lock mode and syntactic highlighting. You can print out the buffer
51highlighting that appears on your screen using the command 50with the highlighting that appears on your screen using the command
52@code{ps-print-buffer-with-faces}. @xref{PostScript}. 51@code{ps-print-buffer-with-faces}. @xref{PostScript}.
53 52
54 Features which rely on text in multiple faces (such as Font Lock mode)
55will also work on non-windowed terminals that can display more than one
56face, whether by colors or underlining and emboldening. This includes
57the console on GNU/Linux, an @code{xterm} which supports colors, the
58MS-DOS display (@pxref{MS-DOS}), and the MS-Windows version invoked with
59the @option{-nw} option. Emacs determines automatically whether the
60terminal has this capability.
61
62 You control the appearance of a part of the text in the buffer by 53 You control the appearance of a part of the text in the buffer by
63specifying the face or faces to use for it. The style of display used 54specifying the face or faces to use for it. The style of display used
64for any given character is determined by combining the attributes of 55for any given character is determined by combining the attributes of
@@ -106,12 +97,12 @@ type @kbd{M-x list-faces-display}. It's possible for a given face to
106look different in different frames; this command shows the appearance 97look different in different frames; this command shows the appearance
107in the frame in which you type it. 98in the frame in which you type it.
108 99
109Here are the standard faces for specifying text appearance. You can 100 Here are the standard faces for specifying text appearance. You can
110use them on specific text, when you want the effects they produce. 101apply them to specific text when you want the effects they produce.
111 102
112@table @code 103@table @code
113@item default 104@item default
114This face is used for ordinary text that doesn't specify any other face. 105This face is used for ordinary text that doesn't specify any face.
115@item bold 106@item bold
116This face uses a bold variant of the default font, if it has one. 107This face uses a bold variant of the default font, if it has one.
117It's up to you to choose a default font that has a bold variant, 108It's up to you to choose a default font that has a bold variant,
@@ -126,7 +117,7 @@ This face underlines text.
126This face forces use of a particular fixed-width font. 117This face forces use of a particular fixed-width font.
127@item variable-pitch 118@item variable-pitch
128This face forces use of a particular variable-width font. It's 119This face forces use of a particular variable-width font. It's
129reasonable to customize this to use a different variable-width font, 120reasonable to customize this face to use a different variable-width font,
130if you like, but you should not make it a fixed-width font. 121if you like, but you should not make it a fixed-width font.
131@item shadow 122@item shadow
132This face is used for making the text less noticeable than the surrounding 123This face is used for making the text less noticeable than the surrounding
@@ -143,7 +134,9 @@ their own faces for this purpose.)
143This face is used for highlighting portions of text, in various modes. 134This face is used for highlighting portions of text, in various modes.
144For example, mouse-sensitive text is highlighted using this face. 135For example, mouse-sensitive text is highlighted using this face.
145@item isearch 136@item isearch
146This face is used for highlighting Isearch matches. 137This face is used for highlighting the current Isearch match.
138@item query-replace
139This face is used for highlighting the current Query Replace match.
147@item lazy-highlight 140@item lazy-highlight
148This face is used for lazy highlighting of Isearch and Query Replace 141This face is used for lazy highlighting of Isearch and Query Replace
149matches other than the current one. 142matches other than the current one.
@@ -182,7 +175,7 @@ appearance of these parts of the frame.
182@itemx modeline 175@itemx modeline
183This face is used for the mode line of the currently selected window, 176This face is used for the mode line of the currently selected window,
184and for menu bars when toolkit menus are not used. By default, it's 177and for menu bars when toolkit menus are not used. By default, it's
185drawn with shadows for a ``raised'' effect on window systems, and 178drawn with shadows for a ``raised'' effect on graphical displays, and
186drawn as the inverse of the default face on non-windowed terminals. 179drawn as the inverse of the default face on non-windowed terminals.
187@code{modeline} is an alias for the @code{mode-line} face, for 180@code{modeline} is an alias for the @code{mode-line} face, for
188compatibility with old Emacs versions. 181compatibility with old Emacs versions.
@@ -196,12 +189,14 @@ Like @code{highlight}, but used for portions of text on mode lines.
196@item mode-line-buffer-id 189@item mode-line-buffer-id
197This face is used for buffer identification parts in the mode line. 190This face is used for buffer identification parts in the mode line.
198@item header-line 191@item header-line
199Similar to @code{mode-line} for a window's header line. Most modes 192Similar to @code{mode-line} for a window's header line, which appears
200don't use the header line, but some special modes, such the Info mode, do. 193at the top of a window just as the mode line appears at the bottom.
194Most windows do not have a header line---only some special modes, such
195Info mode, create one.
201@item vertical-border 196@item vertical-border
202This face is used for the vertical divider between windows. 197This face is used for the vertical divider between windows.
203By default this face inherits from the @code{mode-line-inactive} face 198By default this face inherits from the @code{mode-line-inactive} face
204on character terminals. On window systems the foreground color of 199on character terminals. On graphical displays the foreground color of
205this face is used for the vertical line between windows without 200this face is used for the vertical line between windows without
206scrollbars. 201scrollbars.
207@item minibuffer-prompt 202@item minibuffer-prompt
@@ -227,8 +222,7 @@ This face determines the color of the cursor.
227@item mouse 222@item mouse
228This face determines the color of the mouse pointer. 223This face determines the color of the mouse pointer.
229@item tool-bar 224@item tool-bar
230This is the basic tool-bar face. No text appears in the tool bar, but the 225This face determines the color of tool bar icons. @xref{Tool Bars}.
231colors of this face affect the appearance of tool bar icons. @xref{Tool Bars}.
232@item tooltip 226@item tooltip
233This face is used for tooltips. @xref{Tooltips}. 227This face is used for tooltips. @xref{Tooltips}.
234@item menu 228@item menu
@@ -277,8 +271,8 @@ interface (@pxref{Easy Customization}), or use the function
277@end example 271@end example
278 272
279@findex turn-on-font-lock 273@findex turn-on-font-lock
280 If you have disabled Global Font Lock mode, you can still enable font 274 If you have disabled Global Font Lock mode, you can still enable Font
281lock for specific major modes by adding the function 275Lock for specific major modes by adding the function
282@code{turn-on-font-lock} to the mode hooks (@pxref{Hooks}). For 276@code{turn-on-font-lock} to the mode hooks (@pxref{Hooks}). For
283example, to enable Font Lock mode for editing C files, you can do this: 277example, to enable Font Lock mode for editing C files, you can do this:
284 278
@@ -288,24 +282,13 @@ example, to enable Font Lock mode for editing C files, you can do this:
288 282
289 Font Lock mode uses several specifically named faces to do its job, 283 Font Lock mode uses several specifically named faces to do its job,
290including @code{font-lock-string-face}, @code{font-lock-comment-face}, 284including @code{font-lock-string-face}, @code{font-lock-comment-face},
291and others. The easiest way to find them all is to use 285and others. The easiest way to find them all is to use @kbd{M-x
292@kbd{M-x customize-group @key{RET} font-lock-faces @key{RET}}. 286customize-group @key{RET} font-lock-faces @key{RET}}. You can then
293 287use that customization buffer to customize the appearance of these
294 To change the colors or the fonts used by Font Lock mode to fontify 288faces. @xref{Face Customization}.
295different parts of text, just change these faces. There are
296two ways to do it:
297
298@itemize @bullet
299@item
300Invoke @kbd{M-x set-face-foreground} or @kbd{M-x set-face-background}
301to change the colors of a particular face used by Font Lock.
302@xref{Faces}. The command @kbd{M-x list-faces-display} displays all
303the faces currently known to Emacs, including those used by Font Lock.
304 289
305@item 290 You can also customize these faces using @kbd{M-x
306Customize the faces interactively with @kbd{M-x customize-face}, as 291set-face-foreground} or @kbd{M-x set-face-background}. @xref{Faces}.
307described in @ref{Face Customization}.
308@end itemize
309 292
310@vindex font-lock-maximum-decoration 293@vindex font-lock-maximum-decoration
311 The variable @code{font-lock-maximum-decoration} specifies the 294 The variable @code{font-lock-maximum-decoration} specifies the
@@ -324,8 +307,9 @@ otherwise, use this:
324 307
325@vindex font-lock-maximum-size 308@vindex font-lock-maximum-size
326 Fontification can be too slow for large buffers, so you can suppress 309 Fontification can be too slow for large buffers, so you can suppress
327it. The variable @code{font-lock-maximum-size} specifies a buffer size, 310it for buffers above a certain size. The variable
328beyond which buffer fontification is suppressed. 311@code{font-lock-maximum-size} specifies a buffer size, beyond which
312buffer fontification is suppressed.
329 313
330@c @w is used below to prevent a bad page-break. 314@c @w is used below to prevent a bad page-break.
331@vindex font-lock-beginning-of-syntax-function 315@vindex font-lock-beginning-of-syntax-function
@@ -387,52 +371,62 @@ control this background fontification, also called @dfn{Just-In-Time}
387group @samp{jit-lock}. @xref{Specific Customization}. 371group @samp{jit-lock}. @xref{Specific Customization}.
388 372
389@node Highlight Interactively 373@node Highlight Interactively
390@section Interactive Highlighting by Matching 374@section Interactive Highlighting
391@cindex highlighting by matching 375@cindex highlighting by matching
392@cindex interactive highlighting 376@cindex interactive highlighting
377@cindex Highlight Changes mode
393 378
394 It is sometimes useful to temporarily highlight text that 379@findex highlight-changes-mode
395matches a certain regular expression. For example, you might wish to 380 Use @kbd{M-x highlight-changes-mode} to enable (or disable)
396see all the references to a certain variable in a program source file, 381Highlight Changes mode, a minor mode that uses faces (colors,
397highlight certain parts in a voluminous output of some program, or 382typically) to indicate which parts of the buffer were changed most
398make certain names stand out in an article. 383recently.
399 384
385@cindex Hi Lock mode
400@findex hi-lock-mode 386@findex hi-lock-mode
401 Use the @kbd{M-x hi-lock-mode} command to turn on a minor mode that 387 Hi Lock mode is another minor mode, which highlights text that
402allows you to interactively add and remove regular expressions 388matches your specified regular expressions. For example, you might
403specifying text to be highlighted. Hi Lock mode works like Font Lock 389wish to see all the references to a certain variable in a program
404mode (@pxref{Font Lock}), except that it lets you easily add and 390source file, highlight certain parts in a voluminous output of some
405remove regular expressions while you are editing a buffer. To enable 391program, or make certain names stand out in an article. Use the
406Hi Lock mode for all buffers use @kbd{M-x global-hi-lock-mode} or 392@kbd{M-x hi-lock-mode} command to enable (or disable) Hi Lock mode.
407place @code{(global-hi-lock-mode 1)} in your @file{.emacs} file. 393To enable Hi Lock mode for all buffers, use @kbd{M-x
408 394global-hi-lock-mode} or place @code{(global-hi-lock-mode 1)} in your
409You control Hi Lock mode with these commands: 395@file{.emacs} file.
396
397 Hi Lock mode works like Font Lock mode (@pxref{Font Lock}), except
398that you specify explicitly the regular expressions to highlight. You
399control them with these commands:
410 400
411@table @kbd 401@table @kbd
412@item C-x w h @var{regexp} @key{RET} @var{face} @key{RET} 402@item C-x w h @var{regexp} @key{RET} @var{face} @key{RET}
413@kindex C-x w h 403@kindex C-x w h
414@findex highlight-regexp 404@findex highlight-regexp
415Highlight text that matches @var{regexp} using face @var{face} 405Highlight text that matches @var{regexp} using face @var{face}
416(@code{highlight-regexp}). By using this command more than once, you 406(@code{highlight-regexp}). The highlighting will remain as long as
417can highlight various parts of the text in different ways. The 407the buffer is loaded. For example, to highlight all occurrences of
418highlighting will remain as long as the buffer is loaded. For 408the word ``whim'' using the default face (a yellow background)
419example, to highlight all occurrences of the word ``whim'' using the 409@kbd{C-x w h whim @key{RET} @key{RET}}. Any face can be used for
420default face (a yellow background) @kbd{C-x w h whim @key{RET} 410highlighting, Hi Lock provides several of its own and these are
421@key{RET}}. Any face can be used for highlighting, Hi Lock provides 411pre-loaded into a history list. While being prompted for a face use
422several of its own and these are pre-loaded into a history list. While 412@kbd{M-p} and @kbd{M-n} to cycle through them.
423being prompted for a face use @kbd{M-p} and @kbd{M-n} to cycle through 413
424them. 414You can use this command multiple times, specifying various regular
415expressions to highlight in different ways.
425 416
426@item C-x w r @var{regexp} @key{RET} 417@item C-x w r @var{regexp} @key{RET}
427@kindex C-x w r 418@kindex C-x w r
428@findex unhighlight-regexp 419@findex unhighlight-regexp
429Unhighlight @var{regexp} (@code{unhighlight-regexp}). 420Unhighlight @var{regexp} (@code{unhighlight-regexp}).
430When activated from the menu select the expression to unhighlight from 421
431a list. When activated from the keyboard the most recently added 422If you invoke this from the menu, you select the expression to
432expression will be shown. Use @kbd{M-p} to show the next older 423unhighlight from a list. If you invoke this from the keyboard, you
433expression and @kbd{M-n} to select the next newer expression. When 424use the minibuffer. It will show the most recently added regular
434the expression to unhighlight appears press @kbd{@key{RET}} to unhighlight 425expression; use @kbd{M-p} to show the next older expression and
435it. The expression can also be typed and completion is available. 426@kbd{M-n} to select the next newer expression. (You can also type the
427expression by hand, with completion.) When the expression you want to
428unhighlight appears in the minibuffer, press @kbd{@key{RET}} to exit
429the minibuffer and unhighlight it.
436 430
437@item C-x w l @var{regexp} @key{RET} @var{face} @key{RET} 431@item C-x w l @var{regexp} @key{RET} @var{face} @key{RET}
438@kindex C-x w l 432@kindex C-x w l
@@ -447,8 +441,8 @@ Highlight entire lines containing a match for @var{regexp}, using face
447@findex hi-lock-write-interactive-patterns 441@findex hi-lock-write-interactive-patterns
448Insert all the current highlighting regexp/face pairs into the buffer 442Insert all the current highlighting regexp/face pairs into the buffer
449at point, with comment delimiters to prevent them from changing your 443at point, with comment delimiters to prevent them from changing your
450program. This key binding runs the 444program. (This key binding runs the
451@code{hi-lock-write-interactive-patterns} command. 445@code{hi-lock-write-interactive-patterns} command.)
452 446
453These patterns will be read the next time you visit the file while 447These patterns will be read the next time you visit the file while
454Hi Lock mode is enabled, or whenever you use the @kbd{M-x 448Hi Lock mode is enabled, or whenever you use the @kbd{M-x
@@ -472,14 +466,6 @@ This command does nothing if the major mode is a member of the list
472@code{hi-lock-exclude-modes}. 466@code{hi-lock-exclude-modes}.
473@end table 467@end table
474 468
475@node Highlight Changes
476@section Highlight Changes Mode
477
478@findex highlight-changes-mode
479 Use @kbd{M-x highlight-changes-mode} to enable a minor mode
480that uses faces (colors, typically) to indicate which parts of
481the buffer were changed most recently.
482
483@node Scrolling 469@node Scrolling
484@section Scrolling 470@section Scrolling
485 471
@@ -489,12 +475,13 @@ the text. The portion shown always contains point.
489 475
490@cindex scrolling 476@cindex scrolling
491 @dfn{Scrolling} means moving text up or down in the window so that 477 @dfn{Scrolling} means moving text up or down in the window so that
492different parts of the text are visible. Scrolling forward means that text 478different parts of the text are visible. Scrolling ``forward'' or
493moves up, and new text appears at the bottom. Scrolling backward moves 479``up'' means that text moves up, and new text appears at the bottom.
494text down and new text appears at the top. 480Scrolling ``backward'' or ``down'' moves text down, and new text
481appears at the top.
495 482
496 Scrolling happens automatically if you move point past the bottom or top 483 Scrolling happens automatically if you move point past the bottom or
497of the window. You can also explicitly request scrolling with the commands 484top of the window. You can also scroll explicitly with the commands
498in this section. 485in this section.
499 486
500@table @kbd 487@table @kbd
@@ -733,7 +720,9 @@ for the selected frame, use @kbd{M-x set-fringe-style}.
733 It is easy to leave unnecessary spaces at the end of a line, or 720 It is easy to leave unnecessary spaces at the end of a line, or
734empty lines at the end of a file, without realizing it. In most 721empty lines at the end of a file, without realizing it. In most
735cases, this @dfn{trailing whitespace} has no effect, but there are 722cases, this @dfn{trailing whitespace} has no effect, but there are
736special circumstances where it matters. 723special circumstances where it matters. It can also be a nuisance
724that the line has ``changed,'' when the change is just spaces added or
725removed at the end.
737 726
738 You can make trailing whitespace at the end of a line visible on the 727 You can make trailing whitespace at the end of a line visible on the
739screen by setting the buffer-local variable 728screen by setting the buffer-local variable
@@ -768,7 +757,7 @@ this image in the fringe.
768value of this variable is controlled by the variable 757value of this variable is controlled by the variable
769@code{default-indicate-empty-lines}; by setting that variable, you 758@code{default-indicate-empty-lines}; by setting that variable, you
770can enable or disable this feature for all new buffers. (This feature 759can enable or disable this feature for all new buffers. (This feature
771currently doesn't work on character terminals.) 760currently doesn't work on text-only terminals.)
772 761
773@node Follow Mode 762@node Follow Mode
774@section Follow Mode 763@section Follow Mode
@@ -868,6 +857,9 @@ minor modes and about how to use this command.
868@cindex narrowing, and line number display 857@cindex narrowing, and line number display
869 If you have narrowed the buffer (@pxref{Narrowing}), the displayed 858 If you have narrowed the buffer (@pxref{Narrowing}), the displayed
870line number is relative to the accessible portion of the buffer. 859line number is relative to the accessible portion of the buffer.
860Thus, it isn't suitable as an argument to @code{goto-line}. (Use
861@code{what-line} command to see the line number relative to the whole
862file.)
871 863
872@vindex line-number-display-limit 864@vindex line-number-display-limit
873 If the buffer is very large (larger than the value of 865 If the buffer is very large (larger than the value of
@@ -933,19 +925,7 @@ file in the directory is considered as ``newly arrived mail'').
9333D-style highlighting, like that of a button when it is not being 9253D-style highlighting, like that of a button when it is not being
934pressed. If you don't like this effect, you can disable the 3D 926pressed. If you don't like this effect, you can disable the 3D
935highlighting of the mode line, by customizing the attributes of the 927highlighting of the mode line, by customizing the attributes of the
936@code{mode-line} face in your @file{.emacs} init file, like this: 928@code{mode-line} face. @xref{Face Customization}.
937
938@example
939(set-face-attribute 'mode-line nil :box nil)
940@end example
941
942@noindent
943Alternatively, you can turn off the box attribute in your
944@file{.Xdefaults} file:
945
946@example
947Emacs.mode-line.AttributeBox: off
948@end example
949 929
950@cindex non-selected windows, mode line appearance 930@cindex non-selected windows, mode line appearance
951 By default, the mode line of nonselected windows is displayed in a 931 By default, the mode line of nonselected windows is displayed in a
@@ -968,8 +948,7 @@ lines are displayed in the @code{mode-line} face.
968 You can customize the mode line display for each of the end-of-line 948 You can customize the mode line display for each of the end-of-line
969formats by setting each of the variables @code{eol-mnemonic-unix}, 949formats by setting each of the variables @code{eol-mnemonic-unix},
970@code{eol-mnemonic-dos}, @code{eol-mnemonic-mac}, and 950@code{eol-mnemonic-dos}, @code{eol-mnemonic-mac}, and
971@code{eol-mnemonic-undecided} to any string you find appropriate. 951@code{eol-mnemonic-undecided} to the strings you prefer.
972@xref{Variables}, for an explanation of how to set variables.
973 952
974@node Text Display 953@node Text Display
975@section How Text Is Displayed 954@section How Text Is Displayed
@@ -986,17 +965,27 @@ tab stop column (normally every 8 columns).
986 965
987 Other @acronym{ASCII} control characters are normally displayed as a caret 966 Other @acronym{ASCII} control characters are normally displayed as a caret
988(@samp{^}) followed by the non-control version of the character; thus, 967(@samp{^}) followed by the non-control version of the character; thus,
989control-A is displayed as @samp{^A}. 968control-A is displayed as @samp{^A}. The caret appears in face
990 969@code{escape-glyph}.
991 Non-@acronym{ASCII} characters 0200 through 0237 (octal) are displayed with 970
992octal escape sequences; thus, character code 0230 (octal) is displayed 971 Non-@acronym{ASCII} characters 0200 through 0237 (octal) are
993as @samp{\230}. The display of character codes 0240 through 0377 972displayed with octal escape sequences; thus, character code 0230
994(octal) may be either as escape sequences or as graphics. They do not 973(octal) is displayed as @samp{\230}. The backslash appears in face
995normally occur in multibyte buffers, but if they do, they are displayed 974@code{escape-glyph}.
996as Latin-1 graphics. In unibyte mode, if you enable European display 975
997they are displayed using their graphics (assuming your terminal supports 976@vindex ctl-arrow
998them), otherwise as escape sequences. @xref{Single-Byte Character 977 If the variable @code{ctl-arrow} is @code{nil}, control characters in
999Support}. 978the buffer are displayed with octal escape sequences, except for newline
979and tab. Altering the value of @code{ctl-arrow} makes it local to the
980current buffer; until that time, the default value is in effect. The
981default is initially @code{t}.
982
983 The display of character codes 0240 through 0377 (octal) may be
984either as escape sequences or as graphics. They do not normally occur
985in multibyte buffers, but if they do, they are displayed as Latin-1
986graphics. In unibyte mode, if you enable European display they are
987displayed using their graphics (assuming your terminal supports them),
988otherwise as escape sequences. @xref{Single-Byte Character Support}.
1000 989
1001@vindex nobreak-char-display 990@vindex nobreak-char-display
1002@cindex no-break space, display 991@cindex no-break space, display
@@ -1011,6 +1000,23 @@ this feature by setting the variable @code{nobreak-char-display} to
1011@code{nil}. If you set the variable to any other value, that means to 1000@code{nil}. If you set the variable to any other value, that means to
1012prefix these characters with an escape character. 1001prefix these characters with an escape character.
1013 1002
1003@vindex tab-width
1004@vindex default-tab-width
1005 Normally, a tab character in the buffer is displayed as whitespace which
1006extends to the next display tab stop position, and display tab stops come
1007at intervals equal to eight spaces. The number of spaces per tab is
1008controlled by the variable @code{tab-width}, which is made local by
1009changing it. Note that how the tab character
1010in the buffer is displayed has nothing to do with the definition of
1011@key{TAB} as a command. The variable @code{tab-width} must have an
1012integer value between 1 and 1000, inclusive. The variable
1013@code{default-tab-width} controls the default value of this variable
1014for buffers where you have not set it locally.
1015
1016 You can customize the way any particular character code is displayed
1017by means of a display table. @xref{Display Tables,, Display Tables,
1018elisp, The Emacs Lisp Reference Manual}.
1019
1014@node Cursor Display 1020@node Cursor Display
1015@section Displaying the Cursor 1021@section Displaying the Cursor
1016 1022
@@ -1053,8 +1059,8 @@ tab character. To enable this feature, set the variable
1053@findex hl-line-mode 1059@findex hl-line-mode
1054@findex global-hl-line-mode 1060@findex global-hl-line-mode
1055@cindex highlight current line 1061@cindex highlight current line
1056 If you find it hard to see the cursor, you might like HL Line mode, 1062 To make the cursor even more visible, you can use HL Line mode, a
1057a minor mode that highlights the line containing point. Use @kbd{M-x 1063minor mode that highlights the line containing point. Use @kbd{M-x
1058hl-line-mode} to enable or disable it in the current buffer. @kbd{M-x 1064hl-line-mode} to enable or disable it in the current buffer. @kbd{M-x
1059global-hl-line-mode} enables or disables the same mode globally. 1065global-hl-line-mode} enables or disables the same mode globally.
1060 1066
@@ -1062,7 +1068,7 @@ global-hl-line-mode} enables or disables the same mode globally.
1062@section Customization of Display 1068@section Customization of Display
1063 1069
1064 This section describes variables (@pxref{Variables}) that you can 1070 This section describes variables (@pxref{Variables}) that you can
1065change to customize how Emacs displays text. Beginning users can skip 1071change to customize how Emacs displays. Beginning users can skip
1066it. 1072it.
1067@c the reason for that pxref is because an xref early in the 1073@c the reason for that pxref is because an xref early in the
1068@c ``echo area'' section leads here. 1074@c ``echo area'' section leads here.
@@ -1077,51 +1083,18 @@ to make the whole screen blink when it would normally make an audible bell
1077sound. This variable has no effect if your terminal does not have a way 1083sound. This variable has no effect if your terminal does not have a way
1078to make the screen blink. 1084to make the screen blink.
1079 1085
1080@vindex no-redraw-on-reenter
1081 On a text terminal, when you reenter Emacs after suspending, Emacs
1082normally clears the screen and redraws the entire display. On some
1083terminals with more than one page of memory, it is possible to arrange
1084the termcap entry so that the @samp{ti} and @samp{te} strings (output
1085to the terminal when Emacs is entered and exited, respectively) switch
1086between pages of memory so as to use one page for Emacs and another
1087page for other output. Then you might want to set the variable
1088@code{no-redraw-on-reenter} non-@code{nil}; this tells Emacs to
1089assume, when resumed, that the screen page it is using still contains
1090what Emacs last wrote there.
1091
1092@vindex echo-keystrokes 1086@vindex echo-keystrokes
1093 The variable @code{echo-keystrokes} controls the echoing of multi-character 1087 The variable @code{echo-keystrokes} controls the echoing of multi-character
1094keys; its value is the number of seconds of pause required to cause echoing 1088keys; its value is the number of seconds of pause required to cause echoing
1095to start, or zero meaning don't echo at all. @xref{Echo Area}. 1089to start, or zero, meaning don't echo at all. @xref{Echo Area}.
1096
1097@vindex ctl-arrow
1098 If the variable @code{ctl-arrow} is @code{nil}, all control characters in
1099the buffer are displayed with octal escape sequences, except for newline
1100and tab. Altering the value of @code{ctl-arrow} makes it local to the
1101current buffer; until that time, the default value is in effect. The
1102default is initially @code{t}. @xref{Display Tables,, Display Tables,
1103elisp, The Emacs Lisp Reference Manual}.
1104
1105@vindex tab-width
1106@vindex default-tab-width
1107 Normally, a tab character in the buffer is displayed as whitespace which
1108extends to the next display tab stop position, and display tab stops come
1109at intervals equal to eight spaces. The number of spaces per tab is
1110controlled by the variable @code{tab-width}, which is made local by
1111changing it, just like @code{ctl-arrow}. Note that how the tab character
1112in the buffer is displayed has nothing to do with the definition of
1113@key{TAB} as a command. The variable @code{tab-width} must have an
1114integer value between 1 and 1000, inclusive. The variable
1115@code{default-tab-width} controls the default value of this variable
1116for buffers where you have not set it locally.
1117 1090
1118@cindex truncation 1091@cindex truncation
1119@cindex line truncation, and fringes 1092@cindex line truncation, and fringes
1120 As an alternative to continuation, Emacs can display long lines by 1093 As an alternative to continuation, Emacs can display long lines by
1121@dfn{truncation}. This means that all the characters that do not fit 1094@dfn{truncation}. This means that all the characters that do not fit
1122in the width of the screen or window do not appear at all. On 1095in the width of the screen or window do not appear at all. On
1123graphical terminals, a small straight arrow in the fringe indicates 1096graphical displays, a small straight arrow in the fringe indicates
1124truncation at either end of the line. On text terminals, @samp{$} 1097truncation at either end of the line. On text-only terminals, @samp{$}
1125appears in the first column when there is text truncated to the left, 1098appears in the first column when there is text truncated to the left,
1126and in the last column when there is text truncated to the right. 1099and in the last column when there is text truncated to the right.
1127 1100
@@ -1147,27 +1120,22 @@ elisp, The Emacs Lisp Reference Manual}.
1147 1120
1148@vindex overflow-newline-into-fringe 1121@vindex overflow-newline-into-fringe
1149 If the variable @code{overflow-newline-into-fringe} is 1122 If the variable @code{overflow-newline-into-fringe} is
1150non-@code{nil} on a window system, it specifies that lines which are 1123non-@code{nil} on a graphical display, then Emacs does not continue or
1151exactly as wide as the window (not counting the final newline 1124truncate a line which is exactly as wide as the window. Instead, the
1152character) shall not be broken into two lines on the display (with 1125newline overflows into the right fringe, and the cursor appears in the
1153just the newline on the second line). Instead, the newline 1126fringe when positioned on that newline.
1154overflows into the right fringe, and the cursor will be displayed in
1155the fringe when positioned on that newline.
1156 1127
1157@vindex indicate-buffer-boundaries 1128@vindex indicate-buffer-boundaries
1158 On a window system, Emacs may indicate the buffer boundaries in the 1129 On a graphical display, Emacs can indicate the buffer boundaries in
1159fringes. The buffer boundaries, i.e. first and last line in the 1130the fringes. It inddicates the first line and the last line with
1160buffer, can be marked with angle bitmaps in the left or right fringe. 1131angle images in the fringes. This can be combined with up and down
1161This can be combined with up and down arrow bitmaps shown at the top 1132arrow images which say whether it is possible to scroll the window up
1162and bottom of the left or right fringe if the window can be scrolled 1133and down.
1163in either direction.
1164 1134
1165 The buffer-local variable @code{indicate-buffer-boundaries} controls 1135 The buffer-local variable @code{indicate-buffer-boundaries} controls
1166how the buffer boundaries and window scrolling is indicated in the 1136how the buffer boundaries and window scrolling is indicated in the
1167fringes. 1137fringes. If the value is @code{left} or @code{right}, both angle and
1168 1138arrow bitmaps are displayed in the left or right fringe, respectively.
1169 If the value is @code{left} or @code{right}, both angle and arrow
1170bitmaps are displayed in the left or right fringe, respectively.
1171 1139
1172 If value is an alist, each element @code{(@var{indicator} . 1140 If value is an alist, each element @code{(@var{indicator} .
1173@var{position})} specifies the position of one of the indicators. 1141@var{position})} specifies the position of one of the indicators.
@@ -1189,25 +1157,21 @@ is the default value for @code{indicate-buffer-boundaries} in buffers
1189that do not override it. 1157that do not override it.
1190 1158
1191@vindex baud-rate 1159@vindex baud-rate
1192 The variable @anchor{baud-rate}@code{baud-rate} holds the output speed of the 1160 The variable @anchor{baud-rate}@code{baud-rate} holds the output
1193terminal, as far as Emacs knows. Setting this variable does not 1161speed of the terminal, as far as Emacs knows. Setting this variable
1194change the speed of actual data transmission, but the value is used 1162does not change the speed of actual data transmission, but the value
1195for calculations. On terminals, it affects padding, and decisions 1163is used for calculations. On text-only terminals, it affects padding,
1196about whether to scroll part of the screen or redraw it instead. 1164and decisions about whether to scroll part of the screen or redraw it
1197It also affects the behavior of incremental search. 1165instead. It also affects the behavior of incremental search.
1198 1166
1199 On window-systems, @code{baud-rate} is only used to determine how 1167 On graphical displays, @code{baud-rate} is only used to determine
1200frequently to look for pending input during display updating. A 1168how frequently to look for pending input during display updating. A
1201higher value of @code{baud-rate} means that check for pending input 1169higher value of @code{baud-rate} means that check for pending input
1202will be done less frequently. 1170will be done less frequently.
1203 1171
1204 You can customize the way any particular character code is displayed
1205by means of a display table. @xref{Display Tables,, Display Tables,
1206elisp, The Emacs Lisp Reference Manual}.
1207
1208@cindex hourglass pointer display 1172@cindex hourglass pointer display
1209@vindex hourglass-delay 1173@vindex hourglass-delay
1210 On a window system, Emacs can optionally display the mouse pointer 1174 On graphical display, Emacs can optionally display the mouse pointer
1211in a special shape to say that Emacs is busy. To turn this feature on 1175in a special shape to say that Emacs is busy. To turn this feature on
1212or off, customize the group @code{cursor}. You can also control the 1176or off, customize the group @code{cursor}. You can also control the
1213amount of time Emacs must remain busy before the busy indicator is 1177amount of time Emacs must remain busy before the busy indicator is
@@ -1219,6 +1183,18 @@ result in text that is hard to read. Call the function
1219@code{tty-suppress-bold-inverse-default-colors} with a non-@code{nil} 1183@code{tty-suppress-bold-inverse-default-colors} with a non-@code{nil}
1220argument to suppress the effect of bold-face in this case. 1184argument to suppress the effect of bold-face in this case.
1221 1185
1186@vindex no-redraw-on-reenter
1187 On a text-only terminal, when you reenter Emacs after suspending, Emacs
1188normally clears the screen and redraws the entire display. On some
1189terminals with more than one page of memory, it is possible to arrange
1190the termcap entry so that the @samp{ti} and @samp{te} strings (output
1191to the terminal when Emacs is entered and exited, respectively) switch
1192between pages of memory so as to use one page for Emacs and another
1193page for other output. Then you might want to set the variable
1194@code{no-redraw-on-reenter} non-@code{nil}; this tells Emacs to
1195assume, when resumed, that the screen page it is using still contains
1196what Emacs last wrote there.
1197
1222@ignore 1198@ignore
1223 arch-tag: 2219f910-2ff0-4521-b059-1bd231a536c4 1199 arch-tag: 2219f910-2ff0-4521-b059-1bd231a536c4
1224@end ignore 1200@end ignore