aboutsummaryrefslogtreecommitdiffstats
path: root/doc
diff options
context:
space:
mode:
authorAlan Mackenzie2011-10-28 14:35:39 +0000
committerAlan Mackenzie2011-10-28 14:35:39 +0000
commit93b5b3bdc8b734132c530acd6ffae1196c0865bc (patch)
treeda8ed72a56bfbf65d6f3cd9bdc3fa5d123dc4873 /doc
parent020716e178cdae443a3630c4307023cb3fc4c350 (diff)
parentbc97a826f8ea89a269f6043be3148930f023e2b2 (diff)
downloademacs-93b5b3bdc8b734132c530acd6ffae1196c0865bc.tar.gz
emacs-93b5b3bdc8b734132c530acd6ffae1196c0865bc.zip
Boring merge from savannah.
Diffstat (limited to 'doc')
-rw-r--r--doc/emacs/ChangeLog18
-rw-r--r--doc/emacs/abbrevs.texi2
-rw-r--r--doc/emacs/buffers.texi5
-rw-r--r--doc/emacs/display.texi175
-rw-r--r--doc/emacs/emacs.texi3
-rw-r--r--doc/emacs/frames.texi121
-rw-r--r--doc/emacs/kmacro.texi2
-rw-r--r--doc/emacs/macos.texi2
-rw-r--r--doc/emacs/programs.texi2
-rw-r--r--doc/emacs/rmail.texi11
-rw-r--r--doc/emacs/search.texi4
-rw-r--r--doc/lispref/ChangeLog4
-rw-r--r--doc/lispref/modes.texi54
-rw-r--r--doc/misc/ChangeLog6
-rw-r--r--doc/misc/cc-mode.texi97
-rw-r--r--doc/misc/trampver.texi2
16 files changed, 329 insertions, 179 deletions
diff --git a/doc/emacs/ChangeLog b/doc/emacs/ChangeLog
index 726f565e83e..9a501d38375 100644
--- a/doc/emacs/ChangeLog
+++ b/doc/emacs/ChangeLog
@@ -1,5 +1,23 @@
12011-10-26 Juanma Barranquero <lekktu@gmail.com>
2
3 * emacs.texi (Top): Fix typo.
4
52011-10-25 Glenn Morris <rgm@gnu.org>
6
7 * abbrevs.texi (Saving Abbrevs):
8 quietly-read-abbrev-file is not a command. (Bug#9866)
9
102011-10-24 Chong Yidong <cyd@gnu.org>
11
12 * display.texi (Scrolling): Document scroll-up-line and
13 scroll-down-line. Document scroll-command property.
14 (Recentering): New node, split off from Scrolling.
15
12011-10-23 Chong Yidong <cyd@gnu.org> 162011-10-23 Chong Yidong <cyd@gnu.org>
2 17
18 * frames.texi (Scroll Bars): GTK uses right scroll bars now.
19 (Tool Bars): Copyedits.
20
3 * buffers.texi (Misc Buffer): Don't mention vc-toggle-read-only. 21 * buffers.texi (Misc Buffer): Don't mention vc-toggle-read-only.
4 22
52011-10-22 Chong Yidong <cyd@gnu.org> 232011-10-22 Chong Yidong <cyd@gnu.org>
diff --git a/doc/emacs/abbrevs.texi b/doc/emacs/abbrevs.texi
index d0833ea0854..2eafadf4841 100644
--- a/doc/emacs/abbrevs.texi
+++ b/doc/emacs/abbrevs.texi
@@ -286,8 +286,6 @@ sessions.
286Write a file @var{file} describing all defined abbrevs. 286Write a file @var{file} describing all defined abbrevs.
287@item M-x read-abbrev-file @key{RET} @var{file} @key{RET} 287@item M-x read-abbrev-file @key{RET} @var{file} @key{RET}
288Read the file @var{file} and define abbrevs as specified therein. 288Read the file @var{file} and define abbrevs as specified therein.
289@item M-x quietly-read-abbrev-file @key{RET} @var{file} @key{RET}
290Similar but do not display a message about what is going on.
291@item M-x define-abbrevs 289@item M-x define-abbrevs
292Define abbrevs from definitions in current buffer. 290Define abbrevs from definitions in current buffer.
293@item M-x insert-abbrevs 291@item M-x insert-abbrevs
diff --git a/doc/emacs/buffers.texi b/doc/emacs/buffers.texi
index aed5473ac15..302693aecef 100644
--- a/doc/emacs/buffers.texi
+++ b/doc/emacs/buffers.texi
@@ -229,9 +229,8 @@ have special commands to operate on the text; also by visiting a file
229whose access control says you cannot write it. 229whose access control says you cannot write it.
230 230
231@findex toggle-read-only 231@findex toggle-read-only
232 If you wish to make changes in a read-only buffer, use the command 232 The command @kbd{C-x C-q} (@code{toggle-read-only}) makes a read-only
233@kbd{C-x C-q} (@code{toggle-read-only}). It makes a read-only buffer 233buffer writable, and makes a writable buffer read-only. This works by
234writable, and makes a writable buffer read-only. This works by
235setting the variable @code{buffer-read-only}, which has a local value 234setting the variable @code{buffer-read-only}, which has a local value
236in each buffer and makes the buffer read-only if its value is 235in each buffer and makes the buffer read-only if its value is
237non-@code{nil}. 236non-@code{nil}.
diff --git a/doc/emacs/display.texi b/doc/emacs/display.texi
index b72e24bf243..8995b1242b1 100644
--- a/doc/emacs/display.texi
+++ b/doc/emacs/display.texi
@@ -13,6 +13,7 @@ the text is displayed.
13 13
14@menu 14@menu
15* Scrolling:: Commands to move text up and down in a window. 15* Scrolling:: Commands to move text up and down in a window.
16* Recentering:: A scroll command that centers the current line.
16* Auto Scrolling:: Redisplay scrolls text automatically when needed. 17* Auto Scrolling:: Redisplay scrolls text automatically when needed.
17* Horizontal Scrolling:: Moving text left and right in a window. 18* Horizontal Scrolling:: Moving text left and right in a window.
18* Narrowing:: Restricting display and editing to a portion 19* Narrowing:: Restricting display and editing to a portion
@@ -48,15 +49,15 @@ portion of the buffer is displayed.
48 Scrolling ``forward'' or ``up'' advances the portion of the buffer 49 Scrolling ``forward'' or ``up'' advances the portion of the buffer
49displayed in the window; equivalently, it moves the buffer text 50displayed in the window; equivalently, it moves the buffer text
50upwards relative to the window. Scrolling ``backward'' or ``down'' 51upwards relative to the window. Scrolling ``backward'' or ``down''
51moves the displayed portion backwards, and moves the text downwards 52displays an earlier portion of the buffer, and moves the text
52relative to the window. In Emacs, scrolling ``up'' or ``down'' refers 53downwards relative to the window.
53to the direction that the text moves in the window, @emph{not} the 54
54direction that the window moves relative to the text; this terminology 55 In Emacs, scrolling ``up'' or ``down'' refers to the direction that
55was taken up by Emacs before the modern meaning of ``scrolling up'' 56the text moves in the window, @emph{not} the direction that the window
56and ``scrolling down'' became widely adopted. Hence the strange 57moves relative to the text. This terminology was adopted by Emacs
57result that @key{PageDown} scrolls ``up'' in the Emacs sense. In this 58before the modern meaning of ``scrolling up'' and ``scrolling down''
58manual, we refer to scrolling ``forward'' and ``backward'' where 59became widespread. Hence, the strange result that @key{PageDown}
59possible, in order to minimize confusion. 60scrolls ``up'' in the Emacs sense.
60 61
61 The portion of a buffer displayed in a window always contains point. 62 The portion of a buffer displayed in a window always contains point.
62If you move point past the bottom or top of the window, scrolling 63If you move point past the bottom or top of the window, scrolling
@@ -64,11 +65,6 @@ occurs automatically to bring it back onscreen (@pxref{Auto
64Scrolling}). You can also scroll explicitly with these commands: 65Scrolling}). You can also scroll explicitly with these commands:
65 66
66@table @kbd 67@table @kbd
67@item C-l
68Scroll the selected window so that the current line is the center-most
69text line; on subsequent consecutive invocations, make the current
70line the top-most line, the bottom-most line, and so on in cyclic
71order; also, maybe redisplay the screen (@code{recenter-top-bottom}).
72@item C-v 68@item C-v
73@itemx @key{next} 69@itemx @key{next}
74@itemx @key{PageDown} 70@itemx @key{PageDown}
@@ -77,6 +73,86 @@ Scroll forward by nearly a full window (@code{scroll-up-command}).
77@itemx @key{prior} 73@itemx @key{prior}
78@itemx @key{PageUp} 74@itemx @key{PageUp}
79Scroll backward (@code{scroll-down-command}). 75Scroll backward (@code{scroll-down-command}).
76@end table
77
78@kindex C-v
79@kindex M-v
80@kindex next
81@kindex prior
82@kindex PageDown
83@kindex PageUp
84@findex scroll-up-command
85@findex scroll-down-command
86 @kbd{C-v} (@code{scroll-up-command}) scrolls forward by nearly the
87whole window height. The effect is to take the two lines at the
88bottom of the window and put them at the top, followed by lines that
89were not previously visible. If point was in the text that scrolled
90off the top, it ends up on the window's new topmost line. The
91@key{next} (or @key{PageDown}) key is equivalent to @kbd{C-v}.
92
93 @kbd{M-v} (@code{scroll-down-command}) scrolls backward in a similar
94way. The @key{prior} (or @key{PageUp}) key is equivalent to
95@kbd{M-v}.
96
97@vindex next-screen-context-lines
98 The number of lines of overlap left by these scroll commands is
99controlled by the variable @code{next-screen-context-lines}, whose
100default value is 2. You can supply the commands with a numeric prefix
101argument, @var{n}, to scroll by @var{n} lines; Emacs attempts to leave
102point unchanged, so that the text and point move up or down together.
103@kbd{C-v} with a negative argument is like @kbd{M-v} and vice versa.
104
105@vindex scroll-error-top-bottom
106 By default, these commands signal an error (by beeping or flashing
107the screen) if no more scrolling is possible, because the window has
108reached the beginning or end of the buffer. If you change the
109variable @code{scroll-error-top-bottom} to @code{t}, the command moves
110point to the farthest possible position. If point is already there,
111the command signals an error.
112
113@vindex scroll-preserve-screen-position
114@cindex @code{scroll-command} property
115 Some users like scroll commands to keep point at the same screen
116position, so that scrolling back to the same screen conveniently
117returns point to its original position. You can enable this behavior
118via the variable @code{scroll-preserve-screen-position}. If the value
119is @code{t}, Emacs adjusts point to keep the cursor at the same screen
120position whenever a scroll command moves it off-window, rather than
121moving it to the topmost or bottommost line. With any other
122non-@code{nil} value, Emacs adjusts point this way even if the scroll
123command leaves point in the window. This variable affects all the
124scroll commands documented in this section, as well as scrolling with
125the mouse wheel (@pxref{Wheeled Mice}); in general, it affects any
126command that has a non-@code{nil} @code{scroll-command} property.
127@xref{Property Lists,,, elisp, The Emacs Lisp Reference Manual}.
128
129@vindex scroll-up
130@vindex scroll-down
131@findex scroll-up-line
132@findex scroll-down-line
133 The commands @kbd{M-x scroll-up} and @kbd{M-x scroll-down} behave
134similarly to @code{scroll-up-command} and @code{scroll-down-command},
135except they do not obey @code{scroll-error-top-bottom}. Prior to
136Emacs 24, these were the default commands for scrolling up and down.
137The commands @kbd{M-x scroll-up-line} and @kbd{M-x scroll-down-line}
138scroll the current window by one line at a time. If you intend to use
139any of these commands, you might want to give them key bindings
140(@pxref{Init Rebinding}).
141
142@node Recentering
143@section Recentering
144
145@table @kbd
146@item C-l
147Scroll the selected window so the current line is the center-most text
148line; on subsequent consecutive invocations, make the current line the
149top line, the bottom line, and so on in cyclic order. Possibly
150redisplay the screen too (@code{recenter-top-bottom}).
151
152@item M-x recenter
153Scroll the selected window so the current line is the center-most text
154line. Possibly redisplay the screen too.
155
80@item C-M-l 156@item C-M-l
81Scroll heuristically to bring useful information onto the screen 157Scroll heuristically to bring useful information onto the screen
82(@code{reposition-window}). 158(@code{reposition-window}).
@@ -107,14 +183,13 @@ non-zero value @var{n}, @kbd{C-l} always leaves at least @var{n}
107screen lines between point and the top or bottom of the window 183screen lines between point and the top or bottom of the window
108(@pxref{Auto Scrolling}). 184(@pxref{Auto Scrolling}).
109 185
110 You can also supply @kbd{C-l} with a prefix argument. With a plain 186 You can also give @kbd{C-l} a prefix argument. A plain prefix
111prefix argument, @kbd{C-u C-l}, Emacs simply recenters point. With a 187argument, @kbd{C-u C-l}, simply recenters point. A positive argument
112positive argument @var{n}, it scrolls to place point @var{n} lines 188@var{n} puts point @var{n} lines down from the top of the window. An
113down from the top of the window. An argument of zero puts point on 189argument of zero puts point on the topmost line. A negative argument
114the topmost line. A negative argument @var{-n} puts point @var{n} 190@var{-n} puts point @var{n} lines from the bottom of the window. When
115lines from the bottom of the window. When given an argument, 191given an argument, @kbd{C-l} does not clear the screen or cycle
116@kbd{C-l} does not clear the screen or cycle through different screen 192through different screen positions.
117positions.
118 193
119@vindex recenter-redisplay 194@vindex recenter-redisplay
120 If the variable @code{recenter-redisplay} has a non-@code{nil} 195 If the variable @code{recenter-redisplay} has a non-@code{nil}
@@ -127,62 +202,6 @@ becomes garbled for any reason (@pxref{Screen Garbled}).
127 The more primitive command @kbd{M-x recenter} behaves like 202 The more primitive command @kbd{M-x recenter} behaves like
128@code{recenter-top-bottom}, but does not cycle among screen positions. 203@code{recenter-top-bottom}, but does not cycle among screen positions.
129 204
130@kindex C-v
131@kindex M-v
132@kindex next
133@kindex prior
134@kindex PageDown
135@kindex PageUp
136@findex scroll-up-command
137@findex scroll-down-command
138 @kbd{C-v} (@code{scroll-up-command}) scrolls forward by nearly the
139whole window height. The effect is to take the two lines at the
140bottom of the window and put them at the top, followed by lines that
141were not previously visible. If point was in the text that scrolled
142off the top, it ends up on the window's new topmost line.
143
144 Similarly, @kbd{M-v} (@code{scroll-down-command}) scrolls backward.
145
146 We refer to @kbd{C-v} and @kbd{M-v} as @dfn{full-screen scroll
147commands}. The function key @key{next}, or @key{PageDown}, is
148equivalent to @kbd{C-v}; the function key @key{prior}, or
149@key{PageUp}, is equivalent to @kbd{M-v}.
150
151@vindex next-screen-context-lines
152 The variable @code{next-screen-context-lines} controls the number of
153lines of overlap left by the full-screen scroll commands; by default,
154it is 2. You can supply these commands with a numeric prefix argument
155@var{n}. This scrolls the window by @var{n} lines, while attempting
156to leave point unchanged (so that the text and point move up or down
157together). @kbd{C-v} with a negative argument is like @kbd{M-v} and
158vice versa.
159
160@vindex scroll-error-top-bottom
161 By default, the full-screen scroll commands signal an error (by
162beeping or flashing the screen) if no more scrolling is possible,
163because the window has reached the beginning or end of the buffer. If
164you change the variable @code{scroll-error-top-bottom} to @code{t},
165Emacs instead moves point to the farthest possible position. If point
166is already there, the command signals an error.
167
168@vindex scroll-preserve-screen-position
169 Some users like scroll commands to keep point at the same screen
170position. Then, scrolling back to the same screen also conveniently
171returns point to its original position. You can enable this via the
172variable @code{scroll-preserve-screen-position}. If the value is
173@code{t}, Emacs adjusts point to keep it at the same vertical position
174within the window, rather than the window edge, whenever a scroll
175command moves it off the window. With any other non-@code{nil} value,
176Emacs adjusts point this way even if the scroll command leaves point
177in the window.
178
179@vindex scroll-up
180@vindex scroll-down
181 The commands @code{scroll-up} and @code{scroll-down} behave
182similarly to @code{scroll-up-command} and @code{scroll-down-command},
183except they do not obey @code{scroll-error-top-bottom}. Prior to
184Emacs 24, these were the default commands for scrolling up and down.
185
186@kindex C-M-l 205@kindex C-M-l
187@findex reposition-window 206@findex reposition-window
188 @kbd{C-M-l} (@code{reposition-window}) scrolls the current window 207 @kbd{C-M-l} (@code{reposition-window}) scrolls the current window
diff --git a/doc/emacs/emacs.texi b/doc/emacs/emacs.texi
index cad0e4db3c0..55fdb9ec875 100644
--- a/doc/emacs/emacs.texi
+++ b/doc/emacs/emacs.texi
@@ -295,7 +295,7 @@ Help
295* Package Keywords:: Finding Lisp libraries by keywords (topics). 295* Package Keywords:: Finding Lisp libraries by keywords (topics).
296* Language Help:: Help relating to international language support. 296* Language Help:: Help relating to international language support.
297* Misc Help:: Other help commands. 297* Misc Help:: Other help commands.
298* Help Files:: Commands to display auxilliary help files. 298* Help Files:: Commands to display auxiliary help files.
299* Help Echo:: Help on active text and tooltips (`balloon help'). 299* Help Echo:: Help on active text and tooltips (`balloon help').
300 300
301The Mark and the Region 301The Mark and the Region
@@ -342,6 +342,7 @@ Registers
342Controlling the Display 342Controlling the Display
343 343
344* Scrolling:: Commands to move text up and down in a window. 344* Scrolling:: Commands to move text up and down in a window.
345* Recentering:: A scrolling command that centers the current line.
345* Auto Scrolling:: Redisplay scrolls text automatically when needed. 346* Auto Scrolling:: Redisplay scrolls text automatically when needed.
346* Horizontal Scrolling:: Moving text left and right in a window. 347* Horizontal Scrolling:: Moving text left and right in a window.
347* Narrowing:: Restricting display and editing to a portion 348* Narrowing:: Restricting display and editing to a portion
diff --git a/doc/emacs/frames.texi b/doc/emacs/frames.texi
index 4c239d364f0..49222451cce 100644
--- a/doc/emacs/frames.texi
+++ b/doc/emacs/frames.texi
@@ -956,55 +956,43 @@ Parameters,,, elisp, The Emacs Lisp Reference Manual}.
956@cindex Scroll Bar mode 956@cindex Scroll Bar mode
957@cindex mode, Scroll Bar 957@cindex mode, Scroll Bar
958 958
959 On graphical displays, Emacs normally makes a @dfn{scroll bar} at 959 On graphical displays, there is a @dfn{scroll bar} on the side of
960the left of each Emacs window, running the height of the 960each Emacs window. Clicking @kbd{Mouse-1} on the scroll bar's up and
961window.@footnote{Placing it at the left is usually more useful with 961down buttons scrolls the window by one line at a time. Clicking
962overlapping frames with text starting at the left margin.} 962@kbd{Mouse-1} above or below the scroll bar's inner box scrolls the
963 963window by nearly the entire height of the window, like @kbd{M-v} and
964 When Emacs is compiled with GTK+ support on the X Window System, or 964@kbd{C-v} respectively (@pxref{Moving Point}). Dragging the inner box
965in operating systems such as Microsoft Windows or Mac OS, you can use 965scrolls continuously.
966the scroll bar as you do in other graphical applications. If you 966
967click @kbd{Mouse-1} on the scroll bar's up and down buttons, that 967 If Emacs is compiled on the X Window System without X toolkit
968scrolls the window by one line at a time. Clicking @kbd{Mouse-1} 968support, the scroll bar behaves differently. Clicking @kbd{Mouse-1}
969above or below the scroll bar's inner box scrolls the window by nearly 969anywhere on the scroll bar scrolls forward like @kbd{C-v}, while
970the entire height of the window, like @kbd{M-v} and @kbd{C-v} 970@kbd{Mouse-3} scrolls backward like @kbd{M-v}. Clicking @kbd{Mouse-2}
971respectively (@pxref{Moving Point}). Dragging the inner box with 971in the scroll bar lets you drag the inner box up and down.
972@kbd{Mouse-1} scrolls the window continuously.
973
974 If Emacs is compiled without GTK+ support on the X Window System,
975the scroll bar behaves differently. The scroll bar's inner box is
976drawn to represent the portion of the buffer currently displayed, with
977the entire height of the scroll bar representing the entire length of
978the buffer. @kbd{Mouse-1} anywhere on the scroll bar scrolls forward
979like @kbd{C-v}, and @kbd{Mouse-3} scrolls backward like @kbd{M-v}.
980Clicking @kbd{Mouse-2} in the scroll bar lets you move or drag the
981inner box up and down.
982
983 You can also click @kbd{C-Mouse-2} in the scroll bar to split a
984window vertically. The split occurs on the line where you click.
985 972
986@findex scroll-bar-mode 973@findex scroll-bar-mode
987@vindex scroll-bar-mode
988 You can toggle the use of the scroll bar with the command @kbd{M-x
989scroll-bar-mode}. With a prefix argument, this command turns use of
990scroll bars on if and only if the argument is positive. This command
991applies to all frames, including frames yet to be created. Customize
992the variable @code{scroll-bar-mode} to control the use of scroll bars
993at startup. You can use it to specify that they are placed at the
994right of windows if you prefer that. You have to set this variable
995through the @samp{Customize} interface (@pxref{Easy Customization}),
996or it will not work properly. You can also use the X resource
997@samp{verticalScrollBars} to control the initial setting of Scroll Bar
998mode. @xref{Resources}.
999
1000@findex toggle-scroll-bar 974@findex toggle-scroll-bar
1001 To enable or disable scroll bars for just the selected frame, use the 975 To toggle the use of scroll bars, type @kbd{M-x scroll-bar-mode}.
976This command applies to all frames, including frames yet to be
977created. To toggle scroll bars for just the selected frame, use the
1002command @kbd{M-x toggle-scroll-bar}. 978command @kbd{M-x toggle-scroll-bar}.
1003 979
980@vindex scroll-bar-mode
981 To control the use of scroll bars at startup, customize the variable
982@code{scroll-bar-mode}. Its value should be either @code{right} (put
983scroll bars on the right side of windows), @code{left} (put them on
984the left), or @code{nil} (disable scroll bars). By default, Emacs
985puts scroll bars on the right if it was compiled with GTK+ support on
986the X Window System, and on MS-Windows or Mac OS; Emacs puts scroll
987bars on the left if compiled on the X Window system without GTK+
988support (following the old convention for X applications).
989
1004@vindex scroll-bar-width 990@vindex scroll-bar-width
1005@cindex width of the scroll bar 991@cindex width of the scroll bar
1006 You can control the scroll bar width by changing the value of the 992 You can also use the X resource @samp{verticalScrollBars} to enable
1007@code{scroll-bar-width} frame parameter. 993or disable the scroll bars (@pxref{Resources}). To control the scroll
994bar width, change the @code{scroll-bar-width} frame parameter
995(@pxref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}).
1008 996
1009@node Wheeled Mice 997@node Wheeled Mice
1010@section Scrolling With ``Wheeled'' Mice 998@section Scrolling With ``Wheeled'' Mice
@@ -1082,36 +1070,33 @@ menus' visual appearance.
1082@cindex mode, Tool Bar 1070@cindex mode, Tool Bar
1083@cindex icons, toolbar 1071@cindex icons, toolbar
1084 1072
1085 The @dfn{tool bar} is a line (or lines) of icons at the top of the 1073 On graphical displays, Emacs puts a @dfn{tool bar} at the top of
1086Emacs window, just below the menu bar. You can click on these icons 1074each frame, just below the menu bar. This is a row of icons which you
1087with the mouse to do various jobs. 1075can click on with the mouse to invoke various commands.
1088
1089 The global tool bar contains general commands. Some major modes
1090define their own tool bars to replace it. A few ``special'' modes
1091that are not designed for ordinary editing remove some items from the
1092global tool bar.
1093 1076
1094 Tool bars work only on a graphical display. The tool bar uses colored 1077 The global (default) tool bar contains general commands. Some major
1095XPM icons if Emacs was built with XPM support. Otherwise, the tool 1078modes define their own tool bars; whenever a buffer with such a major
1096bar uses monochrome icons (PBM or XBM format). 1079mode is current, the mode's tool bar replaces the global tool bar.
1097 1080
1098@findex tool-bar-mode 1081@findex tool-bar-mode
1099@vindex tool-bar-mode 1082@vindex tool-bar-mode
1100 You can turn display of tool bars on or off with @kbd{M-x 1083 To toggle the use of tool bars, type @kbd{M-x tool-bar-mode}. This
1101tool-bar-mode} or by customizing the option @code{tool-bar-mode}. 1084command applies to all frames, including frames yet to be created. To
1085control the use of tool bars at startup, customize the variable
1086@code{tool-bar-mode}.
1102 1087
1103@vindex tool-bar-style 1088@vindex tool-bar-style
1104@cindex Tool Bar style 1089@cindex Tool Bar style
1105 When Emacs is compiled with GTK+ support, tool bars can have text and images. 1090 When Emacs is compiled with GTK+ support, each tool bar item can
1106Customize @code{tool-bar-style} to select style. The default style is 1091consist of an image, or a text label, or both. By default, Emacs
1107the same as for the desktop in the Gnome case. If no default is found, 1092follows the Gnome desktop's tool bar style setting; if none is
1108the tool bar uses just images. 1093defined, it displays tool bar items as just images. To impose a
1094specific tool bar style, customize the variable @code{tool-bar-style}.
1109 1095
1110@cindex Tool Bar position 1096@cindex Tool Bar position
1111 You can also control the placement of the tool bar for the GTK+ tool bar 1097 You can also control the placement of the tool bar for the GTK+ tool
1112with the frame parameter @code{tool-bar-position}. 1098bar with the frame parameter @code{tool-bar-position}. @xref{Frame
1113For a detailed description of frame parameters and customization, 1099Parameters,,, elisp, The Emacs Lisp Reference Manual}.
1114see @ref{Frame Parameters,,, elisp, The Emacs Lisp Reference Manual}.
1115 1100
1116@node Dialog Boxes 1101@node Dialog Boxes
1117@section Using Dialog Boxes 1102@section Using Dialog Boxes
@@ -1186,11 +1171,11 @@ options for displaying tooltips, use @kbd{M-x customize-group
1186customizing the windows that display tooltips. 1171customizing the windows that display tooltips.
1187 1172
1188@vindex x-gtk-use-system-tooltips 1173@vindex x-gtk-use-system-tooltips
1189 If Emacs is built with GTK support, it displays tooltips via GTK, 1174 If Emacs is built with GTK+ support, it displays tooltips via GTK+,
1190using the default appearance of GTK tooltips. To disable this, change 1175using the default appearance of GTK+ tooltips. To disable this,
1191the variable @code{x-gtk-use-system-tooltips} to @code{nil}. If you 1176change the variable @code{x-gtk-use-system-tooltips} to @code{nil}.
1192do this, or if Emacs is built without GTK support, the @code{tooltip} 1177If you do this, or if Emacs is built without GTK+ support, the
1193face specifies most attributes of the tooltip text. 1178@code{tooltip} face specifies most attributes of the tooltip text.
1194 1179
1195@node Mouse Avoidance 1180@node Mouse Avoidance
1196@section Mouse Avoidance 1181@section Mouse Avoidance
diff --git a/doc/emacs/kmacro.texi b/doc/emacs/kmacro.texi
index ac81377aec9..4676983fc67 100644
--- a/doc/emacs/kmacro.texi
+++ b/doc/emacs/kmacro.texi
@@ -147,7 +147,7 @@ beginning of the line and then executing the macro.
147@findex kmacro-start-macro 147@findex kmacro-start-macro
148@findex kmacro-end-macro 148@findex kmacro-end-macro
149 In addition to the @key{F3} and @key{F4} commands described above, 149 In addition to the @key{F3} and @key{F4} commands described above,
150Emacs also supports an older set of keybindings for defining and 150Emacs also supports an older set of key bindings for defining and
151executing keyboard macros. To begin a macro definition, type @kbd{C-x 151executing keyboard macros. To begin a macro definition, type @kbd{C-x
152(} (@code{kmacro-start-macro}); as with @key{F3}, a prefix argument 152(} (@code{kmacro-start-macro}); as with @key{F3}, a prefix argument
153appends this definition to the last keyboard macro. To end a macro 153appends this definition to the last keyboard macro. To end a macro
diff --git a/doc/emacs/macos.texi b/doc/emacs/macos.texi
index f4a5a2858cf..5a97fa8460b 100644
--- a/doc/emacs/macos.texi
+++ b/doc/emacs/macos.texi
@@ -36,7 +36,7 @@ Support}), but we hope to improve it in the future.
36 36
37 By default, the @key{alt} and @key{option} keys are the same as 37 By default, the @key{alt} and @key{option} keys are the same as
38@key{Meta}. The Mac @key{Cmd} key is the same as @key{Super}, and 38@key{Meta}. The Mac @key{Cmd} key is the same as @key{Super}, and
39Emacs provides a set of keybindings using this modifier key that mimic 39Emacs provides a set of key bindings using this modifier key that mimic
40other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You 40other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You
41can change these bindings in the usual way (@pxref{Key Bindings}). 41can change these bindings in the usual way (@pxref{Key Bindings}).
42 42
diff --git a/doc/emacs/programs.texi b/doc/emacs/programs.texi
index 5745dd7c66c..2357902341e 100644
--- a/doc/emacs/programs.texi
+++ b/doc/emacs/programs.texi
@@ -1441,7 +1441,7 @@ parsed, and move point there (@code{semantic-complete-jump}).
1441@kindex C-c , @key{SPC} 1441@kindex C-c , @key{SPC}
1442Display a list of possible completions for the symbol at point 1442Display a list of possible completions for the symbol at point
1443(@code{semantic-complete-analyze-inline}). This also activates a set 1443(@code{semantic-complete-analyze-inline}). This also activates a set
1444of special keybindings for choosing a completion: @key{RET} accepts 1444of special key bindings for choosing a completion: @key{RET} accepts
1445the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible 1445the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible
1446completions, @key{TAB} completes as far as possible and then cycles, 1446completions, @key{TAB} completes as far as possible and then cycles,
1447and @kbd{C-g} or any other key aborts completion. 1447and @kbd{C-g} or any other key aborts completion.
diff --git a/doc/emacs/rmail.texi b/doc/emacs/rmail.texi
index 9e30b657284..71c23655608 100644
--- a/doc/emacs/rmail.texi
+++ b/doc/emacs/rmail.texi
@@ -1242,11 +1242,12 @@ coding system, the result should be readable.
1242@node Rmail Editing 1242@node Rmail Editing
1243@section Editing Within a Message 1243@section Editing Within a Message
1244 1244
1245 Most of the usual Emacs keybindings are available in Rmail mode, though a 1245 Most of the usual Emacs key bindings are available in Rmail mode,
1246few, such as @kbd{C-M-n} and @kbd{C-M-h}, are redefined by Rmail for 1246though a few, such as @kbd{C-M-n} and @kbd{C-M-h}, are redefined by
1247other purposes. However, the Rmail buffer is normally read only, and 1247Rmail for other purposes. However, the Rmail buffer is normally read
1248most of the letters are redefined as Rmail commands. If you want to 1248only, and most of the letters are redefined as Rmail commands. If you
1249edit the text of a message, you must use the Rmail command @kbd{e}. 1249want to edit the text of a message, you must use the Rmail command
1250@kbd{e}.
1250 1251
1251@table @kbd 1252@table @kbd
1252@item e 1253@item e
diff --git a/doc/emacs/search.texi b/doc/emacs/search.texi
index 31b5aa37f83..a8bd1cdf18d 100644
--- a/doc/emacs/search.texi
+++ b/doc/emacs/search.texi
@@ -268,8 +268,8 @@ use it (@pxref{Rebinding}).
268 268
269@vindex isearch-mode-map 269@vindex isearch-mode-map
270 When incremental search is active, you can type @kbd{C-h C-h} to 270 When incremental search is active, you can type @kbd{C-h C-h} to
271access interactive help options, including a list of special 271access interactive help options, including a list of special key
272keybindings. These keybindings are part of the keymap 272bindings. These key bindings are part of the keymap
273@code{isearch-mode-map} (@pxref{Keymaps}). 273@code{isearch-mode-map} (@pxref{Keymaps}).
274 274
275@node Isearch Yank 275@node Isearch Yank
diff --git a/doc/lispref/ChangeLog b/doc/lispref/ChangeLog
index 490280dae29..acc334ea000 100644
--- a/doc/lispref/ChangeLog
+++ b/doc/lispref/ChangeLog
@@ -1,3 +1,7 @@
12011-10-26 Chong Yidong <cyd@gnu.org>
2
3 * modes.texi (Running Hooks): Document with-wrapper-hook.
4
12011-10-18 Chong Yidong <cyd@gnu.org> 52011-10-18 Chong Yidong <cyd@gnu.org>
2 6
3 * display.texi (Glyphless Chars): New node. 7 * display.texi (Glyphless Chars): New node.
diff --git a/doc/lispref/modes.texi b/doc/lispref/modes.texi
index eb81ebc4acb..9d652901e53 100644
--- a/doc/lispref/modes.texi
+++ b/doc/lispref/modes.texi
@@ -84,8 +84,9 @@ its value is just a single function, not a list of functions.
84@node Running Hooks 84@node Running Hooks
85@subsection Running Hooks 85@subsection Running Hooks
86 86
87 At the appropriate times, Emacs uses the @code{run-hooks} function 87 In this section, we document the @code{run-hooks} function, which is
88and the other functions below to run particular hooks. 88used to run a normal hook. We also document the functions for running
89various kinds of abnormal hooks.
89 90
90@defun run-hooks &rest hookvars 91@defun run-hooks &rest hookvars
91This function takes one or more normal hook variable names as 92This function takes one or more normal hook variable names as
@@ -108,28 +109,49 @@ be run as well.
108@end defun 109@end defun
109 110
110@defun run-hook-with-args hook &rest args 111@defun run-hook-with-args hook &rest args
111This function is the way to run an abnormal hook and always call all 112This function runs an abnormal hook by calling all the hook functions in
112of the hook functions. It calls each of the hook functions one by 113@var{hook}, passing each one the arguments @var{args}.
113one, passing each of them the arguments @var{args}.
114@end defun 114@end defun
115 115
116@defun run-hook-with-args-until-failure hook &rest args 116@defun run-hook-with-args-until-failure hook &rest args
117This function is the way to run an abnormal hook until one of the hook 117This function runs an abnormal hook by calling each hook function in
118functions fails. It calls each of the hook functions, passing each of 118turn, stopping if one of them ``fails'' by returning @code{nil}. Each
119them the arguments @var{args}, until some hook function returns 119hook function is passed the arguments @var{args}. If this function
120@code{nil}. It then stops and returns @code{nil}. If none of the 120stops because one of the hook functions fails, it returns @code{nil};
121hook functions return @code{nil}, it returns a non-@code{nil} value. 121otherwise it returns a non-@code{nil} value.
122@end defun 122@end defun
123 123
124@defun run-hook-with-args-until-success hook &rest args 124@defun run-hook-with-args-until-success hook &rest args
125This function is the way to run an abnormal hook until a hook function 125This function runs an abnormal hook by calling each hook function,
126succeeds. It calls each of the hook functions, passing each of them 126stopping if one of them ``succeeds'' by returning a non-@code{nil}
127the arguments @var{args}, until some hook function returns 127value. Each hook function is passed the arguments @var{args}. If this
128non-@code{nil}. Then it stops, and returns whatever was returned by 128function stops because one of the hook functions returns a
129the last hook function that was called. If all hook functions return 129non-@code{nil} value, it returns that value; otherwise it returns
130@code{nil}, it returns @code{nil} as well. 130@code{nil}.
131@end defun 131@end defun
132 132
133@defmac with-wrapper-hook hook args &rest body
134This macro runs the abnormal hook @code{hook} as a series of nested
135``wrapper functions'' around the @var{body} forms. The effect is
136similar to nested @code{around} advices (@pxref{Around-Advice}).
137
138Each hook function must accept an argument list consisting of a function
139@var{fun}, followed by the additional arguments listed in @var{args}.
140The function @var{fun} passed to the very first hook function in
141@var{hook} does the same as @var{body}, if it is called with arguments
142@var{args}. The @var{fun} passed to each successive hook function is
143constructed from all the preceding hook functions (and @var{body}); if
144this @var{fun} is called with arguments @var{args}, it does what the
145@code{with-wrapper-hook} call would if the preceding hook functions were
146the only ones in @var{hook}.
147
148In the function definition of the hook function, @var{fun} can be called
149any number of times (including not calling it at all). This function
150definition is then used to construct the @var{fun} passed to the next
151hook function in @var{hook}, if any. The last or ``outermost''
152@var{fun} is called once to produce the effect.
153@end defmac
154
133@node Setting Hooks 155@node Setting Hooks
134@subsection Setting Hooks 156@subsection Setting Hooks
135 157
diff --git a/doc/misc/ChangeLog b/doc/misc/ChangeLog
index 02c2d2b8750..6b0ef9c5d8b 100644
--- a/doc/misc/ChangeLog
+++ b/doc/misc/ChangeLog
@@ -1,3 +1,9 @@
12011-10-23 Michael Albinus <michael.albinus@gmx.de>
2
3 Sync with Tramp 2.2.3.
4
5 * trampver.texi: Update release number.
6
12011-10-14 Glenn Morris <rgm@gnu.org> 72011-10-14 Glenn Morris <rgm@gnu.org>
2 8
3 * ert.texi (Introduction, How to Run Tests) 9 * ert.texi (Introduction, How to Run Tests)
diff --git a/doc/misc/cc-mode.texi b/doc/misc/cc-mode.texi
index 8818904982b..887e3f3c808 100644
--- a/doc/misc/cc-mode.texi
+++ b/doc/misc/cc-mode.texi
@@ -341,6 +341,11 @@ Line-Up Functions
341* Comment Line-Up:: 341* Comment Line-Up::
342* Misc Line-Up:: 342* Misc Line-Up::
343 343
344Customizing Macros
345
346* Macro Backslashes::
347* Macros with ;::
348
344@end detailmenu 349@end detailmenu
345@end menu 350@end menu
346 351
@@ -655,6 +660,10 @@ expression, to some statements, or perhaps to whole functions, the
655syntactic recognition can be wrong. @ccmode{} manages to figure it 660syntactic recognition can be wrong. @ccmode{} manages to figure it
656out correctly most of the time, though. 661out correctly most of the time, though.
657 662
663Some macros, when invoked, ''have their own semicolon''. To get the
664next line indented correctly, rather than as a continuation line,
665@xref{Macros with ;}.
666
658Reindenting large sections of code can take a long time. When 667Reindenting large sections of code can take a long time. When
659@ccmode{} reindents a region of code, it is essentially equivalent to 668@ccmode{} reindents a region of code, it is essentially equivalent to
660hitting @key{TAB} on every line of the region. 669hitting @key{TAB} on every line of the region.
@@ -6561,6 +6570,9 @@ custom line-up function associated with it.
6561@section Other Special Indentations 6570@section Other Special Indentations
6562@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 6571@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6563 6572
6573To configure macros which you invoke without a terminating @samp{;},
6574see @xref{Macros with ;}.
6575
6564Here are the remaining odds and ends regarding indentation: 6576Here are the remaining odds and ends regarding indentation:
6565 6577
6566@defopt c-label-minimum-indentation 6578@defopt c-label-minimum-indentation
@@ -6612,6 +6624,13 @@ functions to this hook, not remove them. @xref{Style Variables}.
6612@cindex preprocessor directives 6624@cindex preprocessor directives
6613@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 6625@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6614 6626
6627Preprocessor macros in C, C++, and Objective C (introduced by
6628@code{#define}) have a syntax different from the main language---for
6629example, a macro declaration is not terminated by a semicolon, and if
6630it is more than a line long, line breaks in it must be escaped with
6631backslashes. @ccmode{} has some commands to manipulate these, see
6632@ref{Macro Backslashes}.
6633
6615Normally, the lines in a multi-line macro are indented relative to 6634Normally, the lines in a multi-line macro are indented relative to
6616each other as though they were code. You can suppress this behavior 6635each other as though they were code. You can suppress this behavior
6617by setting the following user option: 6636by setting the following user option:
@@ -6623,6 +6642,28 @@ is @code{nil}, all lines inside macro definitions are analyzed as
6623@code{cpp-macro-cont}. 6642@code{cpp-macro-cont}.
6624@end defopt 6643@end defopt
6625 6644
6645Because a macro can expand into anything at all, near where one is
6646invoked @ccmode{} can only indent and fontify code heuristically.
6647Sometimes it gets it wrong. Usually you should try to design your
6648macros so that they ''look like ordinary code'' when you invoke them.
6649However, one situation is so common that @ccmode{} handles it
6650specially: that is when certain macros needn't (or mustn't) be
6651followed by a @samp{;}. You need to configure @ccmode{} to handle
6652these macros properly, see @ref{Macros with ;}.
6653
6654@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6655@menu
6656* Macro Backslashes::
6657* Macros with ;::
6658@end menu
6659
6660@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6661@node Macro Backslashes, Macros with ;, Custom Macros, Custom Macros
6662@comment node-name, next, previous, up
6663@section Customizing Macro Backslashes
6664@cindex #define
6665@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6666
6626@ccmode{} provides some tools to help keep the line continuation 6667@ccmode{} provides some tools to help keep the line continuation
6627backslashes in macros neat and tidy. Their precise action is 6668backslashes in macros neat and tidy. Their precise action is
6628customized with these variables: 6669customized with these variables:
@@ -6665,6 +6706,62 @@ get aligned only when you explicitly invoke the command
6665@end defopt 6706@end defopt
6666 6707
6667@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! 6708@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6709@node Macros with ;, , Macro Backslashes, Custom Macros
6710@comment node-name, next, previous, up
6711@section Macros with semicolons
6712@cindex macros with semicolons
6713@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6714Macros which needn't (or mustn't) be followed by a semicolon when you
6715invoke them, @dfn{macros with semicolons}, are very common. These can
6716cause @ccmode{} to parse the next line wrongly as a
6717@code{statement-cont} (@pxref{Function Symbols}) and thus mis-indent
6718it.
6719
6720You can prevent this by specifying which macros have semicolons. It
6721doesn't matter whether or not such a macro has a parameter list:
6722
6723@defopt c-macro-names-with-semicolon
6724@vindex macro-names-with-semicolon (c-)
6725This buffer-local variable specifies which macros have semicolons.
6726After setting its value, you need to call
6727@code{c-make-macro-with-semi-re} for it to take effect. It should be
6728set to one of these values:
6729
6730@table @asis
6731@item nil
6732There are no macros with semicolons.
6733@item a list of strings
6734Each string is the name of a macro with a semicolon. Only valid
6735@code{#define} names are allowed here. For example, to set the
6736default value, you could write the following into your @file{.emacs}:
6737
6738@example
6739(setq c-macro-names-with-semicolon
6740 '("Q_OBJECT" "Q_PROPERTY" "Q_DECLARE" "Q_ENUMS"))
6741@end example
6742
6743@item a regular expression
6744This matches each symbol which is a macro with a semicolon. It must
6745not match any string which isn't a valid @code{#define} name. For
6746example:
6747
6748@example
6749(setq c-macro-names-with-semicolon
6750 "\\<\\(CLEAN_UP_AND_RETURN\\|Q_[[:upper:]]+\\)\\>")
6751@end example
6752@end table
6753@end defopt
6754
6755@defun c-make-macro-with-semi-re
6756@findex make-macro-with-semi-re (c-)
6757Call this (non-interactive) function, which sets internal variables,
6758each time you change the value of
6759@code{c-macro-names-with-semicolon}. It takes no arguments, and its
6760return value has no meaning. This function is called by @ccmode{}'s
6761initialization code.
6762@end defun
6763
6764@comment !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
6668@node Odds and Ends, Sample .emacs File, Custom Macros, Top 6765@node Odds and Ends, Sample .emacs File, Custom Macros, Top
6669@comment node-name, next, previous, up 6766@comment node-name, next, previous, up
6670@chapter Odds and Ends 6767@chapter Odds and Ends
diff --git a/doc/misc/trampver.texi b/doc/misc/trampver.texi
index 31d3ac0204f..63dc78dc4e8 100644
--- a/doc/misc/trampver.texi
+++ b/doc/misc/trampver.texi
@@ -8,7 +8,7 @@
8@c In the Tramp CVS, the version number is auto-frobbed from 8@c In the Tramp CVS, the version number is auto-frobbed from
9@c configure.ac, so you should edit that file and run 9@c configure.ac, so you should edit that file and run
10@c "autoconf && ./configure" to change the version number. 10@c "autoconf && ./configure" to change the version number.
11@set trampver 2.2.3-pre 11@set trampver 2.2.3-24.1
12 12
13@c Other flags from configuration 13@c Other flags from configuration
14@set instprefix /usr/local 14@set instprefix /usr/local