diff options
| author | Alan Mackenzie | 2011-10-28 14:35:39 +0000 |
|---|---|---|
| committer | Alan Mackenzie | 2011-10-28 14:35:39 +0000 |
| commit | 93b5b3bdc8b734132c530acd6ffae1196c0865bc (patch) | |
| tree | da8ed72a56bfbf65d6f3cd9bdc3fa5d123dc4873 /doc | |
| parent | 020716e178cdae443a3630c4307023cb3fc4c350 (diff) | |
| parent | bc97a826f8ea89a269f6043be3148930f023e2b2 (diff) | |
| download | emacs-93b5b3bdc8b734132c530acd6ffae1196c0865bc.tar.gz emacs-93b5b3bdc8b734132c530acd6ffae1196c0865bc.zip | |
Boring merge from savannah.
Diffstat (limited to 'doc')
| -rw-r--r-- | doc/emacs/ChangeLog | 18 | ||||
| -rw-r--r-- | doc/emacs/abbrevs.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/buffers.texi | 5 | ||||
| -rw-r--r-- | doc/emacs/display.texi | 175 | ||||
| -rw-r--r-- | doc/emacs/emacs.texi | 3 | ||||
| -rw-r--r-- | doc/emacs/frames.texi | 121 | ||||
| -rw-r--r-- | doc/emacs/kmacro.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/macos.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/programs.texi | 2 | ||||
| -rw-r--r-- | doc/emacs/rmail.texi | 11 | ||||
| -rw-r--r-- | doc/emacs/search.texi | 4 | ||||
| -rw-r--r-- | doc/lispref/ChangeLog | 4 | ||||
| -rw-r--r-- | doc/lispref/modes.texi | 54 | ||||
| -rw-r--r-- | doc/misc/ChangeLog | 6 | ||||
| -rw-r--r-- | doc/misc/cc-mode.texi | 97 | ||||
| -rw-r--r-- | doc/misc/trampver.texi | 2 |
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 @@ | |||
| 1 | 2011-10-26 Juanma Barranquero <lekktu@gmail.com> | ||
| 2 | |||
| 3 | * emacs.texi (Top): Fix typo. | ||
| 4 | |||
| 5 | 2011-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 | |||
| 10 | 2011-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 | |||
| 1 | 2011-10-23 Chong Yidong <cyd@gnu.org> | 16 | 2011-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 | ||
| 5 | 2011-10-22 Chong Yidong <cyd@gnu.org> | 23 | 2011-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. | |||
| 286 | Write a file @var{file} describing all defined abbrevs. | 286 | Write 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} |
| 288 | Read the file @var{file} and define abbrevs as specified therein. | 288 | Read the file @var{file} and define abbrevs as specified therein. |
| 289 | @item M-x quietly-read-abbrev-file @key{RET} @var{file} @key{RET} | ||
| 290 | Similar but do not display a message about what is going on. | ||
| 291 | @item M-x define-abbrevs | 289 | @item M-x define-abbrevs |
| 292 | Define abbrevs from definitions in current buffer. | 290 | Define 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 | |||
| 229 | whose access control says you cannot write it. | 229 | whose 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 | 233 | buffer writable, and makes a writable buffer read-only. This works by |
| 234 | writable, and makes a writable buffer read-only. This works by | ||
| 235 | setting the variable @code{buffer-read-only}, which has a local value | 234 | setting the variable @code{buffer-read-only}, which has a local value |
| 236 | in each buffer and makes the buffer read-only if its value is | 235 | in each buffer and makes the buffer read-only if its value is |
| 237 | non-@code{nil}. | 236 | non-@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 |
| 49 | displayed in the window; equivalently, it moves the buffer text | 50 | displayed in the window; equivalently, it moves the buffer text |
| 50 | upwards relative to the window. Scrolling ``backward'' or ``down'' | 51 | upwards relative to the window. Scrolling ``backward'' or ``down'' |
| 51 | moves the displayed portion backwards, and moves the text downwards | 52 | displays an earlier portion of the buffer, and moves the text |
| 52 | relative to the window. In Emacs, scrolling ``up'' or ``down'' refers | 53 | downwards relative to the window. |
| 53 | to the direction that the text moves in the window, @emph{not} the | 54 | |
| 54 | direction that the window moves relative to the text; this terminology | 55 | In Emacs, scrolling ``up'' or ``down'' refers to the direction that |
| 55 | was taken up by Emacs before the modern meaning of ``scrolling up'' | 56 | the text moves in the window, @emph{not} the direction that the window |
| 56 | and ``scrolling down'' became widely adopted. Hence the strange | 57 | moves relative to the text. This terminology was adopted by Emacs |
| 57 | result that @key{PageDown} scrolls ``up'' in the Emacs sense. In this | 58 | before the modern meaning of ``scrolling up'' and ``scrolling down'' |
| 58 | manual, we refer to scrolling ``forward'' and ``backward'' where | 59 | became widespread. Hence, the strange result that @key{PageDown} |
| 59 | possible, in order to minimize confusion. | 60 | scrolls ``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. |
| 62 | If you move point past the bottom or top of the window, scrolling | 63 | If 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 | |||
| 64 | Scrolling}). You can also scroll explicitly with these commands: | 65 | Scrolling}). You can also scroll explicitly with these commands: |
| 65 | 66 | ||
| 66 | @table @kbd | 67 | @table @kbd |
| 67 | @item C-l | ||
| 68 | Scroll the selected window so that the current line is the center-most | ||
| 69 | text line; on subsequent consecutive invocations, make the current | ||
| 70 | line the top-most line, the bottom-most line, and so on in cyclic | ||
| 71 | order; 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} |
| 79 | Scroll backward (@code{scroll-down-command}). | 75 | Scroll 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 | ||
| 87 | whole window height. The effect is to take the two lines at the | ||
| 88 | bottom of the window and put them at the top, followed by lines that | ||
| 89 | were not previously visible. If point was in the text that scrolled | ||
| 90 | off 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 | ||
| 94 | way. 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 | ||
| 99 | controlled by the variable @code{next-screen-context-lines}, whose | ||
| 100 | default value is 2. You can supply the commands with a numeric prefix | ||
| 101 | argument, @var{n}, to scroll by @var{n} lines; Emacs attempts to leave | ||
| 102 | point 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 | ||
| 107 | the screen) if no more scrolling is possible, because the window has | ||
| 108 | reached the beginning or end of the buffer. If you change the | ||
| 109 | variable @code{scroll-error-top-bottom} to @code{t}, the command moves | ||
| 110 | point to the farthest possible position. If point is already there, | ||
| 111 | the 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 | ||
| 116 | position, so that scrolling back to the same screen conveniently | ||
| 117 | returns point to its original position. You can enable this behavior | ||
| 118 | via the variable @code{scroll-preserve-screen-position}. If the value | ||
| 119 | is @code{t}, Emacs adjusts point to keep the cursor at the same screen | ||
| 120 | position whenever a scroll command moves it off-window, rather than | ||
| 121 | moving it to the topmost or bottommost line. With any other | ||
| 122 | non-@code{nil} value, Emacs adjusts point this way even if the scroll | ||
| 123 | command leaves point in the window. This variable affects all the | ||
| 124 | scroll commands documented in this section, as well as scrolling with | ||
| 125 | the mouse wheel (@pxref{Wheeled Mice}); in general, it affects any | ||
| 126 | command 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 | ||
| 134 | similarly to @code{scroll-up-command} and @code{scroll-down-command}, | ||
| 135 | except they do not obey @code{scroll-error-top-bottom}. Prior to | ||
| 136 | Emacs 24, these were the default commands for scrolling up and down. | ||
| 137 | The commands @kbd{M-x scroll-up-line} and @kbd{M-x scroll-down-line} | ||
| 138 | scroll the current window by one line at a time. If you intend to use | ||
| 139 | any 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 | ||
| 147 | Scroll the selected window so the current line is the center-most text | ||
| 148 | line; on subsequent consecutive invocations, make the current line the | ||
| 149 | top line, the bottom line, and so on in cyclic order. Possibly | ||
| 150 | redisplay the screen too (@code{recenter-top-bottom}). | ||
| 151 | |||
| 152 | @item M-x recenter | ||
| 153 | Scroll the selected window so the current line is the center-most text | ||
| 154 | line. Possibly redisplay the screen too. | ||
| 155 | |||
| 80 | @item C-M-l | 156 | @item C-M-l |
| 81 | Scroll heuristically to bring useful information onto the screen | 157 | Scroll 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} | |||
| 107 | screen lines between point and the top or bottom of the window | 183 | screen 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 |
| 111 | prefix argument, @kbd{C-u C-l}, Emacs simply recenters point. With a | 187 | argument, @kbd{C-u C-l}, simply recenters point. A positive argument |
| 112 | positive 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 |
| 113 | down from the top of the window. An argument of zero puts point on | 189 | argument of zero puts point on the topmost line. A negative argument |
| 114 | the 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 |
| 115 | lines from the bottom of the window. When given an argument, | 191 | given 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 | 192 | through different screen positions. |
| 117 | positions. | ||
| 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 | ||
| 139 | whole window height. The effect is to take the two lines at the | ||
| 140 | bottom of the window and put them at the top, followed by lines that | ||
| 141 | were not previously visible. If point was in the text that scrolled | ||
| 142 | off 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 | ||
| 147 | commands}. The function key @key{next}, or @key{PageDown}, is | ||
| 148 | equivalent 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 | ||
| 153 | lines of overlap left by the full-screen scroll commands; by default, | ||
| 154 | it 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 | ||
| 156 | to leave point unchanged (so that the text and point move up or down | ||
| 157 | together). @kbd{C-v} with a negative argument is like @kbd{M-v} and | ||
| 158 | vice versa. | ||
| 159 | |||
| 160 | @vindex scroll-error-top-bottom | ||
| 161 | By default, the full-screen scroll commands signal an error (by | ||
| 162 | beeping or flashing the screen) if no more scrolling is possible, | ||
| 163 | because the window has reached the beginning or end of the buffer. If | ||
| 164 | you change the variable @code{scroll-error-top-bottom} to @code{t}, | ||
| 165 | Emacs instead moves point to the farthest possible position. If point | ||
| 166 | is 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 | ||
| 170 | position. Then, scrolling back to the same screen also conveniently | ||
| 171 | returns point to its original position. You can enable this via the | ||
| 172 | variable @code{scroll-preserve-screen-position}. If the value is | ||
| 173 | @code{t}, Emacs adjusts point to keep it at the same vertical position | ||
| 174 | within the window, rather than the window edge, whenever a scroll | ||
| 175 | command moves it off the window. With any other non-@code{nil} value, | ||
| 176 | Emacs adjusts point this way even if the scroll command leaves point | ||
| 177 | in the window. | ||
| 178 | |||
| 179 | @vindex scroll-up | ||
| 180 | @vindex scroll-down | ||
| 181 | The commands @code{scroll-up} and @code{scroll-down} behave | ||
| 182 | similarly to @code{scroll-up-command} and @code{scroll-down-command}, | ||
| 183 | except they do not obey @code{scroll-error-top-bottom}. Prior to | ||
| 184 | Emacs 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 | ||
| 301 | The Mark and the Region | 301 | The Mark and the Region |
| @@ -342,6 +342,7 @@ Registers | |||
| 342 | Controlling the Display | 342 | Controlling 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 |
| 960 | the left of each Emacs window, running the height of the | 960 | each Emacs window. Clicking @kbd{Mouse-1} on the scroll bar's up and |
| 961 | window.@footnote{Placing it at the left is usually more useful with | 961 | down buttons scrolls the window by one line at a time. Clicking |
| 962 | overlapping frames with text starting at the left margin.} | 962 | @kbd{Mouse-1} above or below the scroll bar's inner box scrolls the |
| 963 | 963 | window 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 |
| 965 | in operating systems such as Microsoft Windows or Mac OS, you can use | 965 | scrolls continuously. |
| 966 | the scroll bar as you do in other graphical applications. If you | 966 | |
| 967 | click @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 |
| 968 | scrolls the window by one line at a time. Clicking @kbd{Mouse-1} | 968 | support, the scroll bar behaves differently. Clicking @kbd{Mouse-1} |
| 969 | above or below the scroll bar's inner box scrolls the window by nearly | 969 | anywhere on the scroll bar scrolls forward like @kbd{C-v}, while |
| 970 | the 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} |
| 971 | respectively (@pxref{Moving Point}). Dragging the inner box with | 971 | in 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, | ||
| 975 | the scroll bar behaves differently. The scroll bar's inner box is | ||
| 976 | drawn to represent the portion of the buffer currently displayed, with | ||
| 977 | the entire height of the scroll bar representing the entire length of | ||
| 978 | the buffer. @kbd{Mouse-1} anywhere on the scroll bar scrolls forward | ||
| 979 | like @kbd{C-v}, and @kbd{Mouse-3} scrolls backward like @kbd{M-v}. | ||
| 980 | Clicking @kbd{Mouse-2} in the scroll bar lets you move or drag the | ||
| 981 | inner box up and down. | ||
| 982 | |||
| 983 | You can also click @kbd{C-Mouse-2} in the scroll bar to split a | ||
| 984 | window 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 | ||
| 989 | scroll-bar-mode}. With a prefix argument, this command turns use of | ||
| 990 | scroll bars on if and only if the argument is positive. This command | ||
| 991 | applies to all frames, including frames yet to be created. Customize | ||
| 992 | the variable @code{scroll-bar-mode} to control the use of scroll bars | ||
| 993 | at startup. You can use it to specify that they are placed at the | ||
| 994 | right of windows if you prefer that. You have to set this variable | ||
| 995 | through the @samp{Customize} interface (@pxref{Easy Customization}), | ||
| 996 | or it will not work properly. You can also use the X resource | ||
| 997 | @samp{verticalScrollBars} to control the initial setting of Scroll Bar | ||
| 998 | mode. @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}. |
| 976 | This command applies to all frames, including frames yet to be | ||
| 977 | created. To toggle scroll bars for just the selected frame, use the | ||
| 1002 | command @kbd{M-x toggle-scroll-bar}. | 978 | command @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 | ||
| 983 | scroll bars on the right side of windows), @code{left} (put them on | ||
| 984 | the left), or @code{nil} (disable scroll bars). By default, Emacs | ||
| 985 | puts scroll bars on the right if it was compiled with GTK+ support on | ||
| 986 | the X Window System, and on MS-Windows or Mac OS; Emacs puts scroll | ||
| 987 | bars on the left if compiled on the X Window system without GTK+ | ||
| 988 | support (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. | 993 | or disable the scroll bars (@pxref{Resources}). To control the scroll |
| 994 | bar 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 |
| 1086 | Emacs window, just below the menu bar. You can click on these icons | 1074 | each frame, just below the menu bar. This is a row of icons which you |
| 1087 | with the mouse to do various jobs. | 1075 | can click on with the mouse to invoke various commands. |
| 1088 | |||
| 1089 | The global tool bar contains general commands. Some major modes | ||
| 1090 | define their own tool bars to replace it. A few ``special'' modes | ||
| 1091 | that are not designed for ordinary editing remove some items from the | ||
| 1092 | global 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 |
| 1095 | XPM icons if Emacs was built with XPM support. Otherwise, the tool | 1078 | modes define their own tool bars; whenever a buffer with such a major |
| 1096 | bar uses monochrome icons (PBM or XBM format). | 1079 | mode 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 |
| 1101 | tool-bar-mode} or by customizing the option @code{tool-bar-mode}. | 1084 | command applies to all frames, including frames yet to be created. To |
| 1085 | control 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 |
| 1106 | Customize @code{tool-bar-style} to select style. The default style is | 1091 | consist of an image, or a text label, or both. By default, Emacs |
| 1107 | the same as for the desktop in the Gnome case. If no default is found, | 1092 | follows the Gnome desktop's tool bar style setting; if none is |
| 1108 | the tool bar uses just images. | 1093 | defined, it displays tool bar items as just images. To impose a |
| 1094 | specific 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 |
| 1112 | with the frame parameter @code{tool-bar-position}. | 1098 | bar with the frame parameter @code{tool-bar-position}. @xref{Frame |
| 1113 | For a detailed description of frame parameters and customization, | 1099 | Parameters,,, elisp, The Emacs Lisp Reference Manual}. |
| 1114 | see @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 | |||
| 1186 | customizing the windows that display tooltips. | 1171 | customizing 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+, |
| 1190 | using the default appearance of GTK tooltips. To disable this, change | 1175 | using the default appearance of GTK+ tooltips. To disable this, |
| 1191 | the variable @code{x-gtk-use-system-tooltips} to @code{nil}. If you | 1176 | change the variable @code{x-gtk-use-system-tooltips} to @code{nil}. |
| 1192 | do this, or if Emacs is built without GTK support, the @code{tooltip} | 1177 | If you do this, or if Emacs is built without GTK+ support, the |
| 1193 | face 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, |
| 150 | Emacs also supports an older set of keybindings for defining and | 150 | Emacs also supports an older set of key bindings for defining and |
| 151 | executing keyboard macros. To begin a macro definition, type @kbd{C-x | 151 | executing 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 |
| 153 | appends this definition to the last keyboard macro. To end a macro | 153 | appends 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 |
| 39 | Emacs provides a set of keybindings using this modifier key that mimic | 39 | Emacs provides a set of key bindings using this modifier key that mimic |
| 40 | other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You | 40 | other Mac / GNUstep applications (@pxref{Mac / GNUstep Events}). You |
| 41 | can change these bindings in the usual way (@pxref{Key Bindings}). | 41 | can 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} |
| 1442 | Display a list of possible completions for the symbol at point | 1442 | Display 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 |
| 1444 | of special keybindings for choosing a completion: @key{RET} accepts | 1444 | of special key bindings for choosing a completion: @key{RET} accepts |
| 1445 | the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible | 1445 | the current completion, @kbd{M-n} and @kbd{M-p} cycle through possible |
| 1446 | completions, @key{TAB} completes as far as possible and then cycles, | 1446 | completions, @key{TAB} completes as far as possible and then cycles, |
| 1447 | and @kbd{C-g} or any other key aborts completion. | 1447 | and @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, |
| 1246 | few, such as @kbd{C-M-n} and @kbd{C-M-h}, are redefined by Rmail for | 1246 | though a few, such as @kbd{C-M-n} and @kbd{C-M-h}, are redefined by |
| 1247 | other purposes. However, the Rmail buffer is normally read only, and | 1247 | Rmail for other purposes. However, the Rmail buffer is normally read |
| 1248 | most of the letters are redefined as Rmail commands. If you want to | 1248 | only, and most of the letters are redefined as Rmail commands. If you |
| 1249 | edit the text of a message, you must use the Rmail command @kbd{e}. | 1249 | want 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 |
| 271 | access interactive help options, including a list of special | 271 | access interactive help options, including a list of special key |
| 272 | keybindings. These keybindings are part of the keymap | 272 | bindings. 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 @@ | |||
| 1 | 2011-10-26 Chong Yidong <cyd@gnu.org> | ||
| 2 | |||
| 3 | * modes.texi (Running Hooks): Document with-wrapper-hook. | ||
| 4 | |||
| 1 | 2011-10-18 Chong Yidong <cyd@gnu.org> | 5 | 2011-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 |
| 88 | and the other functions below to run particular hooks. | 88 | used to run a normal hook. We also document the functions for running |
| 89 | various kinds of abnormal hooks. | ||
| 89 | 90 | ||
| 90 | @defun run-hooks &rest hookvars | 91 | @defun run-hooks &rest hookvars |
| 91 | This function takes one or more normal hook variable names as | 92 | This 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 |
| 111 | This function is the way to run an abnormal hook and always call all | 112 | This function runs an abnormal hook by calling all the hook functions in |
| 112 | of the hook functions. It calls each of the hook functions one by | 113 | @var{hook}, passing each one the arguments @var{args}. |
| 113 | one, 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 |
| 117 | This function is the way to run an abnormal hook until one of the hook | 117 | This function runs an abnormal hook by calling each hook function in |
| 118 | functions fails. It calls each of the hook functions, passing each of | 118 | turn, stopping if one of them ``fails'' by returning @code{nil}. Each |
| 119 | them the arguments @var{args}, until some hook function returns | 119 | hook function is passed the arguments @var{args}. If this function |
| 120 | @code{nil}. It then stops and returns @code{nil}. If none of the | 120 | stops because one of the hook functions fails, it returns @code{nil}; |
| 121 | hook functions return @code{nil}, it returns a non-@code{nil} value. | 121 | otherwise 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 |
| 125 | This function is the way to run an abnormal hook until a hook function | 125 | This function runs an abnormal hook by calling each hook function, |
| 126 | succeeds. It calls each of the hook functions, passing each of them | 126 | stopping if one of them ``succeeds'' by returning a non-@code{nil} |
| 127 | the arguments @var{args}, until some hook function returns | 127 | value. Each hook function is passed the arguments @var{args}. If this |
| 128 | non-@code{nil}. Then it stops, and returns whatever was returned by | 128 | function stops because one of the hook functions returns a |
| 129 | the last hook function that was called. If all hook functions return | 129 | non-@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 | ||
| 134 | This macro runs the abnormal hook @code{hook} as a series of nested | ||
| 135 | ``wrapper functions'' around the @var{body} forms. The effect is | ||
| 136 | similar to nested @code{around} advices (@pxref{Around-Advice}). | ||
| 137 | |||
| 138 | Each hook function must accept an argument list consisting of a function | ||
| 139 | @var{fun}, followed by the additional arguments listed in @var{args}. | ||
| 140 | The 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 | ||
| 143 | constructed from all the preceding hook functions (and @var{body}); if | ||
| 144 | this @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 | ||
| 146 | the only ones in @var{hook}. | ||
| 147 | |||
| 148 | In the function definition of the hook function, @var{fun} can be called | ||
| 149 | any number of times (including not calling it at all). This function | ||
| 150 | definition is then used to construct the @var{fun} passed to the next | ||
| 151 | hook 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 @@ | |||
| 1 | 2011-10-23 Michael Albinus <michael.albinus@gmx.de> | ||
| 2 | |||
| 3 | Sync with Tramp 2.2.3. | ||
| 4 | |||
| 5 | * trampver.texi: Update release number. | ||
| 6 | |||
| 1 | 2011-10-14 Glenn Morris <rgm@gnu.org> | 7 | 2011-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 | ||
| 344 | Customizing 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 | |||
| 655 | syntactic recognition can be wrong. @ccmode{} manages to figure it | 660 | syntactic recognition can be wrong. @ccmode{} manages to figure it |
| 656 | out correctly most of the time, though. | 661 | out correctly most of the time, though. |
| 657 | 662 | ||
| 663 | Some macros, when invoked, ''have their own semicolon''. To get the | ||
| 664 | next line indented correctly, rather than as a continuation line, | ||
| 665 | @xref{Macros with ;}. | ||
| 666 | |||
| 658 | Reindenting large sections of code can take a long time. When | 667 | Reindenting 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 |
| 660 | hitting @key{TAB} on every line of the region. | 669 | hitting @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 | ||
| 6573 | To configure macros which you invoke without a terminating @samp{;}, | ||
| 6574 | see @xref{Macros with ;}. | ||
| 6575 | |||
| 6564 | Here are the remaining odds and ends regarding indentation: | 6576 | Here 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 | ||
| 6627 | Preprocessor macros in C, C++, and Objective C (introduced by | ||
| 6628 | @code{#define}) have a syntax different from the main language---for | ||
| 6629 | example, a macro declaration is not terminated by a semicolon, and if | ||
| 6630 | it is more than a line long, line breaks in it must be escaped with | ||
| 6631 | backslashes. @ccmode{} has some commands to manipulate these, see | ||
| 6632 | @ref{Macro Backslashes}. | ||
| 6633 | |||
| 6615 | Normally, the lines in a multi-line macro are indented relative to | 6634 | Normally, the lines in a multi-line macro are indented relative to |
| 6616 | each other as though they were code. You can suppress this behavior | 6635 | each other as though they were code. You can suppress this behavior |
| 6617 | by setting the following user option: | 6636 | by 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 | ||
| 6645 | Because a macro can expand into anything at all, near where one is | ||
| 6646 | invoked @ccmode{} can only indent and fontify code heuristically. | ||
| 6647 | Sometimes it gets it wrong. Usually you should try to design your | ||
| 6648 | macros so that they ''look like ordinary code'' when you invoke them. | ||
| 6649 | However, one situation is so common that @ccmode{} handles it | ||
| 6650 | specially: that is when certain macros needn't (or mustn't) be | ||
| 6651 | followed by a @samp{;}. You need to configure @ccmode{} to handle | ||
| 6652 | these 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 |
| 6627 | backslashes in macros neat and tidy. Their precise action is | 6668 | backslashes in macros neat and tidy. Their precise action is |
| 6628 | customized with these variables: | 6669 | customized 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 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! | ||
| 6714 | Macros which needn't (or mustn't) be followed by a semicolon when you | ||
| 6715 | invoke them, @dfn{macros with semicolons}, are very common. These can | ||
| 6716 | cause @ccmode{} to parse the next line wrongly as a | ||
| 6717 | @code{statement-cont} (@pxref{Function Symbols}) and thus mis-indent | ||
| 6718 | it. | ||
| 6719 | |||
| 6720 | You can prevent this by specifying which macros have semicolons. It | ||
| 6721 | doesn'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-) | ||
| 6725 | This buffer-local variable specifies which macros have semicolons. | ||
| 6726 | After setting its value, you need to call | ||
| 6727 | @code{c-make-macro-with-semi-re} for it to take effect. It should be | ||
| 6728 | set to one of these values: | ||
| 6729 | |||
| 6730 | @table @asis | ||
| 6731 | @item nil | ||
| 6732 | There are no macros with semicolons. | ||
| 6733 | @item a list of strings | ||
| 6734 | Each string is the name of a macro with a semicolon. Only valid | ||
| 6735 | @code{#define} names are allowed here. For example, to set the | ||
| 6736 | default 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 | ||
| 6744 | This matches each symbol which is a macro with a semicolon. It must | ||
| 6745 | not match any string which isn't a valid @code{#define} name. For | ||
| 6746 | example: | ||
| 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-) | ||
| 6757 | Call this (non-interactive) function, which sets internal variables, | ||
| 6758 | each time you change the value of | ||
| 6759 | @code{c-macro-names-with-semicolon}. It takes no arguments, and its | ||
| 6760 | return value has no meaning. This function is called by @ccmode{}'s | ||
| 6761 | initialization 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 |