Mercurial > emacs
comparison etc/NEWS.23 @ 108375:973b5bc5fcfe
Merge from emacs-23
author | Stefan Monnier <monnier@iro.umontreal.ca> |
---|---|
date | Sat, 08 May 2010 14:47:07 -0400 |
parents | c168d4537385 |
children | 5b2cee3284b0 d4c436ea51f4 f3d817d46523 |
comparison
equal
deleted
inserted
replaced
108374:f043f612f6da | 108375:973b5bc5fcfe |
---|---|
12 for changes in older Emacs versions. | 12 for changes in older Emacs versions. |
13 | 13 |
14 You can narrow news to a specific version by calling `view-emacs-news' | 14 You can narrow news to a specific version by calling `view-emacs-news' |
15 with a prefix argument or by typing C-u C-h C-n. | 15 with a prefix argument or by typing C-u C-h C-n. |
16 | 16 |
17 | |
18 Temporary note: | |
19 +++ indicates that the appropriate manual has already been updated. | |
20 --- means no change in the manuals is called for. | |
21 When you add a new item, please add it without either +++ or --- | |
22 so we will look at it and add it to the manual. | |
23 | |
24 | 17 |
25 * Installation Changes in Emacs 23.2 | 18 * Installation Changes in Emacs 23.2 |
26 | 19 |
27 --- | 20 ** New configure options for Emacs developers. |
28 ** New configure options for Emacs developers | |
29 These are not new features; only the configure flags are new. | 21 These are not new features; only the configure flags are new. |
30 --- | 22 |
31 *** --enable-profiling builds Emacs with profiling enabled. | 23 *** --enable-profiling builds Emacs with profiling enabled. |
32 This might not work on all platforms. | 24 This might not work on all platforms. |
33 --- | 25 |
34 *** --enable-checking[=OPTIONS] builds emacs with extra runtime checks. | 26 *** --enable-checking[=OPTIONS] builds emacs with extra runtime checks. |
35 | 27 |
36 --- | |
37 ** `make install' now consistently ignores umask, creating a | 28 ** `make install' now consistently ignores umask, creating a |
38 world-readable install. | 29 world-readable install. |
39 | 30 |
40 +++ | |
41 ** Emacs compiles with Gconf support, if it is detected. | 31 ** Emacs compiles with Gconf support, if it is detected. |
42 Use the configure option --without-gconf to disable this. | 32 Use the configure option --without-gconf to disable this. |
43 This is used by the `font-use-system-font' feature (see below). | 33 This is used by the `font-use-system-font' feature (see below). |
44 | 34 |
45 * Startup Changes in Emacs 23.2 | 35 * Startup Changes in Emacs 23.2 |
46 +++ | 36 |
47 ** The command-line option -Q (--quick) also inhibits loading X resources. | 37 ** The command-line option -Q (--quick) also inhibits loading X resources. |
48 However, if Emacs is compiled with the Lucid or Motif toolkit, X | 38 However, if Emacs is compiled with the Lucid or Motif toolkit, X |
49 resource settings for the graphical widgets are still applied. | 39 resource settings for the graphical widgets are still applied. |
50 On Windows, the -Q option causes Emacs to ignore Registry settings, | 40 On Windows, the -Q option causes Emacs to ignore Registry settings, |
51 but environment variables set on the Registry are still honored. | 41 but environment variables set on the Registry are still honored. |
52 +++ | 42 |
53 *** The new variable `inhibit-x-resources' shows whether X resources | 43 *** The new variable `inhibit-x-resources' shows whether X resources |
54 were loaded. | 44 were loaded. |
55 | 45 |
56 +++ | |
57 ** New command-line option -mm (--maximized) maximizes the initial frame. | 46 ** New command-line option -mm (--maximized) maximizes the initial frame. |
58 | 47 |
59 * Changes in Emacs 23.2 | 48 * Changes in Emacs 23.2 |
60 | 49 |
61 +++ | |
62 ** The maximum size of buffers (and the largest fixnum) is doubled. | 50 ** The maximum size of buffers (and the largest fixnum) is doubled. |
63 On typical 32bit systems, buffers can now be up to 512MB. | 51 On typical 32bit systems, buffers can now be up to 512MB. |
64 | 52 |
65 --- | |
66 ** The default value of `trash-directory' is now nil. | 53 ** The default value of `trash-directory' is now nil. |
67 This means that `move-file-to-trash' trashes files according to | 54 This means that `move-file-to-trash' trashes files according to |
68 freedesktop.org specifications, the same method used by the Gnome, | 55 freedesktop.org specifications, the same method used by the Gnome, |
69 KDE, and XFCE desktops. (This change has no effect on Windows, which | 56 KDE, and XFCE desktops. (This change has no effect on Windows, which |
70 uses `system-move-file-to-trash' for trashing.) | 57 uses `system-move-file-to-trash' for trashing.) |
71 | 58 |
72 +++ | |
73 ** The pointer now becomes invisible when typing. | 59 ** The pointer now becomes invisible when typing. |
74 Customize `make-pointer-invisible' to disable this feature. | 60 Customize `make-pointer-invisible' to disable this feature. |
75 | 61 |
76 ** Font changes | 62 ** Font changes |
77 +++ | 63 |
78 *** Emacs can use the system default monospaced font in Gnome. | 64 *** Emacs can use the system default monospaced font in Gnome. |
79 To enable this feature, set `font-use-system-font' to non-nil (it is | 65 To enable this feature, set `font-use-system-font' to non-nil (it is |
80 nil by default). If the system default changes, Emacs changes also. | 66 nil by default). If the system default changes, Emacs changes also. |
81 This feature requires Gconf support, which is automatically included | 67 This feature requires Gconf support, which is automatically included |
82 at compile-time if configure detects the gconf libraries (you can | 68 at compile-time if configure detects the gconf libraries (you can |
83 disable this with the configure option --without-gconf). | 69 disable this with the configure option --without-gconf). |
84 --- | 70 |
85 *** On X11, Emacs reacts to Xft changes made by configuration tools, | 71 *** On X11, Emacs reacts to Xft changes made by configuration tools, |
86 via the XSETTINGS mechanism. This includes antialias, hinting, | 72 via the XSETTINGS mechanism. This includes antialias, hinting, |
87 hintstyle, RGBA, DPI and lcdfilter changes. | 73 hintstyle, RGBA, DPI and lcdfilter changes. |
88 | 74 |
89 +++ | |
90 ** Killing a buffer with a running process now asks for confirmation. | 75 ** Killing a buffer with a running process now asks for confirmation. |
91 To remove this query, remove `process-kill-buffer-query-function' from | 76 To remove this query, remove `process-kill-buffer-query-function' from |
92 `kill-buffer-query-functions', or set the appropriate process flag | 77 `kill-buffer-query-functions', or set the appropriate process flag |
93 with `set-process-query-on-exit-flag'. | 78 with `set-process-query-on-exit-flag'. |
94 | 79 |
95 ** File-local variable changes | 80 ** File-local variable changes |
96 +++ | 81 |
97 *** Specifying a minor mode as a local variables enables that mode, | 82 *** Specifying a minor mode as a local variables enables that mode, |
98 unconditionally. The previous behavior, toggling the mode, was | 83 unconditionally. The previous behavior, toggling the mode, was |
99 neither reliable nor generally desirable. | 84 neither reliable nor generally desirable. |
100 | 85 |
101 +++ | |
102 *** There are new commands for adding and removing file-local variables: | 86 *** There are new commands for adding and removing file-local variables: |
103 `add-file-local-variable', `delete-file-local-variable', | 87 `add-file-local-variable', `delete-file-local-variable', |
104 `add-file-local-variable-prop-line', and | 88 `add-file-local-variable-prop-line', and |
105 `delete-file-local-variable-prop-line'. | 89 `delete-file-local-variable-prop-line'. |
106 | 90 |
107 +++ | |
108 *** There are new commands for adding and removing directory-local variables, | 91 *** There are new commands for adding and removing directory-local variables, |
109 and copying them to and from file-local variable lists: | 92 and copying them to and from file-local variable lists: |
110 `add-dir-local-variable', `delete-dir-local-variable', | 93 `add-dir-local-variable', `delete-dir-local-variable', |
111 `copy-dir-locals-to-file-locals', | 94 `copy-dir-locals-to-file-locals', |
112 `copy-dir-locals-to-file-locals-prop-line' and | 95 `copy-dir-locals-to-file-locals-prop-line' and |
113 `copy-file-locals-to-dir-locals'. | 96 `copy-file-locals-to-dir-locals'. |
114 | 97 |
115 ** Internationalization changes | 98 ** Internationalization changes |
116 +++ | 99 |
117 *** Unibyte sessions are now considered obsolete. | 100 *** Unibyte sessions are now considered obsolete. |
118 This refers to the EMACS_UNIBYTE environment variable as well as the | 101 This refers to the EMACS_UNIBYTE environment variable as well as the |
119 --unibyte, --multibyte, --no-multibyte, and --no-unibyte command line | 102 --unibyte, --multibyte, --no-multibyte, and --no-unibyte command line |
120 arguments. Customizing enable-multibyte-characters and setting | 103 arguments. Customizing enable-multibyte-characters and setting |
121 default-enable-multibyte-characters are also deprecated. | 104 default-enable-multibyte-characters are also deprecated. |
122 --- | 105 |
123 *** New coding system `utf-8-hfs'. | 106 *** New coding system `utf-8-hfs'. |
124 This is suitable for default-file-name-coding-system on Mac OS X; see | 107 This is suitable for default-file-name-coding-system on Mac OS X; see |
125 international/ucs-normalize.el. | 108 international/ucs-normalize.el. |
126 | 109 |
127 --- | |
128 ** Function arguments in *Help* buffers are now shown in upper-case. | 110 ** Function arguments in *Help* buffers are now shown in upper-case. |
129 Customize `help-downcase-arguments' to t to show them in lower-case. | 111 Customize `help-downcase-arguments' to t to show them in lower-case. |
130 | 112 |
113 ** New command `async-shell-command', bound globally to `M-&'. | |
114 This executes the command asynchronously, similar to calling `M-!' and | |
115 manually adding an ampersand to the end of the command. With `M-&', | |
116 you don't need the ampersand. The output appears in the buffer | |
117 `*Async Shell Command*'. | |
118 | |
119 ** When running in a new enough xterm (newer than version 242), Emacs | |
120 asks xterm what the background color is and it sets up faces | |
121 accordingly for a dark background if needed (the current default is to | |
122 consider the background light). | |
123 | |
131 | 124 |
132 * Editing Changes in Emacs 23.2 | 125 * Editing Changes in Emacs 23.2 |
133 | 126 |
134 ** Kill-ring and selection changes | 127 ** Kill-ring and selection changes |
135 +++ | 128 |
136 *** If `select-active-regions' is t, any active region automatically | 129 *** If `select-active-regions' is t, any active region automatically |
137 becomes the primary selection (for interaction with other window | 130 becomes the primary selection (for interaction with other window |
138 applications). If you enable this, you might want to bind | 131 applications). If you enable this, you might want to bind |
139 `mouse-yank-primary' to Mouse-2. | 132 `mouse-yank-primary' to Mouse-2. |
140 +++ | 133 |
141 *** When `save-interprogram-paste-before-kill' is non-nil, the kill | 134 *** When `save-interprogram-paste-before-kill' is non-nil, the kill |
142 commands save the interprogram-paste selection into the kill ring | 135 commands save the interprogram-paste selection into the kill ring |
143 before doing anything else. This avoids losing the selection. | 136 before doing anything else. This avoids losing the selection. |
144 +++ | 137 |
145 *** When `kill-do-not-save-duplicates' is non-nil, identical | 138 *** When `kill-do-not-save-duplicates' is non-nil, identical |
146 subsequent kills are not duplicated in the `kill-ring'. | 139 subsequent kills are not duplicated in the `kill-ring'. |
147 | 140 |
148 ** Completion changes | 141 ** Completion changes |
149 | 142 |
150 *** The new command `completion-at-point' provides mode-sensitive completion. | 143 *** The new command `completion-at-point' provides mode-sensitive completion. |
151 +++ | 144 |
152 *** tab-always-indent set to `complete' lets TAB do completion as well. | 145 *** tab-always-indent set to `complete' lets TAB do completion as well. |
153 +++ | 146 |
154 *** The new completion-style `initials' is available. | 147 *** The new completion-style `initials' is available. |
155 For instance, this can complete M-x lch to list-command-history. | 148 For instance, this can complete M-x lch to list-command-history. |
156 --- | 149 |
157 *** The new variable `completions-format' determines how completions | 150 *** The new variable `completions-format' determines how completions |
158 are displayed in the *Completions* buffer. If you set it to | 151 are displayed in the *Completions* buffer. If you set it to |
159 `vertical', completions are sorted vertically in columns. | 152 `vertical', completions are sorted vertically in columns. |
160 | 153 |
161 +++ | |
162 ** The default value of `blink-matching-paren-distance' is increased. | 154 ** The default value of `blink-matching-paren-distance' is increased. |
163 | 155 |
164 --- | |
165 ** M-n provides more default values in the minibuffer for commands | 156 ** M-n provides more default values in the minibuffer for commands |
166 that read file names. These include the file name at point (when ffap | 157 that read file names. These include the file name at point (when ffap |
167 is loaded without ffap-bindings), the file name on the current line | 158 is loaded without ffap-bindings), the file name on the current line |
168 (in Dired buffers), and the directory names of adjacent Dired windows | 159 (in Dired buffers), and the directory names of adjacent Dired windows |
169 (for Dired commands that operate on several directories, such as copy, | 160 (for Dired commands that operate on several directories, such as copy, |
170 rename, or diff). | 161 rename, or diff). |
171 | 162 |
172 +++ | |
173 ** M-r is bound to the new `move-to-window-line-top-bottom'. | 163 ** M-r is bound to the new `move-to-window-line-top-bottom'. |
174 This moves point to the window center, top and bottom on successive | 164 This moves point to the window center, top and bottom on successive |
175 invocations, in the same spirit as the C-l (recenter-top-bottom) | 165 invocations, in the same spirit as the C-l (recenter-top-bottom) |
176 command. | 166 command. |
177 | 167 |
178 +++ | |
179 ** The new variable `recenter-positions' determines the default | 168 ** The new variable `recenter-positions' determines the default |
180 cycling order of C-l (`recenter-top-bottom'). | 169 cycling order of C-l (`recenter-top-bottom'). |
181 | 170 |
182 +++ | |
183 ** The abbrevs file is now a file named abbrev_defs in | 171 ** The abbrevs file is now a file named abbrev_defs in |
184 user-emacs-directory; but the old location, ~/.abbrev_defs, is used if | 172 user-emacs-directory; but the old location, ~/.abbrev_defs, is used if |
185 that file exists. | 173 that file exists. |
174 | |
186 | 175 |
187 * Changes in Specialized Modes and Packages in Emacs 23.2 | 176 * Changes in Specialized Modes and Packages in Emacs 23.2 |
188 | 177 |
189 --- | |
190 ** The bookmark menu has a narrowing search via bookmark-bmenu-search. | 178 ** The bookmark menu has a narrowing search via bookmark-bmenu-search. |
191 | 179 |
192 ** LaTeX mode now provides completion (via completion-at-point). | |
193 | |
194 --- | |
195 ** sym-comp.el is now declared obsolete, superseded by completion-at-point. | |
196 | |
197 --- | |
198 ** lucid.el and levents.el are now declared obsolete. | |
199 | |
200 --- | |
201 ** pcomplete provides a new command `pcomplete-std-completion' which | |
202 is similar to `pcomplete' but using the standard completion UI code. | |
203 | |
204 ** Calc | 180 ** Calc |
205 +++ | 181 |
206 *** The Calc settings file is now a file named calc.el in | 182 *** The Calc settings file is now a file named calc.el in |
207 user-emacs-directory; but the old location, ~/.calc.el, is used if | 183 user-emacs-directory; but the old location, ~/.calc.el, is used if |
208 that file exists. | 184 that file exists. |
209 --- | 185 |
210 *** Graphing commands (`g f' etc.) now work on MS-Windows, if you have | 186 *** Graphing commands (`g f' etc.) now work on MS-Windows, if you have |
211 the native Windows port of Gnuplot version 3.8 or later installed. | 187 the native Windows port of Gnuplot version 3.8 or later installed. |
212 | 188 |
213 ** Calendar and diary | 189 ** Calendar and diary |
214 +++ | 190 |
215 *** Fancy diary display is now the default. | 191 *** Fancy diary display is now the default. |
216 If you prefer the simple display, customize `diary-display-function'. | 192 If you prefer the simple display, customize `diary-display-function'. |
217 +++ | 193 |
218 *** The diary's fancy display now enables view-mode. | 194 *** The diary's fancy display now enables view-mode. |
219 --- | 195 |
220 *** The command `calendar-current-date' accepts an optional argument | 196 *** The command `calendar-current-date' accepts an optional argument |
221 giving an offset from today. | 197 giving an offset from today. |
222 | 198 |
223 ** Desktop | 199 ** Desktop |
224 --- | 200 |
225 *** The default value for `desktop-buffers-not-to-save' is nil. | 201 *** The default value for `desktop-buffers-not-to-save' is nil. |
226 This means Desktop will try restoring all buffers, when you restart | 202 This means Desktop will try restoring all buffers, when you restart |
227 your Emacs session. Also, `desktop-buffers-not-to-save' is only | 203 your Emacs session. Also, `desktop-buffers-not-to-save' is only |
228 effective for buffers that have no associated file. If you want to | 204 effective for buffers that have no associated file. If you want to |
229 exempt buffers that do correspond to files, customize the value of | 205 exempt buffers that do correspond to files, customize the value of |
230 `desktop-files-not-to-save' instead. | 206 `desktop-files-not-to-save' instead. |
231 | 207 |
232 ** Dired | 208 ** Dired |
233 +++ | 209 |
234 *** The new variable `dired-auto-revert-buffer', if non-nil, causes | 210 *** The new variable `dired-auto-revert-buffer', if non-nil, causes |
235 Dired buffers to be reverted automatically on revisiting them. | 211 Dired buffers to be reverted automatically on revisiting them. |
236 | 212 |
237 ** DocView | 213 ** DocView |
238 +++ | 214 |
239 *** When `doc-view-continuous' is non-nil, scrolling a line | 215 *** When `doc-view-continuous' is non-nil, scrolling a line |
240 on the page edge advances to the next/previous page. | 216 on the page edge advances to the next/previous page. |
241 | 217 |
218 ** Elint | |
219 | |
220 *** Elint now uses compilation-mode. | |
221 | |
222 *** Elint can now scan individual files and whole directories, | |
223 and can be run in batch mode. | |
224 | |
225 *** Elint does a more thorough initialization, and recognizes more built-in | |
226 functions and variables. Customize `elint-scan-preloaded' if you want | |
227 to sacrifice some accuracy for a faster startup. | |
228 | |
229 *** Elint attempts some basic understanding of featurep and (f)boundp tests. | |
230 | |
231 *** Customize `elint-ignored-warnings' to suppress some warnings. | |
232 | |
242 ** GDB-UI | 233 ** GDB-UI |
243 | 234 |
244 +++ | |
245 *** Toolbar functionality for reverse debugging. Display of STL | 235 *** Toolbar functionality for reverse debugging. Display of STL |
246 collections as watch expressions. These features require GDB 7.0 or later. | 236 collections as watch expressions. These features require GDB 7.0 or later. |
247 | 237 |
248 ** Grep | 238 ** Grep |
249 +++ | 239 |
250 *** A new command `zrgrep' searches recursively in gzipped files. | 240 *** A new command `zrgrep' searches recursively in gzipped files. |
251 | 241 |
252 ** Info | 242 ** Info |
253 | 243 |
254 +++ | |
255 *** The new command `Info-virtual-index' bound to "I" displays a menu of | 244 *** The new command `Info-virtual-index' bound to "I" displays a menu of |
256 matched topics found in the index. | 245 matched topics found in the index. |
257 | 246 |
258 +++ | |
259 *** The new command `info-finder' replaces finder.el with a virtual Info | 247 *** The new command `info-finder' replaces finder.el with a virtual Info |
260 manual that generates an Info file which gives the same information | 248 manual that generates an Info file which gives the same information |
261 through a menu structure. | 249 through a menu structure. |
262 | 250 |
263 +++ | 251 ** LaTeX mode now provides completion (via completion-at-point). |
252 | |
264 ** Message mode is now the default mode for composing mail. | 253 ** Message mode is now the default mode for composing mail. |
265 | 254 |
266 The default for `mail-user-agent' is now message-user-agent, so the | 255 The default for `mail-user-agent' is now message-user-agent, so the |
267 C-x m (`compose-mail') command uses Message mode instead of Mail mode. | 256 C-x m (`compose-mail') command uses Message mode instead of Mail mode. |
268 | 257 |
269 Message mode has been included in Emacs, as part of the Gnus package, | 258 Message mode has been included in Emacs, as part of the Gnus package, |
270 for several years. It provides several features that are absent in | 259 for several years. It provides several features that are absent in |
271 Mail mode, such as MIME handling. | 260 Mail mode, such as MIME handling. |
272 | 261 |
273 --- | |
274 *** If the user has not customized mail-user-agent, `compose-mail' | 262 *** If the user has not customized mail-user-agent, `compose-mail' |
275 checks for Mail mode customizations, and issues a warning if these | 263 checks for Mail mode customizations, and issues a warning if these |
276 customizations are found. This alerts users who may otherwise be | 264 customizations are found. This alerts users who may otherwise be |
277 unaware that their mail configuration has changed. | 265 unaware that their mail configuration has changed. |
278 | 266 |
279 To disable this check, set compose-mail-user-agent-warnings to nil. | 267 To disable this check, set compose-mail-user-agent-warnings to nil. |
280 | 268 |
281 --- | |
282 ** The default value of mail-interactive is t, since Emacs 23.1. | 269 ** The default value of mail-interactive is t, since Emacs 23.1. |
283 (This was not announced at the time.) It means that when sending mail, | 270 (This was not announced at the time.) It means that when sending mail, |
284 Emacs will wait for the process sending mail to return. If you | 271 Emacs will wait for the process sending mail to return. If you |
285 experience delays when sending mail, you may wish to set this to nil. | 272 experience delays when sending mail, you may wish to set this to nil. |
286 | 273 |
287 +++ | |
288 ** nXML mode is now the default for editing XML files. | 274 ** nXML mode is now the default for editing XML files. |
289 | 275 |
276 ** pcomplete provides a new command `pcomplete-std-completion' which | |
277 is similar to `pcomplete' but using the standard completion UI code. | |
278 | |
290 ** Shell (and other comint modes) | 279 ** Shell (and other comint modes) |
291 +++ | 280 |
292 *** M-s is no longer bound to `comint-next-matching-input'. | 281 *** M-s is no longer bound to `comint-next-matching-input'. |
293 +++ | 282 |
294 *** M-r is now bound to `comint-history-isearch-backward-regexp'. | 283 *** M-r is now bound to `comint-history-isearch-backward-regexp'. |
295 This starts an incremental search of the comint/shell input history. | 284 This starts an incremental search of the comint/shell input history. |
296 +++ | 285 |
297 *** ansi-color is now enabled by default in Shell mode. | 286 *** ansi-color is now enabled by default in Shell mode. |
298 To disable it, set ansi-color-for-comint-mode to nil. | 287 To disable it, set ansi-color-for-comint-mode to nil. |
299 | 288 |
300 ** Tramp | 289 ** Tramp |
301 +++ | 290 |
302 *** New connection methods "rsyncc", "imap" and "imaps". | 291 *** New connection methods "rsyncc", "imap" and "imaps". |
303 On systems which support GVFS-Fuse, Tramp offers also the new | 292 On systems which support GVFS-Fuse, Tramp offers also the new |
304 connection methods "dav", "davs", "obex" and "synce". | 293 connection methods "dav", "davs", "obex" and "synce". |
305 | 294 |
306 ** VC and related modes | 295 ** VC and related modes |
307 +++ | 296 |
308 *** When using C-x v v or C-x v i on a unregistered file that is in a | 297 *** When using C-x v v or C-x v i on a unregistered file that is in a |
309 directory not controlled by any VCS, ask the user what VC backend to | 298 directory not controlled by any VCS, ask the user what VC backend to |
310 use to create a repository, create a new repository and register the | 299 use to create a repository, create a new repository and register the |
311 file. | 300 file. |
312 +++ | 301 |
313 *** New command `vc-root-print-log', bound to `C-x v L'. | 302 *** New command `vc-root-print-log', bound to `C-x v L'. |
314 This displays a `*vc-change-log*' buffer showing the history of the | 303 This displays a `*vc-change-log*' buffer showing the history of the |
315 version-controlled directory tree as a whole. | 304 version-controlled directory tree as a whole. |
316 +++ | 305 |
317 *** New command `vc-root-diff', bound to `C-x v D'. | 306 *** New command `vc-root-diff', bound to `C-x v D'. |
318 This is similar to `vc-diff', but compares the entire directory tree | 307 This is similar to `vc-diff', but compares the entire directory tree |
319 of the current VC directory with its working revision. | 308 of the current VC directory with its working revision. |
320 +++ | 309 |
321 *** `C-x v l' and `C-x v L' do not show the full log by default. | 310 *** `C-x v l' and `C-x v L' do not show the full log by default. |
322 The number of entries shown can be chosen interactively with a prefix | 311 The number of entries shown can be chosen interactively with a prefix |
323 argument, or by customizing vc-log-show-limit. The `*vc-change-log*' | 312 argument, or by customizing vc-log-show-limit. The `*vc-change-log*' |
324 buffer now contains buttons at the end of the buffer, which can be | 313 buffer now contains buttons at the end of the buffer, which can be |
325 used to increase the number of entries shown. RCS, SCCS, and CVS do | 314 used to increase the number of entries shown. RCS, SCCS, and CVS do |
326 not support this feature. | 315 not support this feature. |
327 --- | 316 |
328 *** vc-annotate supports annotations through file copies and renames, | 317 *** vc-annotate supports annotations through file copies and renames, |
329 it displays the old names for the files and it can show logs/diffs for | 318 it displays the old names for the files and it can show logs/diffs for |
330 the corresponding lines. Currently only Git and Mercurial take | 319 the corresponding lines. Currently only Git and Mercurial take |
331 advantage of this feature. | 320 advantage of this feature. |
332 --- | 321 |
333 *** The log command in vc-annotate can display a single log entry | 322 *** The log command in vc-annotate can display a single log entry |
334 instead of redisplaying the full log. The RCS, CVS and SCCS VC | 323 instead of redisplaying the full log. The RCS, CVS and SCCS VC |
335 backends do not support this. | 324 backends do not support this. |
336 --- | 325 |
337 *** When a file is not found, VC will not try to check it out of RCS anymore. | 326 *** When a file is not found, VC will not try to check it out of RCS anymore. |
338 +++ | 327 |
339 *** Diff and log operations can be used from Dired buffers. | 328 *** Diff and log operations can be used from Dired buffers. |
340 | 329 |
341 *** vc-git changes | 330 *** vc-git changes |
342 | 331 |
343 --- | |
344 **** The short log format for git makes use of the graph display, | 332 **** The short log format for git makes use of the graph display, |
345 so it's not supported on git versions earlier than 1.5.6. | 333 so it's not supported on git versions earlier than 1.5.6. |
346 | 334 |
347 --- | |
348 **** vc-dir uses the --relative option of git, and so requires at least | 335 **** vc-dir uses the --relative option of git, and so requires at least |
349 git version 1.5.5. | 336 git version 1.5.5. |
350 | 337 |
351 +++ | |
352 **** Support for operating with stashes has been added to vc-dir: | 338 **** Support for operating with stashes has been added to vc-dir: |
353 the stash list is displayed in the *vc-dir* header, stashes can be | 339 the stash list is displayed in the *vc-dir* header, stashes can be |
354 created, removed, applied and their content displayed. | 340 created, removed, applied and their content displayed. |
355 | 341 |
356 +++ | |
357 *** vc-bzr supports operating with shelves: the shelve list is | 342 *** vc-bzr supports operating with shelves: the shelve list is |
358 displayed in the *vc-dir* header, shelves can be created, removed and applied. | 343 displayed in the *vc-dir* header, shelves can be created, removed and applied. |
359 --- | 344 |
360 *** log-edit-strip-single-file-name controls whether or not single filenames | 345 *** log-edit-strip-single-file-name controls whether or not single filenames |
361 are stripped when copying text from the ChangeLog to the *VC-Log* buffer. | 346 are stripped when copying text from the ChangeLog to the *VC-Log* buffer. |
362 | 347 |
363 ** Elint | |
364 --- | |
365 *** Elint now uses compilation-mode. | |
366 --- | |
367 *** Elint can now scan individual files and whole directories, | |
368 and can be run in batch mode. | |
369 --- | |
370 *** Elint does a more thorough initialization, and recognizes more built-in | |
371 functions and variables. Customize `elint-scan-preloaded' if you want | |
372 to sacrifice some accuracy for a faster startup. | |
373 --- | |
374 *** Elint attempts some basic understanding of featurep and (f)boundp tests. | |
375 --- | |
376 *** Customize `elint-ignored-warnings' to suppress some warnings. | |
377 | |
378 ** Miscellaneous | 348 ** Miscellaneous |
379 +++ | 349 |
380 *** The new command `async-shell-command' bound globally to `M-&' executes | |
381 the command asynchronously without the need to manually add ampersand to | |
382 the end of the command. Its output appears in the buffer `*Async Shell | |
383 Command*'. | |
384 +++ | |
385 *** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp' | 350 *** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp' |
386 read buffer names to search, one by one, ended with RET. With a prefix | 351 read buffer names to search, one by one, ended with RET. With a prefix |
387 argument, they ask for a regexp, and search in buffers whose names match | 352 argument, they ask for a regexp, and search in buffers whose names match |
388 the specified regexp. Interactively `multi-isearch-files' and | 353 the specified regexp. Interactively `multi-isearch-files' and |
389 `multi-isearch-files-regexp' read file names to search, one by one, | 354 `multi-isearch-files-regexp' read file names to search, one by one, |
390 ended with RET. With a prefix argument, they ask for a wildcard, and | 355 ended with RET. With a prefix argument, they ask for a wildcard, and |
391 search in file buffers whose file names match the specified wildcard. | 356 search in file buffers whose file names match the specified wildcard. |
392 +++ | 357 |
393 *** Autorevert Tail mode now works also for remote files. | 358 *** Autorevert Tail mode now works also for remote files. |
394 +++ | 359 |
395 *** The new built-in commands `su' and `sudo' support Tramp. | 360 *** The new eshell built-in commands `su' and `sudo' support Tramp. |
396 That means, they change `default-directory' to the new users value, | 361 Thus, they change `default-directory' to reflect the new user id, and |
397 and let commands run under that user permissions. It works even when | 362 let commands run under that user's permissions. This works even when |
398 `default-directory' is already remote. Calling the external commands | 363 `default-directory' is already remote. Calling the external commands |
399 is possible by `*su' or `*sudo', respectively. | 364 is possible via `*su' or `*sudo', respectively. |
400 --- | 365 |
401 *** When running in a new enough xterm (newer than version 242), Emacs | 366 ** Obsolete packages |
402 asks xterm what the background color is and it sets up faces | 367 |
403 accordingly for a dark background if needed (the current default is to | 368 *** sym-comp.el is now obsolete, superseded by completion-at-point. |
404 consider the background light). | 369 |
370 *** lucid.el and levents.el are now obsolete. | |
405 | 371 |
406 | 372 |
407 * New Modes and Packages in Emacs 23.2 | 373 * New Modes and Packages in Emacs 23.2 |
408 | 374 |
409 ** CEDET (the Collection of Emacs Development Tools) is now in Emacs. | 375 ** CEDET (the Collection of Emacs Development Tools) is now in Emacs. |
410 This is a collection of packages to aid with using Emacs as an IDE | 376 This is a collection of packages to aid with using Emacs as an IDE |
411 (integrated development environment): | 377 (integrated development environment): |
412 | 378 |
413 +++ | |
414 *** The Semantic package allows the use of parsers to intelligently | 379 *** The Semantic package allows the use of parsers to intelligently |
415 edit and navigate source code. Parsers for C/C++, Java, Javascript, | 380 edit and navigate source code. Parsers for C/C++, Java, Javascript, |
416 and several other languages are included by default, and Semantic can | 381 and several other languages are included by default, and Semantic can |
417 also interface with external tools such as GNU Global and GNU Idutils. | 382 also interface with external tools such as GNU Global and GNU Idutils. |
418 | 383 |
419 To enable Semantic, use the global minor mode `semantic-mode'. | 384 To enable Semantic, use the global minor mode `semantic-mode'. |
420 See the Semantic manual for details. | 385 See the Semantic manual for details. |
421 | 386 |
422 +++ | |
423 *** EDE (Emacs Development Environment) is a package for managing code | 387 *** EDE (Emacs Development Environment) is a package for managing code |
424 projects, including features such as automatic Makefile generation. | 388 projects, including features such as automatic Makefile generation. |
425 | 389 |
426 To enable EDE, use the minor mode `global-ede-mode'. | 390 To enable EDE, use the minor mode `global-ede-mode'. |
427 See the EDE manual for details. | 391 See the EDE manual for details. |
428 | 392 |
429 *** SRecode is a library for recoding Semantic tags back into source | 393 *** SRecode is a library for recoding Semantic tags back into source |
430 code. It is currently used by some parts of Semantic and EDE; in the | 394 code. It is currently used by some parts of Semantic and EDE; in the |
431 future, it may be used for code generation features. | 395 future, it may be used for code generation features. |
432 | 396 |
433 +++ | |
434 *** The EIEIO library implements a subset of the Common Lisp Object | 397 *** The EIEIO library implements a subset of the Common Lisp Object |
435 System (CLOS). It is used by the other CEDET packages. | 398 System (CLOS). It is used by the other CEDET packages. |
436 | 399 |
437 --- | |
438 ** mpc.el is a front end for the Music Player Daemon. Run it with M-x mpc. | 400 ** mpc.el is a front end for the Music Player Daemon. Run it with M-x mpc. |
439 | 401 |
440 ** htmlfontify.el turns a fontified Emacs buffer into an HTML page. | 402 ** htmlfontify.el turns a fontified Emacs buffer into an HTML page. |
441 | 403 |
442 +++ | |
443 ** js.el is a new major mode for JavaScript files. | 404 ** js.el is a new major mode for JavaScript files. |
444 | 405 |
445 --- | |
446 ** imap-hash.el is a new library to address IMAP mailboxes as hashtables. | 406 ** imap-hash.el is a new library to address IMAP mailboxes as hashtables. |
447 | 407 |
448 | 408 |
449 * Incompatible Lisp Changes in Emacs 23.2 | 409 * Incompatible Lisp Changes in Emacs 23.2 |
450 | 410 |
451 +++ | |
452 ** The Lisp reader turns integers that are too large/small into floats. | 411 ** The Lisp reader turns integers that are too large/small into floats. |
453 For instance, on machines where `536870911' is the largest integer, | 412 For instance, on machines where `536870911' is the largest integer, |
454 reading `536870912' gives the floating-point object `536870912.0'. | 413 reading `536870912' gives the floating-point object `536870912.0'. |
455 | 414 |
456 This change only concerns the Lisp reader; it does not affect how | 415 This change only concerns the Lisp reader; it does not affect how |
457 actual integer objects overflow. | 416 actual integer objects overflow. |
458 | 417 |
459 --- | |
460 ** Several obsolete functions removed. | 418 ** Several obsolete functions removed. |
461 The functions have been obsolete since Emacs 19, and are unlikely to | 419 The functions have been obsolete since Emacs 19, and are unlikely to |
462 be in use: | 420 be in use: |
463 | 421 |
464 time-stamp-month-dd-yyyy, time-stamp-dd/mm/yyyy, time-stamp-mon-dd-yyyy | 422 time-stamp-month-dd-yyyy, time-stamp-dd/mm/yyyy, time-stamp-mon-dd-yyyy |
465 time-stamp-dd-mon-yy, time-stamp-yy/mm/dd, time-stamp-yyyy/mm/dd, | 423 time-stamp-dd-mon-yy, time-stamp-yy/mm/dd, time-stamp-yyyy/mm/dd, |
466 time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss, | 424 time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss, |
467 time-stamp-hhmm, baud-rate | 425 time-stamp-hhmm, baud-rate |
468 | 426 |
469 --- | |
470 ** Support for generating Emacs 18 compatible bytecode (by setting | 427 ** Support for generating Emacs 18 compatible bytecode (by setting |
471 the variable `byte-compile-compatibility') has been removed. | 428 the variable `byte-compile-compatibility') has been removed. |
472 | 429 |
473 --- | |
474 ** In image-mode.el `image-mode-maybe' is obsolete. | 430 ** In image-mode.el `image-mode-maybe' is obsolete. |
475 Instead, you can either use `image-mode' (which displays an image file | 431 Instead, you can either use `image-mode' (which displays an image file |
476 as the actual image initially), or `image-mode-as-text' (when you want | 432 as the actual image initially), or `image-mode-as-text' (when you want |
477 to display an image file as text initially). `image-mode-as-text' is a | 433 to display an image file as text initially). `image-mode-as-text' is a |
478 combination of a non-image mode from `auto-mode-alist' (or Fundamental | 434 combination of a non-image mode from `auto-mode-alist' (or Fundamental |
482 `image-toggle-display-image' adds image properties. | 438 `image-toggle-display-image' adds image properties. |
483 `image-toggle-display' toggles between `image-mode-as-text' and `image-mode'. | 439 `image-toggle-display' toggles between `image-mode-as-text' and `image-mode'. |
484 | 440 |
485 | 441 |
486 * Lisp changes in Emacs 23.2 | 442 * Lisp changes in Emacs 23.2 |
487 --- | 443 |
488 ** All the default-FOO variables that hold the default value of the FOO | 444 ** All the default-FOO variables that hold the default value of the FOO |
489 variable, are now declared obsolete. | 445 variable, are now declared obsolete. |
490 | 446 |
491 ** read-key is a function halfway between read-event and read-key-sequence. | 447 ** read-key is a function halfway between read-event and read-key-sequence. |
492 It reads a single key, but obeys input and escape sequence decoding. | 448 It reads a single key, but obeys input and escape sequence decoding. |
493 | 449 |
494 ** Frame parameter changes | 450 ** Frame parameter changes |
495 +++ | 451 |
496 *** You can give the `fullscreen' frame parameter the value `maximized'. | 452 *** You can give the `fullscreen' frame parameter the value `maximized'. |
497 This maximizes the frame. | 453 This maximizes the frame. |
498 +++ | 454 |
499 *** The new frame parameter `sticky' makes Emacs frames sticky in | 455 *** The new frame parameter `sticky' makes Emacs frames sticky in |
500 virtual desktops. | 456 virtual desktops. |
501 | 457 |
502 ** Completion changes | 458 ** Completion changes |
503 | 459 |
507 been replaced by a `base-position' argument, and where the `base-size' | 463 been replaced by a `base-position' argument, and where the `base-size' |
508 argument is now always nil. | 464 argument is now always nil. |
509 | 465 |
510 *** New function `completion-in-region' to use the standard completion | 466 *** New function `completion-in-region' to use the standard completion |
511 facilities on a particular region of text. | 467 facilities on a particular region of text. |
512 +++ | 468 |
513 *** The 4th arg to all-completions (aka hide-spaces) is declared obsolete. | 469 *** The 4th arg to all-completions (aka hide-spaces) is declared obsolete. |
514 | 470 |
515 *** completion-annotate-function specifies how to compute annotations | 471 *** completion-annotate-function specifies how to compute annotations |
516 for completions displayed in *Completions*. | 472 for completions displayed in *Completions*. |
517 | 473 |
518 ** Minibuffer changes | 474 ** Minibuffer changes |
519 --- | 475 |
520 *** read-file-name-predicate is obsolete. It was used to pass the predicate | 476 *** read-file-name-predicate is obsolete. It was used to pass the predicate |
521 to read-file-name-internal because read-file-name-internal abused its `pred' | 477 to read-file-name-internal because read-file-name-internal abused its `pred' |
522 argument to pass the current directory, but this hack is not needed | 478 argument to pass the current directory, but this hack is not needed |
523 any more. | 479 any more. |
524 | 480 |
525 ** Changes to file-manipulation functions | 481 ** Changes to file-manipulation functions |
526 +++ | 482 |
527 *** `delete-directory' has an optional parameter RECURSIVE. | 483 *** `delete-directory' has an optional parameter RECURSIVE. |
528 +++ | 484 |
529 *** New function `copy-directory', which copies a directory recursively. | 485 *** New function `copy-directory', which copies a directory recursively. |
530 | 486 |
531 ** called-interactively-p now takes one argument and replaces interactive-p | 487 ** called-interactively-p now takes one argument and replaces interactive-p |
532 which is now marked obsolete. | 488 which is now marked obsolete. |
533 | 489 |
538 docstrings by adding a `:advertised-binding' property to the corresponding | 494 docstrings by adding a `:advertised-binding' property to the corresponding |
539 command's symbol. That property can hold a single binding or a list | 495 command's symbol. That property can hold a single binding or a list |
540 of bindings. | 496 of bindings. |
541 | 497 |
542 ** Network and process changes | 498 ** Network and process changes |
543 +++ | 499 |
544 *** start-process-shell-command and start-file-process-shell-command | 500 *** start-process-shell-command and start-file-process-shell-command |
545 now only take a single `command' argument. | 501 now only take a single `command' argument. |
546 +++ | 502 |
547 *** The new variable `process-file-side-effects' should be set to nil | 503 *** The new variable `process-file-side-effects' should be set to nil |
548 if a `process-file' call does not change a remote file. This allows | 504 if a `process-file' call does not change a remote file. This allows |
549 file name handlers such as Tramp to optimizations. | 505 file name handlers such as Tramp to optimizations. |
550 +++ | 506 |
551 *** make-network-process can now also create `seqpacket' Unix sockets. | 507 *** make-network-process can now also create `seqpacket' Unix sockets. |
552 | 508 |
553 ** Loading changes | 509 ** Loading changes |
554 --- | 510 |
555 *** eval-next-after-load is obsolete. | 511 *** eval-next-after-load is obsolete. |
556 +++ | 512 |
557 *** New hook `after-load-functions' run after loading an Elisp file. | 513 *** New hook `after-load-functions' run after loading an Elisp file. |
558 | 514 |
559 ** Byte compilation changes | 515 ** Byte compilation changes |
560 --- | 516 |
561 *** Changing the file-names generated by byte-compilation by redefining | 517 *** Changing the file-names generated by byte-compilation by redefining |
562 the function `byte-compile-dest-file' before loading bytecomp.el is obsolete. | 518 the function `byte-compile-dest-file' before loading bytecomp.el is obsolete. |
563 Instead, customize byte-compile-dest-file-function. | 519 Instead, customize byte-compile-dest-file-function. |
564 --- | 520 |
565 *** `byte-compile-warnings' has new members, `constants' and `suspicious'. | 521 *** `byte-compile-warnings' has new members, `constants' and `suspicious'. |
566 | 522 |
567 ** New macro with-silent-modifications to tweak text properties without | 523 ** New macro with-silent-modifications to tweak text properties without |
568 affecting the buffer's modification state. | 524 affecting the buffer's modification state. |
569 | 525 |
570 +++ | |
571 ** Hash tables have a new printed representation that is readable. | 526 ** Hash tables have a new printed representation that is readable. |
572 The feature `hashtable-print-readable' identifies this new | 527 The feature `hashtable-print-readable' identifies this new |
573 functionality. | 528 functionality. |
574 | 529 |
575 ** New functions for performing Unicode normalization: | 530 ** New functions for performing Unicode normalization: |
578 ucs-normalize-NFKD-region, ucs-normalize-NFKD-string, | 533 ucs-normalize-NFKD-region, ucs-normalize-NFKD-string, |
579 ucs-normalize-NFKC-region, ucs-normalize-NFKC-string, | 534 ucs-normalize-NFKC-region, ucs-normalize-NFKC-string, |
580 ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string, | 535 ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string, |
581 ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string. | 536 ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string. |
582 | 537 |
583 +++ | |
584 ** Face aliases can now be marked as obsolete, using the macro | 538 ** Face aliases can now be marked as obsolete, using the macro |
585 `define-obsolete-face-alias'. | 539 `define-obsolete-face-alias'. |
586 | 540 |
587 +++ | |
588 ** New function `window-full-height-p', analogous to the full-width version. | 541 ** New function `window-full-height-p', analogous to the full-width version. |
589 | 542 |
590 | 543 |
591 * Changes in Emacs 23.2 on non-free operating systems | 544 * Changes in Emacs 23.2 on non-free operating systems |
592 | 545 |
593 --- | |
594 ** On MS-Windows, `display-time' now displays the system load average | 546 ** On MS-Windows, `display-time' now displays the system load average |
595 as well as the time, as it does on GNU and Unix. | 547 as well as the time, as it does on GNU and Unix. |
596 | 548 |
597 | 549 |
598 * Installation Changes in Emacs 23.1 | 550 * Installation Changes in Emacs 23.1 |
1396 *** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax. | 1348 *** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax. |
1397 | 1349 |
1398 ** Gnus | 1350 ** Gnus |
1399 | 1351 |
1400 *** The Gnus package has been updated | 1352 *** The Gnus package has been updated |
1401 There are many news features, bug fixes and improvements; see the file | 1353 There are many new features, bug fixes and improvements; see the file |
1402 GNUS-NEWS or the node "No Gnus" in the Gnus manual for details. | 1354 GNUS-NEWS or the node "No Gnus" in the Gnus manual for details. |
1403 | 1355 |
1404 *** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for | 1356 *** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for |
1405 saving articles drafts and ~/.newsrc.eld. These file may not be read | 1357 saving articles, drafts, and ~/.newsrc.eld. These file may not be read |
1406 correctly in Emacs 22 and below. If you want to Gnus across different Emacs | 1358 correctly in Emacs 22 and below. If you want to Gnus across different Emacs |
1407 versions, you may set `mm-auto-save-coding-system' to `emacs-mule'. | 1359 versions, you may set `mm-auto-save-coding-system' to `emacs-mule'. |
1408 | 1360 |
1409 *** Passwords are consistently loaded through `auth-source' | 1361 *** Passwords are consistently loaded through `auth-source' |
1410 Gnus can use `auth-source' for POP and IMAP passwords. Also see that | 1362 Gnus can use `auth-source' for POP and IMAP passwords. Also see that |
1453 `isearch-fail' face. | 1405 `isearch-fail' face. |
1454 | 1406 |
1455 *** `C-h C-h' in Isearch mode displays isearch-specific Help screen, | 1407 *** `C-h C-h' in Isearch mode displays isearch-specific Help screen, |
1456 `C-h b' displays all Isearch key bindings, `C-h k' displays the full | 1408 `C-h b' displays all Isearch key bindings, `C-h k' displays the full |
1457 documentation of the given Isearch key sequence, `C-h m' displays | 1409 documentation of the given Isearch key sequence, `C-h m' displays |
1458 documentation of Isearch mode. All the rest Help commands exit Isearch mode | 1410 documentation for Isearch mode. All the other Help commands exit |
1459 and execute their global definitions. | 1411 Isearch mode and execute their global definitions. |
1460 | 1412 |
1461 *** When started in the minibuffer, Isearch searches in the minibuffer | 1413 *** When started in the minibuffer, Isearch searches in the minibuffer |
1462 history. See `Minibuffer changes', above. | 1414 history. See `Minibuffer changes', above. |
1463 | 1415 |
1464 ** MH-E | 1416 ** MH-E |