annotate man/xemacs/display.texi @ 5263:0d436a78c514

Add an implementation for #'the, cl-macs.el lisp/ChangeLog addition: 2010-09-16 Aidan Kehoe <kehoea@parhasard.net> * cl-macs.el (the): Add a docstring and an implementation for this macro. * bytecomp.el (byte-compile-initial-macro-environment): Add #'the to this, checking byte-compile-delete-errors to decide whether to make the type assertion. Change the initvalue to use backquote and preceding commas for the lambda expressions, to allow the latter to be compiled.
author Aidan Kehoe <kehoea@parhasard.net>
date Thu, 16 Sep 2010 13:36:03 +0100
parents 3ecd8885ac67
children c6b1500299a7
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
428
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
1
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
2 @node Display, Search, Registers, Top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
3 @chapter Controlling the Display
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
4
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
5 Since only part of a large buffer fits in the window, XEmacs tries to show
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
6 the part that is likely to be interesting. The display control commands
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
7 allow you to specify which part of the text you want to see.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
8
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
9 @table @kbd
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
10 @item C-l
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
11 Clear frame and redisplay, scrolling the selected window to center
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
12 point vertically within it (@code{recenter}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
13 @item C-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
14 @itemx pgdn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
15 @itemx next
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
16 Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
17 On most X keyboards, you can get this functionality using the key
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
18 labelled @samp{Page Down}, which generates either @kbd{next} or @kbd{pgdn}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
19 @item M-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
20 @itemx pgup
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
21 @itemx prior
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
22 Scroll backward (@code{scroll-down}). On most X keyboards, you can get
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
23 this functionality using the key labelled @samp{Page Up}, which
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
24 generates either @kbd{prior} or @kbd{pgup}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
25 @item @var{arg} C-l
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
26 Scroll so point is on line @var{arg} (@code{recenter}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
27 @item C-x <
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
28 @itemx C-pgdn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
29 @itemx C-next
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
30 Scroll text in current window to the left (@code{scroll-left}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
31 @item C-x >
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
32 @itemx C-pgup
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
33 @itemx C-prior
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
34 Scroll to the right (@code{scroll-right}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
35 @item C-x $
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
36 Make deeply indented lines invisible (@code{set-selective-display}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
37 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
38
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
39 @menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
40 * Scrolling:: Moving text up and down in a window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
41 * Horizontal Scrolling:: Moving text left and right in a window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
42 * Selective Display:: Hiding lines with lots of indentation.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
43 * Display Vars:: Information on variables for customizing display.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
44 @end menu
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
45
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
46 @node Scrolling, Horizontal Scrolling, Display, Display
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
47 @section Scrolling
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
48
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
49 If a buffer contains text that is too large to fit entirely within the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
50 window that is displaying the buffer, XEmacs shows a contiguous section of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
51 the text. The section shown always contains point.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
52
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
53 @cindex scrolling
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
54 @dfn{Scrolling} means moving text up or down in the window so that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
55 different parts of the text are visible. Scrolling forward means that text
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
56 moves up, and new text appears at the bottom. Scrolling backward moves
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
57 text down and new text appears at the top.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
58
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
59 Scrolling happens automatically if you move point past the bottom or top
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
60 of the window. You can also explicitly request scrolling with the commands
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
61 in this section.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
62
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
63 @ifinfo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
64 @table @kbd
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
65 @item C-l
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
66 Clear frame and redisplay, scrolling the selected window to center
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
67 point vertically within it (@code{recenter}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
68 @item C-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
69 @itemx pgdn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
70 @itemx next
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
71 Scroll forward (a windowful or a specified number of lines) (@code{scroll-up}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
72 @item M-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
73 @itemx pgup
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
74 @itemx prior
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
75 Scroll backward (@code{scroll-down}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
76 @item @var{arg} C-l
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
77 Scroll so point is on line @var{arg} (@code{recenter}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
78 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
79 @end ifinfo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
80
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
81 @kindex C-l
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
82 @findex recenter
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
83 The most basic scrolling command is @kbd{C-l} (@code{recenter}) with no
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
84 argument. It clears the entire frame and redisplays all windows. In
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
85 addition, it scrolls the selected window so that point is halfway down
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
86 from the top of the window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
87
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
88 @kindex C-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
89 @kindex M-v
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
90 @kindex pgup
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
91 @kindex pgdn
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
92 @kindex next
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
93 @kindex prior
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
94 @findex scroll-up
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
95 @findex scroll-down
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
96 The scrolling commands @kbd{C-v} and @kbd{M-v} let you move all the text
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
97 in the window up or down a few lines. @kbd{C-v} (@code{scroll-up}) with an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
98 argument shows you that many more lines at the bottom of the window, moving
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
99 the text and point up together as @kbd{C-l} might. @kbd{C-v} with a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
100 negative argument shows you more lines at the top of the window.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
101 @kbd{Meta-v} (@code{scroll-down}) is like @kbd{C-v}, but moves in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
102 opposite direction.@refill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
103
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
104 @vindex next-screen-context-lines
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
105 To read the buffer a windowful at a time, use @kbd{C-v} with no
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
106 argument. @kbd{C-v} takes the last two lines at the bottom of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
107 window and puts them at the top, followed by nearly a whole windowful of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
108 lines not previously visible. Point moves to the new top of the window
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
109 if it was in the text scrolled off the top. @kbd{M-v} with no argument
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
110 moves backward with similar overlap. The number of lines of overlap
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
111 across a @kbd{C-v} or @kbd{M-v} is controlled by the variable
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
112 @code{next-screen-context-lines}; by default, it is two.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
113
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
114 Another way to scroll is using @kbd{C-l} with a numeric argument.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
115 @kbd{C-l} does not clear the frame when given an argument; it only
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
116 scrolls the selected window. With a positive argument @var{n}, @kbd{C-l}
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
117 repositions text to put point @var{n} lines down from the top. An
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
118 argument of zero puts point on the very top line. Point does not move
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
119 with respect to the text; rather, the text and point move rigidly on the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
120 frame. @kbd{C-l} with a negative argument puts point that many lines
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
121 from the bottom of the window. For example, @kbd{C-u - 1 C-l} puts
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
122 point on the bottom line, and @kbd{C-u - 5 C-l} puts it five lines from
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
123 the bottom. Just @kbd{C-u} as argument, as in @kbd{C-u C-l}, scrolls
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
124 point to the center of the frame.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
125
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
126 @vindex scroll-step
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
127 Scrolling happens automatically if point has moved out of the visible
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
128 portion of the text when it is time to display. Usually scrolling is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
129 done to put point vertically centered within the window. However, if
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
130 the variable @code{scroll-step} has a non-zero value, an attempt is made to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
131 scroll the buffer by that many lines; if that is enough to bring point back
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
132 into visibility, that is what happens.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
133
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
134 Scrolling happens automatically if point has moved out of the visible
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
135 portion of the text when it is time to display. Usually scrolling is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
136 done to put point vertically centered within the window. However, if
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
137 the variable @code{scroll-step} has a non-zero value, an attempt is made to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
138 scroll the buffer by that many lines; if that is enough to bring point back
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
139 into visibility, that is what happens.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
140
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
141 @vindex scroll-conservatively
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
142 If you set @code{scroll-step} to a small value because you want to use
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
143 arrow keys to scroll the screen without recentering, the redisplay
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
144 preemption will likely make XEmacs keep recentering the screen when
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
145 scrolling fast, regardless of @code{scroll-step}. To prevent this, set
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
146 @code{scroll-conservatively} to a small value, which will have the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
147 result of overriding the redisplay preemption.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
148
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
149 @node Horizontal Scrolling,, Scrolling, Display
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
150 @section Horizontal Scrolling
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
151
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
152 @ifinfo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
153 @table @kbd
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
154 @item C-x <
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
155 Scroll text in current window to the left (@code{scroll-left}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
156 @item C-x >
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
157 Scroll to the right (@code{scroll-right}).
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
158 @end table
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
159 @end ifinfo
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
160
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
161 @kindex C-x <
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
162 @kindex C-x >
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
163 @findex scroll-left
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
164 @findex scroll-right
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
165 @cindex horizontal scrolling
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
166 The text in a window can also be scrolled horizontally. This means that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
167 each line of text is shifted sideways in the window, and one or more
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
168 characters at the beginning of each line are not displayed at all. When a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
169 window has been scrolled horizontally in this way, text lines are truncated
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
170 rather than continued (@pxref{Continuation Lines}), with a @samp{$} appearing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
171 in the first column when there is text truncated to the left, and in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
172 last column when there is text truncated to the right.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
173
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
174 The command @kbd{C-x <} (@code{scroll-left}) scrolls the selected
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
175 window to the left by @var{n} columns with argument @var{n}. With no
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
176 argument, it scrolls by almost the full width of the window (two columns
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
177 less, to be precise). @kbd{C-x >} (@code{scroll-right}) scrolls
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
178 similarly to the right. The window cannot be scrolled any farther to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
179 the right once it is displaying normally (with each line starting at the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
180 window's left margin); attempting to do so has no effect.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
181
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
182 @node Selective Display, Display Vars, Display, Display
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
183 @section Selective Display
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
184 @findex set-selective-display
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
185 @kindex C-x $
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
186
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
187 XEmacs can hide lines indented more than a certain number
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
188 of columns (you specify how many columns). This allows you to get an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
189 overview of a part of a program.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
190
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
191 To hide lines, type @kbd{C-x $} (@code{set-selective-display}) with a
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
192 numeric argument @var{n}. (@xref{Arguments}, for information on giving
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
193 the argument.) Lines with at least @var{n} columns of indentation
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
194 disappear from the screen. The only indication of their presence are
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
195 three dots (@samp{@dots{}}), which appear at the end of each visible
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
196 line that is followed by one or more invisible ones.@refill
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
197
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
198 The invisible lines are still present in the buffer, and most editing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
199 commands see them as usual, so it is very easy to put point in the middle
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
200 of invisible text. When this happens, the cursor appears at the end of the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
201 previous line, after the three dots. If point is at the end of the visible
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
202 line, before the newline that ends it, the cursor appears before the three
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
203 dots.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
204
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
205 The commands @kbd{C-n} and @kbd{C-p} move across the invisible lines
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
206 as if they were not there.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
207
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
208 To make everything visible again, type @kbd{C-x $} with no argument.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
209
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
210 @node Display Vars,, Selective Display, Display
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
211 @section Variables Controlling Display
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
212
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
213 This section contains information for customization only. Beginning
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
214 users should skip it.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
215
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
216 @vindex no-redraw-on-reenter
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
217 When you reenter XEmacs after suspending, XEmacs normally clears the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
218 screen and redraws the entire display. On some terminals with more than
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
219 one page of memory, it is possible to arrange the termcap entry so that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
220 the @samp{ti} and @samp{te} strings (output to the terminal when XEmacs
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
221 is entered and exited, respectively) switch between pages of memory so
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
222 as to use one page for XEmacs and another page for other output. In that
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
223 case, you might want to set the variable @code{no-redraw-on-reenter} to
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
224 non-@code{nil} so that XEmacs will assume, when resumed, that the screen
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
225 page it is using still contains what XEmacs last wrote there.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
226
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
227 @vindex echo-keystrokes
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
228 The variable @code{echo-keystrokes} controls the echoing of multi-character
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
229 keys; its value is the number of seconds of pause required to cause echoing
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
230 to start, or zero, meaning don't echo at all. @xref{Echo Area}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
231
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
232 @vindex ctl-arrow
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
233 If the variable @code{ctl-arrow} is @code{nil}, control characters in the
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
234 buffer are displayed with octal escape sequences, all except newline and
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
235 tab. If its value is @code{t}, then control characters will be printed
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
236 with an up-arrow, for example @kbd{^A}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
237
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
238 If its value is not @code{t} and not @code{nil}, then characters whose
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
239 code is greater than 160 (that is, the space character (32) with its
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
240 high bit set) will be assumed to be printable, and will be displayed
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
241 without alteration. This is the default when running under X Windows,
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
242 since XEmacs assumes an ISO/8859-1 character set (also known as
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
243 ``Latin1''). The @code{ctl-arrow} variable may also be set to an
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
244 integer, in which case all characters whose codes are greater than or
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
245 equal to that value will be assumed to be printable.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
246
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
247 Altering the value of @code{ctl-arrow} makes it local to the current
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
248 buffer; until that time, the default value is in effect. @xref{Locals}.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
249
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
250 @vindex tab-width
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
251 Normally, a tab character in the buffer is displayed as whitespace which
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
252 extends to the next display tab stop position, and display tab stops come
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
253 at intervals equal to eight spaces. The number of spaces per tab is
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
254 controlled by the variable @code{tab-width}, which is made local by
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
255 changing it, just like @code{ctl-arrow}. Note that how the tab character
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
256 in the buffer is displayed has nothing to do with the definition of
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
257 @key{TAB} as a command.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
258
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
259 @vindex selective-display-ellipses
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
260 If you set the variable @code{selective-display-ellipses} to @code{nil},
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
261 the three dots at the end of a line that precedes invisible
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
262 lines do not appear. There is no visible indication of the invisible lines.
3ecd8885ac67 Import from CVS: tag r21-2-22
cvs
parents:
diff changeset
263 This variable becomes local automatically when set.