Mercurial > emacs
comparison etc/NEWS @ 103493:af33c0ccf0aa
Remove +++ and --- lines; minor copyedits.
author | Chong Yidong <cyd@stupidchicken.com> |
---|---|
date | Fri, 19 Jun 2009 17:09:32 +0000 |
parents | 8f7555e94264 |
children | fe679d9c8eb9 |
comparison
equal
deleted
inserted
replaced
103492:df491d775083 | 103493:af33c0ccf0aa |
---|---|
11 See files NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 | 11 See files NEWS.22, NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 |
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 | |
17 Temporary note: | |
18 +++ indicates that the appropriate manual has already been updated. | |
19 --- means no change in the manuals is called for. | |
20 When you add a new item, please add it without either +++ or --- | |
21 so we will look at it and add it to the manual. | |
22 | 16 |
23 | 17 |
24 * Installation Changes in Emacs 23.1 | 18 * Installation Changes in Emacs 23.1 |
25 | 19 |
26 ** The default X toolkit is now Gtk+, rather than Lucid. | 20 ** The default X toolkit is now Gtk+, rather than Lucid. |
28 default toolkit, but you can use --with-x-toolkit=gtk if necessary. | 22 default toolkit, but you can use --with-x-toolkit=gtk if necessary. |
29 | 23 |
30 ** New font code. | 24 ** New font code. |
31 Fonts are handled by new code capable of dealing with multiple font | 25 Fonts are handled by new code capable of dealing with multiple font |
32 backends. This uses the freetype and fontconfig libraries. | 26 backends. This uses the freetype and fontconfig libraries. |
33 +++ | 27 |
34 *** Emacs now accepts font names supplied in the fontconfig format | 28 *** Emacs now accepts font names supplied in the fontconfig format |
35 (e.g. "monospace-12:bold") and GTK format (e.g. "Monospace Bold 12"). | 29 (e.g. "monospace-12:bold") and GTK format (e.g. "Monospace Bold 12"). |
36 | 30 |
37 *** Added support for local fonts (fonts installed on the machine | 31 *** Added support for local fonts (fonts installed on the machine |
38 where Emacs is running). | 32 where Emacs is running). |
43 OpenType fonts. | 37 OpenType fonts. |
44 | 38 |
45 *** Added support for the m17n library for text shaping. | 39 *** Added support for the m17n library for text shaping. |
46 | 40 |
47 ** Changes to image support | 41 ** Changes to image support |
48 --- | 42 |
49 *** configure now checks for libgif before libungif when searching for | 43 *** configure now checks for libgif before libungif when searching for |
50 a GIF library. | 44 a GIF library. |
51 +++ | 45 |
52 *** Emacs now supports the SVG image format through librsvg2. | 46 *** Emacs now supports the SVG image format through librsvg2. |
53 | 47 |
54 *** Emacs now supports multi-page TIFF images. | 48 *** Emacs now supports multi-page TIFF images. |
55 | 49 |
56 ** New NeXTSTEP-based port | 50 ** New NeXTSTEP-based port |
68 ** The new configuration option "--with-dbus" enables D-Bus language | 62 ** The new configuration option "--with-dbus" enables D-Bus language |
69 bindings for Emacs. | 63 bindings for Emacs. |
70 | 64 |
71 ** Support for many obsolete platforms has been removed. | 65 ** Support for many obsolete platforms has been removed. |
72 See the list at the end of etc/MACHINES for details. | 66 See the list at the end of etc/MACHINES for details. |
73 --- | 67 |
74 *** Support for systems without alloca has been removed. | 68 *** Support for systems without alloca has been removed. |
75 --- | 69 |
76 *** Support for Sun windows has been removed. | 70 *** Support for Sun windows has been removed. |
77 --- | 71 |
78 *** The `emacstool' utility has been removed. | 72 *** The `emacstool' utility has been removed. |
79 | 73 |
80 ** The following platforms will be removed in a future Emacs version: | 74 ** The following platforms will be removed in a future Emacs version: |
81 If you are still using Emacs on one of these platforms, please email | 75 If you are still using Emacs on one of these platforms, please email |
82 emacs-devel@gnu.org to inform the Emacs developers. | 76 emacs-devel@gnu.org to inform the Emacs developers. |
95 *** Unixware on non-x86 machines. | 89 *** Unixware on non-x86 machines. |
96 | 90 |
97 *** Platforms not supporting shared libraries (i.e., requiring the | 91 *** Platforms not supporting shared libraries (i.e., requiring the |
98 NO_SHARED_LIBS compilation flag). | 92 NO_SHARED_LIBS compilation flag). |
99 | 93 |
100 --- | |
101 ** The configure options `--with-gcc', `--without-gcc' have been removed. | 94 ** The configure options `--with-gcc', `--without-gcc' have been removed. |
102 Configure will use gcc by default. Set the CC environment variable if | 95 Configure will use gcc by default. Set the CC environment variable if |
103 you need control over which C compiler is used. | 96 you need control over which C compiler is used. |
104 | 97 |
105 ** The refcards are now shipped as PDF files. | 98 ** The refcards are now shipped as PDF files. |
106 | 99 |
107 --- | |
108 ** The manuals are now licensed under the GNU Free Documentation License v1.3, | 100 ** The manuals are now licensed under the GNU Free Documentation License v1.3, |
109 or any later version. | 101 or any later version. |
110 | 102 |
111 --- | |
112 ** Emacs 23 comes with a new set of default icons. | 103 ** Emacs 23 comes with a new set of default icons. |
113 Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png. | 104 Various resolutions are available as etc/images/icons/hicolor/*/apps/emacs.png. |
114 The Emacs 22 icon is available as `emacs22.png' in the same location. | 105 The Emacs 22 icon is available as `emacs22.png' in the same location. |
115 | 106 |
116 * Changes in Emacs 23.1 | 107 * Changes in Emacs 23.1 |
117 | 108 |
118 ** Improved X Window System support | 109 ** Improved X Window System support |
119 +++ | 110 |
120 *** Emacs now supports using both X displays and ttys in one session. | 111 *** Emacs now supports using both X displays and ttys in one session. |
121 With an Emacs server active (M-x server-start), `emacsclient -t' | 112 With an Emacs server active (M-x server-start), `emacsclient -t' |
122 creates a tty frame connected to the running emacs server. You can | 113 creates a tty frame connected to the running emacs server. You can |
123 use any number of different ttys. `emacsclient -c' creates a new X11 | 114 use any number of different ttys. `emacsclient -c' creates a new X11 |
124 frame on the current $DISPLAY (or a tty frame if $DISPLAY is not set). | 115 frame on the current $DISPLAY (or a tty frame if $DISPLAY is not set). |
125 There may be problems if a display exits unexpectedly and Emacs is compiled | 116 There may be problems if a display exits unexpectedly and Emacs is compiled |
126 with Gtk+, see etc/PROBLEMS. | 117 with Gtk+, see etc/PROBLEMS. |
127 | 118 |
128 You can test for the presence of this feature in your Lisp code by | 119 You can test for the presence of this feature in your Lisp code by |
129 testing for the `multi-tty' feature. | 120 testing for the `multi-tty' feature. |
130 +++ | 121 |
131 *** Emacs can now start in background, as a daemon when using the | 122 *** Emacs starts in the background, as a daemon, when given the |
132 --daemon command line argument. It disconnects from the terminal and | 123 --daemon command line argument. It disconnects from the terminal and |
133 starts the server. Clients can connect and create graphical or | 124 starts the server. Clients can connect and create graphical or |
134 terminal frames using emacsclient. | 125 terminal frames using emacsclient. |
135 +++ | 126 |
136 **** emacsclient starts emacs in daemon mode and connects to it when | 127 **** emacsclient starts emacs in daemon mode and connects to it when |
137 --alternate-editor="" is used (or when the evironment variable | 128 --alternate-editor="" is used (or when the evironment variable |
138 ALTERNATE_EDITOR is set to "") and emacsclient cannot connect to an | 129 ALTERNATE_EDITOR is set to "") and emacsclient cannot connect to an |
139 emacs server. | 130 emacs server. |
140 | 131 |
144 *** Emacs now supports the XEmbed specification. | 135 *** Emacs now supports the XEmbed specification. |
145 You can embed Emacs in another application on X11. The new command line | 136 You can embed Emacs in another application on X11. The new command line |
146 option --parent-id is used to pass the parent window id to Emacs. See | 137 option --parent-id is used to pass the parent window id to Emacs. See |
147 http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html | 138 http://standards.freedesktop.org/xembed-spec/xembed-spec-latest.html |
148 for details about XEmbed. | 139 for details about XEmbed. |
149 +++ | 140 |
150 *** Emacs can now set the frame opacity. | 141 *** Emacs can now set the frame opacity. |
151 The opacity of a frame can be controlled by setting the `alpha' frame | 142 The opacity of a frame can be controlled by setting the `alpha' frame |
152 parameter. This only takes effect on a compositing window manager for | 143 parameter. This only takes effect on a compositing window manager for |
153 the X Window System, such as Compiz, Beryl and Compiz Fusion, on Mac | 144 the X Window System, such as Compiz, Beryl and Compiz Fusion, on Mac |
154 OS X, or on Windows 2000 and later versions of Windows. | 145 OS X, or on Windows 2000 and later versions of Windows. |
160 | 151 |
161 The variable `frame-alpha-lower-limit' defines a lower bound for the | 152 The variable `frame-alpha-lower-limit' defines a lower bound for the |
162 opacity; the default is 20. | 153 opacity; the default is 20. |
163 | 154 |
164 ** Internationalization changes | 155 ** Internationalization changes |
165 +++ | 156 |
166 *** The Emacs character set is now a superset of Unicode. | 157 *** The Emacs character set is now a superset of Unicode. |
167 (It has about four times the code space, which should be plenty). | 158 (It has about four times the code space, which should be plenty). |
168 | 159 |
169 The internal encoding used for buffers and strings is now | 160 The internal encoding used for buffers and strings is now |
170 Unicode-based and called `utf-8-emacs'. This encoding is backwards | 161 Unicode-based and called `utf-8-emacs' (`emacs-internal' is an alias |
171 compatible with Unicode's UTF-8 encoding. The encoding | 162 for this). This encoding is backward-compatible with Unicode's UTF-8 |
172 `emacs-internal' is an alias for this. The internal encoding | 163 encoding. The internal encoding previously used by Emacs, |
173 previously used by Emacs, `emacs-mule', is still available. | 164 `emacs-mule', is still available for reading and writing files. |
174 | 165 |
175 During byte-compilation, Emacs 23 uses `utf-8-emacs' to write files. | 166 During byte-compilation, Emacs 23 uses `utf-8-emacs' to write files. |
176 As a result, byte-compiled files containing non-ASCII characters can't | 167 As a result, byte-compiled files containing non-ASCII characters can't |
177 be read by earlier versions of Emacs. Files compiled by Emacs 20, 21, | 168 be read by earlier versions of Emacs. Files compiled by Emacs 20, 21, |
178 or 22 are loaded correctly as emacs-mule (whether or not they contain | 169 or 22 are loaded correctly as `emacs-mule' (whether or not they |
179 multibyte characters). This takes somewhat more time, so it may be | 170 contain multibyte characters). This takes somewhat more time, so it |
180 worth recompiling existing .elc files which don't need to be shared | 171 may be worth recompiling existing .elc files which don't need to be |
181 with older Emacsen. | 172 shared with older Emacsen. |
182 | 173 |
183 *** There are new coding systems/aliases; see M-x list-coding-systems. | 174 *** There are new coding systems/aliases; see M-x list-coding-systems. |
184 | 175 |
185 *** There is a new charset implementation with many new charsets. | 176 *** There is a new charset implementation with many new charsets. |
186 See M-x list-character-sets. New charsets can be defined conveniently | 177 See M-x list-character-sets. New charsets can be defined conveniently |
187 as tables of unicodes. | 178 as tables of unicodes. |
188 | 179 |
189 **** The dimension of a charset is now 1, 2, 3, or 4, and the size of | |
190 each dimension is no longer limited to 94 or 96. | |
191 | |
192 **** A dynamic charset priority list is used to infer the charset of | |
193 characters for display. | |
194 +++ | |
195 *** There are new language environments for Chinese-GBK, | 180 *** There are new language environments for Chinese-GBK, |
196 Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu, | 181 Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu, |
197 Sinhala, and TaiViet. | 182 Sinhala, and TaiViet. |
198 +++ | 183 |
199 *** The minor modes unify-8859-on-encoding-mode and | 184 *** The minor modes unify-8859-on-encoding-mode and |
200 unify-8859-on-decoding-mode are obsolete. | 185 unify-8859-on-decoding-mode are obsolete. |
201 +++ | 186 |
202 *** `ucs-insert' is bound to `C-x 8 RET' and in addition to hex numbers | 187 *** `ucs-insert' is bound to `C-x 8 RET' and in addition to hex numbers |
203 accepts numbers in hash notation (e.g. #o21430 for octal, or #10r8984 for | 188 accepts numbers in hash notation (e.g. #o21430 for octal, or #10r8984 for |
204 decimal). It also accepts Unicode character names with completion. | 189 decimal). It also accepts Unicode character names with completion. |
205 --- | 190 |
206 *** The `cyrillic-translit' input method supports many new characters. | 191 *** The `cyrillic-translit' input method supports many new characters. |
207 Common typographical characters available from Unicode were added to | 192 Common typographical characters available from Unicode were added to |
208 `cyrillic-translit': punctuation marks, accented characters, fractions, | 193 `cyrillic-translit': punctuation marks, accented characters, fractions, |
209 and others. | 194 and others. |
210 | 195 |
212 Windows. The new command `serial-term' starts an interactive terminal | 197 Windows. The new command `serial-term' starts an interactive terminal |
213 on a serial port. The serial port can be configured at runtime with | 198 on a serial port. The serial port can be configured at runtime with |
214 the mode-line mouse menu. | 199 the mode-line mouse menu. |
215 | 200 |
216 ** Menu Bar changes | 201 ** Menu Bar changes |
217 --- | 202 |
218 *** In the Options menu, the "Set Default Font" item applies the | 203 *** In the Options menu, the "Set Default Font" item applies the |
219 selected font to the `default' face on all frames, not just the | 204 selected font to the `default' face on all frames, not just the |
220 current frame. Furthermore, if Emacs is compiled with both GTK and | 205 current frame. Furthermore, if Emacs is compiled with both GTK and |
221 Fontconfig support, the "Set Default Font" item uses the GTK font | 206 Fontconfig support, the "Set Default Font" item uses the GTK font |
222 selection dialog instead of an Emacs pop-up menu. | 207 selection dialog instead of an Emacs pop-up menu. |
223 --- | 208 |
224 *** The font setting chosen by "Set Default Font" is saved if the | 209 *** The font setting chosen by "Set Default Font" is saved if the |
225 "Save Options" item is used. | 210 "Save Options" item is used. |
226 | 211 |
227 *** The Tools menu contains a new Encryption/Decryption submenu. | 212 *** The Tools menu contains a new Encryption/Decryption submenu. |
228 This contains commands provided by EasyPG, the newly-included | 213 This contains commands provided by EasyPG, the newly-included |
229 interface to GnuPG (see New Modes and Packages). | 214 interface to GnuPG (see New Modes and Packages). |
230 --- | 215 |
231 *** In the Options menu, the "Truncate Long Lines in the Buffer" entry | 216 *** In the Options menu, the "Truncate Long Lines in the Buffer" entry |
232 has been replaced with a submenu offering three different ways to | 217 has been replaced with a submenu offering three different ways to |
233 handle long lines: truncation, continuation at the window edge, and | 218 handle long lines: truncation, continuation at the window edge, and |
234 the new word wrapping behavior (see Editing Changes, below). | 219 the new word wrapping behavior (see Editing Changes, below). |
235 --- | 220 |
236 *** Improvements to menus for major and minor modes | 221 *** Improvements to menus for major and minor modes |
237 More major and minor modes now have a mode specific menu, and existing | 222 More major and minor modes now have a mode specific menu, and existing |
238 mode menus have been improved to include more functionality. | 223 mode menus have been improved to include more functionality. |
239 | 224 |
240 ** Mode-line changes | 225 ** Mode-line changes |
241 +++ | 226 |
242 *** The mode-line displays a `@', instead of `-', if the | 227 *** The mode-line displays a `@', instead of `-', if the |
243 default-directory for the current buffer is on a remote machine. | 228 default-directory for the current buffer is on a remote machine. |
244 --- | 229 |
245 *** The mode-line displays a mode menu when mouse-1 is clicked on a | 230 *** The mode-line displays a mode menu when mouse-1 is clicked on a |
246 minor mode, in the same way as it already did for major modes. | 231 minor mode, in the same way as it already did for major modes. |
247 --- | 232 |
248 *** The `mode-line-emphasis' face is used to highlight certain | 233 *** The `mode-line-emphasis' face is used to highlight certain |
249 mode-line information (e.g. waiting for a VC command to finish). | 234 mode-line information (e.g. waiting for a VC command to finish). |
250 --- | 235 |
251 *** The mode-line tooltips have been improved to provide more details. | 236 *** The mode-line tooltips have been improved to provide more details. |
252 +++ | 237 |
253 *** The VC, line/colum number and minor mode indicators on the mode | 238 *** The VC, line/colum number and minor mode indicators on the mode |
254 line are now interactive: mouse-1 can be used on them to pop up a menu. | 239 line are now interactive: mouse-1 can be used on them to pop up a menu. |
255 | 240 |
256 +++ | |
257 ** File deletion can make use of the Recycle Bin or system Trash folder. | 241 ** File deletion can make use of the Recycle Bin or system Trash folder. |
258 Set `delete-by-moving-to-trash' non-nil to use this. Deleted files | 242 Set `delete-by-moving-to-trash' non-nil to use this. Deleted files |
259 and directories will then be sent to the Recycle Bin on Windows, and | 243 and directories will then be sent to the Recycle Bin on Windows, and |
260 to `trash-directory' on other systems. | 244 to `trash-directory' on other systems. |
261 | 245 |
262 +++ | |
263 ** Directory-local variables can now be defined. | 246 ** Directory-local variables can now be defined. |
264 By default, Emacs looks in .dir-locals.el for directory-local | 247 By default, Emacs looks in .dir-locals.el for directory-local |
265 variables. For more information, see `dir-locals-set-directory-class' | 248 variables. For more information, see `dir-locals-set-directory-class' |
266 and `dir-locals-set-class-variables'. | 249 and `dir-locals-set-class-variables'. |
267 | 250 |
273 ** `where-is-preferred-modifier' can specify your favorite modifier. | 256 ** `where-is-preferred-modifier' can specify your favorite modifier. |
274 | 257 |
275 | 258 |
276 * Startup Changes in Emacs 23.1 | 259 * Startup Changes in Emacs 23.1 |
277 | 260 |
278 +++ | |
279 ** The option `inhibit-startup-screen' (with aliases to old names | 261 ** The option `inhibit-startup-screen' (with aliases to old names |
280 `inhibit-splash-screen' and `inhibit-startup-message') doesn't inhibit | 262 `inhibit-splash-screen' and `inhibit-startup-message') doesn't inhibit |
281 display of the initial message in the *scratch* buffer. If you don't | 263 display of the initial message in the *scratch* buffer. If you don't |
282 want to display the initial message in the *scratch* buffer at startup, | 264 want to display the initial message in the *scratch* buffer at startup, |
283 you can set the option `initial-scratch-message' to nil. | 265 you can set the option `initial-scratch-message' to nil. |
284 | 266 |
285 +++ | |
286 ** New user option `initial-buffer-choice' specifies what to display | 267 ** New user option `initial-buffer-choice' specifies what to display |
287 after starting Emacs: startup screen, *scratch* buffer, visiting a | 268 after starting Emacs: startup screen, *scratch* buffer, visiting a |
288 file or directory. | 269 file or directory. |
289 | 270 |
290 +++ | |
291 ** New alias `argv' for `command-line-args-left' | 271 ** New alias `argv' for `command-line-args-left' |
292 This is a convenience alias, so that one can write `(pop argv)' | 272 This is a convenience alias, so that one can write `(pop argv)' |
293 inside of --eval command line arguments in order to access | 273 inside of --eval command line arguments in order to access |
294 following arguments. | 274 following arguments. |
295 | 275 |
296 +++ | |
297 ** The abbrev file is no longer read at startup in batch mode. | 276 ** The abbrev file is no longer read at startup in batch mode. |
298 | 277 |
299 +++ | |
300 ** Emacs now supports invocation by an X session manager. | 278 ** Emacs now supports invocation by an X session manager. |
301 It can save a session and restore it later. See the documentation of | 279 It can save a session and restore it later. See the documentation of |
302 the functions `emacs-session-save' and `emacs-session-restore'. | 280 the functions `emacs-session-save' and `emacs-session-restore'. |
303 (Actually, this feature was introduced with Emacs 22, but it was not | 281 (Actually, this feature was introduced with Emacs 22, but it was not |
304 documented.) | 282 documented.) |
305 | 283 |
306 * Incompatible Editing Changes in Emacs 23.1 | 284 * Incompatible Editing Changes in Emacs 23.1 |
307 | 285 |
308 +++ | |
309 ** In Dired, `dired-flag-garbage-files' is rebound from `&' to `%&' | 286 ** In Dired, `dired-flag-garbage-files' is rebound from `&' to `%&' |
310 on the regexp command prefix map. | 287 on the regexp command prefix map. |
311 | 288 |
312 +++ | |
313 ** In Dired-x, all command guesses for ! are now added to the default | 289 ** In Dired-x, all command guesses for ! are now added to the default |
314 list accessible by M-n instead of pushing all guesses temporarily into | 290 list accessible by M-n instead of pushing all guesses temporarily into |
315 the history list. | 291 the history list. |
316 | 292 |
317 +++ | |
318 ** In Isearch mode, a special case of typing `C-w' at the beginning of | 293 ** In Isearch mode, a special case of typing `C-w' at the beginning of |
319 the minibuffer that toggles word search (i.e. using key sequences | 294 the minibuffer that toggles word search (i.e. using key sequences |
320 `C-s RET C-w' or `C-s M-e C-w') is obsolete. You can use the global key | 295 `C-s RET C-w' or `C-s M-e C-w') is obsolete. You can use the global key |
321 `M-s w' to start word search, or type `M-s w' in Isearch mode to | 296 `M-s w' to start word search, or type `M-s w' in Isearch mode to |
322 toggle word search. To start nonincremental word search you can now use | 297 toggle word search. To start nonincremental word search you can now use |
323 `M-s w RET' and `M-s w C-r RET' instead of `C-s RET C-w' and `C-r RET C-w'. | 298 `M-s w RET' and `M-s w C-r RET' instead of `C-s RET C-w' and `C-r RET C-w'. |
324 | 299 |
325 +++ | |
326 ** In Info, `Info-search' is unbound from `M-s' to allow using `M-s w' | 300 ** In Info, `Info-search' is unbound from `M-s' to allow using `M-s w' |
327 for word search as well as other search commands from the global prefix | 301 for word search as well as other search commands from the global prefix |
328 key `M-s'. `Info-search' is still bound to `s', and also incremental | 302 key `M-s'. `Info-search' is still bound to `s', and also incremental |
329 search commands `C-s', `C-M-s', `C-r', `C-M-r' are available for searching | 303 search commands `C-s', `C-M-s', `C-r', `C-M-r' are available for searching |
330 through multiple Info nodes, together with their nonincremental versions | 304 through multiple Info nodes, together with their nonincremental versions |
331 `C-s RET', `C-r RET', `C-M-s RET', `C-M-r RET', `M-s w RET'. | 305 `C-s RET', `C-r RET', `C-M-s RET', `C-M-r RET', `M-s w RET'. |
332 | 306 |
333 --- | 307 ** In Text mode, `center-line' and `center-paragraph' are rebound from |
334 ** In Text mode, `center-line' and `center-paragraph' are rebound | 308 `M-s' and `M-S' to global keys `M-o M-s' and `M-o M-S' on the global |
335 from `M-s' and `M-S' to global keys `M-o M-s' and `M-o M-S' on the | 309 prefix map `M-o', which is intended for such formatting commands. |
336 global prefix map `M-o' intended for such formatting commands. | 310 |
337 | |
338 --- | |
339 ** The following input methods were removed in Emacs 22.2, but this was | 311 ** The following input methods were removed in Emacs 22.2, but this was |
340 not advertised: danish-alt-postfix, esperanto-alt-postfix, | 312 not advertised: danish-alt-postfix, esperanto-alt-postfix, |
341 finnish-alt-postfix, german-alt-postfix, icelandic-alt-postfix, | 313 finnish-alt-postfix, german-alt-postfix, icelandic-alt-postfix, |
342 norwegian-alt-postfix, scandinavian-alt-postfix, spanish-alt-postfix, | 314 norwegian-alt-postfix, scandinavian-alt-postfix, spanish-alt-postfix, |
343 and swedish-alt-postfix. Use the versions without "alt-", which are | 315 and swedish-alt-postfix. Use the versions without "alt-", which are |
344 identical. | 316 identical. |
345 | 317 |
346 +++ | |
347 ** If a function in write-region-annotate-functions returns with a | |
348 different buffer current, Emacs no longer kills that buffer | |
349 automatically. This behavior existed in previous versions of Emacs, | |
350 but was undocumented. To kill a buffer after write-region, give the | |
351 variable `write-region-post-annotation-function' a buffer-local value | |
352 of `kill-buffer'. | |
353 | |
354 | 318 |
355 * Editing Changes in Emacs 23.1 | 319 * Editing Changes in Emacs 23.1 |
356 | 320 |
357 +++ | |
358 ** The C-n and C-p line-motion commands now move by screen lines, | 321 ** The C-n and C-p line-motion commands now move by screen lines, |
359 taking continued lines and variable-width characters into account. | 322 taking continued lines and variable-width characters into account. |
360 Setting `line-move-visual' to nil reverts this to the previous | 323 Setting `line-move-visual' to nil reverts this to the previous |
361 behavior (motion by logical lines based on buffer contents alone). | 324 behavior (i.e., motion by logical lines based on buffer contents |
362 | 325 alone). |
363 +++ | 326 |
364 ** C-x C-c now invokes `save-buffers-kill-terminal', and C-z now | 327 ** C-x C-c now invokes `save-buffers-kill-terminal', and C-z now |
365 invokes `suspend-frame'. This change is for compatibility with the | 328 invokes `suspend-frame'. These changes are for compatibility with the |
366 new multi-tty support (see `Improved X Window System support' above). | 329 new multi-tty support (see `Improved X Window System support' above). |
367 | 330 |
368 ** Mark changes | 331 ** Mark changes |
369 +++ | 332 |
370 *** Transient Mark mode is now on by default. | 333 *** Transient Mark mode is now on by default. |
371 +++ | 334 |
372 *** mark-even-if-inactive now defaults to t | 335 *** mark-even-if-inactive now defaults to t |
373 +++ | 336 |
374 *** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without | 337 *** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without |
375 activating it. | 338 activating it. |
376 +++ | 339 |
377 *** When Transient Mark mode is on, M-q now fills the region if the | 340 *** When Transient Mark mode is on, M-q now fills the region if the |
378 region is active. Otherwise, it fills the current paragraph. | 341 region is active. Otherwise, it fills the current paragraph. |
379 +++ | 342 |
380 *** When Transient Mark mode is on, M-$ now checks spelling of the | 343 *** When Transient Mark mode is on, M-$ now checks spelling of the |
381 region if the region is active. Otherwise, it checks spelling of the | 344 region if the region is active. Otherwise, it checks spelling of the |
382 word at point. | 345 word at point. |
383 +++ | 346 |
384 *** When Transient Mark mode is on, TAB now indents the region if the | 347 *** When Transient Mark mode is on, TAB now indents the region if the |
385 region is active. | 348 region is active. |
386 +++ | 349 |
387 *** `use-empty-active-region' controls whether an empty active region | 350 *** The variable `use-empty-active-region' controls whether an empty |
388 in Transient Mark mode should make commands operate on that empty | 351 active region in Transient Mark mode should make commands operate on |
389 region. | 352 that empty region. |
390 | 353 |
391 ** Temporarily active regions | 354 ** Temporarily active regions |
392 +++ | 355 |
393 *** The new variable shift-select-mode, non-nil by default, controls | 356 *** The new variable shift-select-mode, non-nil by default, controls |
394 shift-selection. When Shift Select mode is on, shift-translated | 357 shift-selection. When Shift Select mode is on, shift-translated |
395 motion keys (e.g. S-left and S-down) activate and extend a temporary | 358 motion keys (e.g. S-left and S-down) activate and extend a temporary |
396 region, similar to mouse-selection. | 359 region, similar to mouse-selection. |
397 +++ | 360 |
398 *** Temporarily active regions, created using shift-selection or | 361 *** Temporarily active regions, created using shift-selection or |
399 mouse-selection, are not necessarily deactivated in the next command. | 362 mouse-selection, are not necessarily deactivated in the next command. |
400 They are only deactivated after point motion commands that are not | 363 They are only deactivated after point motion commands that are not |
401 shift-translated, or after commands that would ordinarily deactivate | 364 shift-translated, or after commands that would ordinarily deactivate |
402 the mark in Transient Mark mode (e.g., any command that modifies the | 365 the mark in Transient Mark mode (e.g., any command that modifies the |
403 buffer). | 366 buffer). |
404 | 367 |
405 ** Minibuffer and completion changes | 368 ** Minibuffer and completion changes |
406 +++ | 369 |
407 *** Emacs may ask for confirmation before opening a non-existent file | 370 *** Emacs may ask for confirmation before opening a non-existent file |
408 or buffer. By default, Emacs requests confirmation if you type RET | 371 or buffer. By default, Emacs requests confirmation if you type RET |
409 immediately after TAB, and the resulting input is not an existing file | 372 immediately after TAB, and the resulting input is not an existing file |
410 or buffer; this usually happens when the minibuffer input did not | 373 or buffer; this usually happens when the minibuffer input did not |
411 complete far enough and you entered RET by mistake. In that case, | 374 complete far enough and you entered RET by mistake. In that case, |
414 | 377 |
415 The new variable confirm-nonexistent-file-or-buffer determines whether | 378 The new variable confirm-nonexistent-file-or-buffer determines whether |
416 Emacs asks for confirmation. The default value is `after-completion'. | 379 Emacs asks for confirmation. The default value is `after-completion'. |
417 If you change it to t, Emacs always asks for confirmation; if you | 380 If you change it to t, Emacs always asks for confirmation; if you |
418 change it to nil, Emacs never asks for confirmation. | 381 change it to nil, Emacs never asks for confirmation. |
419 +++ | 382 |
420 *** The rules for performing completion have been changed. | 383 *** The rules for performing completion have been changed. |
421 When generating completion alternatives, Emacs now takes the | 384 When generating completion alternatives, Emacs now takes the |
422 minibuffer text after point, if any, into account: this text is | 385 minibuffer text after point, if any, into account: this text is |
423 treated as a substring of the remaining part of the completion | 386 treated as a substring of the remaining part of the completion |
424 alternative (i.e., the part not matched by the minibuffer text before | 387 alternative (i.e., the part not matched by the minibuffer text before |
427 alternatives are found, we fall back on the Emacs 22 rules for | 390 alternatives are found, we fall back on the Emacs 22 rules for |
428 performing completion. | 391 performing completion. |
429 | 392 |
430 The new variable `completion-styles' can be customized to choose your | 393 The new variable `completion-styles' can be customized to choose your |
431 favorite completion style. | 394 favorite completion style. |
432 +++ | 395 |
433 *** When M-n in the minibuffer reaches the end of the list of defaults, | 396 *** When M-n in the minibuffer reaches the end of the list of defaults, |
434 it adds the completion list to the end, so next M-n continues putting | 397 it adds the completion list to the end, so next M-n continues putting |
435 completion items to the minibuffer. The same principle applies to | 398 completion items to the minibuffer. The same principle applies to |
436 incremental search commands as well: C-s or C-M-s starts searching | 399 incremental search commands as well: C-s or C-M-s starts searching |
437 the default values and after the end of defaults they continue | 400 the default values and after the end of defaults they continue |
438 searching minibuffer completion items. | 401 searching minibuffer completion items. |
439 --- | 402 |
440 *** Minibuffer input of shell commands now comes with completion. | 403 *** Minibuffer input of shell commands now comes with completion. |
441 +++ | 404 |
442 *** In the `C-x d' (Dired) prompt, typing M-n gives the visited file | 405 *** In the `C-x d' (Dired) prompt, typing M-n gives the visited file |
443 name of the current buffer. | 406 name of the current buffer. |
444 | 407 |
445 *** In the M-! (shell-command) prompt, M-n provides some default commands. | 408 *** In the M-! (shell-command) prompt, M-n provides some default commands. |
446 These are guessed using the file extension of the current file, based | 409 These are guessed using the file extension of the current file, based |
450 | 413 |
451 *** A list of regexp default values is available via M-n for `occur', | 414 *** A list of regexp default values is available via M-n for `occur', |
452 `keep-lines', `flush-lines' and `how-many'. This list includes the active | 415 `keep-lines', `flush-lines' and `how-many'. This list includes the active |
453 region in transient-mark-mode, the word under the cursor, the last Isearch | 416 region in transient-mark-mode, the word under the cursor, the last Isearch |
454 regexp, the last Isearch string and the last replacement regexp. | 417 regexp, the last Isearch string and the last replacement regexp. |
455 --- | 418 |
456 *** When enable-recursive-minibuffers is non-nil, operations which use | 419 *** When enable-recursive-minibuffers is non-nil, operations which use |
457 switch-to-buffer (such as C-x b and C-x C-f) do not fail any more when | 420 switch-to-buffer (such as C-x b and C-x C-f) do not fail any more when |
458 used in a minibuffer or a dedicated window. Instead, they fallback on | 421 used in a minibuffer or a dedicated window. Instead, they fallback on |
459 using pop-to-buffer, which will use some other window. This change | 422 using pop-to-buffer, which will use some other window. This change |
460 has no effect when enable-recursive-minibuffers is nil (the default). | 423 has no effect when enable-recursive-minibuffers is nil (the default). |
461 +++ | 424 |
462 *** Isearch started in the minibuffer searches in the minibuffer history. | 425 *** Isearch started in the minibuffer searches in the minibuffer history. |
463 Reverse Isearch commands (C-r, C-M-r) search in previous minibuffer | 426 Reverse Isearch commands (C-r, C-M-r) search in previous minibuffer |
464 history elements, and forward Isearch commands (C-s, C-M-s) search in | 427 history elements, and forward Isearch commands (C-s, C-M-s) search in |
465 next history elements. When the reverse search reaches the first history | 428 next history elements. When the reverse search reaches the first history |
466 element, it wraps to the last history element, and the forward search | 429 element, it wraps to the last history element, and the forward search |
467 wraps to the first history element. When the search is terminated, the | 430 wraps to the first history element. When the search is terminated, the |
468 history element containing the search string becomes the current. | 431 history element containing the search string becomes the current. |
469 +++ | 432 |
470 *** The variable read-file-name-completion-ignore-case overrides | 433 *** The variable read-file-name-completion-ignore-case overrides |
471 completion-ignore-case for file name completion. | 434 completion-ignore-case for file name completion. |
472 +++ | 435 |
473 *** The variable read-buffer-completion-ignore-case overrides | 436 *** The variable read-buffer-completion-ignore-case overrides |
474 completion-ignore-case for buffer name completion. | 437 completion-ignore-case for buffer name completion. |
475 --- | 438 |
476 *** The new command `minibuffer-force-complete' chooses one of the | 439 *** The new command `minibuffer-force-complete' chooses one of the |
477 possible completions, rather than stopping at the common prefix. | 440 possible completions, rather than stopping at the common prefix. |
478 +++ | 441 |
479 *** If `completion-auto-help' is `lazy', Emacs shows the completions | 442 *** If `completion-auto-help' is `lazy', Emacs shows the completions |
480 buffer only on the second attempt to complete. This was already | 443 buffer only on the second attempt to complete. This was already |
481 supported in `partial-completion-mode'. | 444 supported in `partial-completion-mode'. |
482 | 445 |
483 ** Face changes | 446 ** Face changes |
484 +++ | 447 |
485 *** S-down-mouse-1 now pops up a menu for changing the font and text | 448 *** S-down-mouse-1 now pops up a menu for changing the font and text |
486 size of the default face in the current buffer. The face is changed | 449 size of the default face in the current buffer. The face is changed |
487 via face remapping (see Lisp changes, below). | 450 via face remapping (see Lisp changes, below). |
488 +++ | 451 |
489 *** New commands to change the default face size in the current buffer. | 452 *** New commands to change the default face size in the current buffer. |
490 To increase it, type `C-x C-+' or `C-x C-='. To decrease it, type | 453 To increase it, type `C-x C-+' or `C-x C-='. To decrease it, type |
491 `C-x C--'. To restore the default (global) face size, type `C-x C-0'. | 454 `C-x C--'. To restore the default (global) face size, type `C-x C-0'. |
492 These work via Text Scale mode, a new minor mode. | 455 These work via Text Scale mode, a new minor mode. |
493 | 456 |
499 *** The commands buffer-face-mode and buffer-face-set can be used to | 462 *** The commands buffer-face-mode and buffer-face-set can be used to |
500 remap the default face in the current buffer. See "Buffer Face mode", | 463 remap the default face in the current buffer. See "Buffer Face mode", |
501 under New Modes and Packages. | 464 under New Modes and Packages. |
502 | 465 |
503 ** Primary selection changes | 466 ** Primary selection changes |
504 +++ | 467 |
505 *** If `select-active-regions' is t, setting the mark automatically | 468 *** If `select-active-regions' is t, setting the mark automatically |
506 makes the new region into the primary selection (for interaction with | 469 makes the new region into the primary selection (for interaction with |
507 other window applications). If you enable this, you might want to | 470 other window applications). If you enable this, you might want to |
508 bind `mouse-yank-primary' to Mouse-2. | 471 bind `mouse-yank-primary' to Mouse-2. |
509 +++ | 472 |
510 *** You can disable kill ring commands from accessing the primary | 473 *** You can disable kill ring commands from accessing the primary |
511 selection by setting `x-select-enable-primary' to nil. | 474 selection by setting `x-select-enable-primary' to nil. |
512 | 475 |
513 --- | |
514 ** Continuation lines can now be wrapped at word boundaries | 476 ** Continuation lines can now be wrapped at word boundaries |
515 (word-wrapping). This is controlled by the new per-buffer variable | 477 (word-wrapping). This is controlled by the new per-buffer variable |
516 `word-wrap'. Word wrapping does not take place if continuation lines | 478 `word-wrap'. Word wrapping does not take place if continuation lines |
517 are not shown, e.g. if truncate-lines is non-nil. The most convenient | 479 are not shown, e.g. if truncate-lines is non-nil. The most convenient |
518 way to enable word-wrapping is using the new minor mode Visual Line | 480 way to enable word-wrapping is using the new minor mode Visual Line |
519 mode; in addition to setting `word-wrap' to t, this rebinds some | 481 mode; in addition to setting `word-wrap' to t, this rebinds some |
520 editing commands to work on screen lines rather than text lines. See | 482 editing commands to work on screen lines rather than text lines. See |
521 New Modes and Packages, below. | 483 New Modes and Packages, below. |
522 | 484 |
523 ** Window management changes | 485 ** Window management changes |
524 +++ | 486 |
525 *** truncate-partial-width-windows now accepts integer values, which | 487 *** truncate-partial-width-windows now accepts integer values, which |
526 specify a minimum window width for partial-width windows, below which | 488 specify a minimum window width for partial-width windows, below which |
527 lines are truncated. The default has been changed to 50. | 489 lines are truncated. The default has been changed to 50. |
528 | 490 |
529 *** The new command balance-windows-area balances windows both | 491 *** The new command balance-windows-area balances windows both |
530 vertically and horizontally. | 492 vertically and horizontally. |
531 --- | 493 |
532 *** pop-to-buffer now always sets input focus when the popped-to window | 494 *** pop-to-buffer now always sets input focus when the popped-to window |
533 is on a different frame. | 495 is on a different frame. |
534 | 496 |
535 ** Miscellaneous changes: | 497 ** Miscellaneous changes: |
536 +++ | 498 |
537 *** C-l is bound to the new command recenter-top-bottom, rather than recenter. | 499 *** C-l is bound to the new command recenter-top-bottom, rather than recenter. |
538 This moves the current line to window center, top and bottom on | 500 This moves the current line to window center, top and bottom on |
539 successive invocations. | 501 successive invocations. |
540 +++ | 502 |
541 *** scroll-preserve-screen-position also preserves the column position. | 503 *** scroll-preserve-screen-position also preserves the column position. |
542 +++ | 504 |
543 *** If `yank-pop-change-selection' is t, rotating the kill ring also | 505 *** If `yank-pop-change-selection' is t, rotating the kill ring also |
544 updates the selection or clipboard to the current yank, just as M-w | 506 updates the selection or clipboard to the current yank, just as M-w |
545 would do so with the text it copies to the kill ring. | 507 would do so with the text it copies to the kill ring. |
546 +++ | 508 |
547 *** C-M-% now shows replacement as it would look in the buffer, with | 509 *** C-M-% now shows replacement as it would look in the buffer, with |
548 `\N' and `\&' substituted according to the match. Old behavior can be | 510 `\N' and `\&' substituted according to the match. Old behavior can be |
549 restored by customizing `query-replace-show-replacement'. | 511 restored by customizing `query-replace-show-replacement'. |
550 | 512 |
551 *** The command shell prompts for the default directory, when it is | 513 *** The command shell prompts for the default directory, when it is |
552 called with a prefix and the default directory is a remote file name. | 514 called with a prefix and the default directory is a remote file name. |
553 This is because some file name handlers (like ange-ftp) are not able to | 515 This is because some file name handlers (like ange-ftp) are not able to |
554 run processes remotely. | 516 run processes remotely. |
555 +++ | 517 |
556 *** The new command kill-matching-buffers kills buffers whose name | 518 *** The new command kill-matching-buffers kills buffers whose name |
557 matches a regexp. | 519 matches a regexp. |
558 --- | 520 |
559 *** The value of comment-style now defaults to `indent'. | 521 *** The value of comment-style now defaults to `indent'. |
560 Thefore, comment-start markers are inserted at the current indentation | 522 Thefore, comment-start markers are inserted at the current indentation |
561 of the region to comment, rather than the leftmost column. | 523 of the region to comment, rather than the leftmost column. |
562 --- | 524 |
563 *** The new commands `pp-macroexpand-expression' and | 525 *** The new commands `pp-macroexpand-expression' and |
564 `pp-macroexpand-last-sexp' pretty-print macro expansions. | 526 `pp-macroexpand-last-sexp' pretty-print macro expansions. |
565 +++ | 527 |
566 *** The new command `set-file-modes' allows to set file's mode bits. | 528 *** The new command `set-file-modes' allows to set file's mode bits. |
567 The mode bits can be specified in symbolic notation, like with GNU | 529 The mode bits can be specified in symbolic notation, like with GNU |
568 Coreutils, in addition to an octal number. `chmod' is a new | 530 Coreutils, in addition to an octal number. `chmod' is a new |
569 convenience alias for this function. | 531 convenience alias for this function. |
570 | 532 |
571 *** `next-error-recenter' specifies how next-error should recenter the | 533 *** `next-error-recenter' specifies how next-error should recenter the |
572 visited source file. Its value can be a number (for example, 0 for | 534 visited source file. Its value can be a number (for example, 0 for |
573 top line, -1 for bottom line), or nil for no recentering. | 535 top line, -1 for bottom line), or nil for no recentering. |
574 +++ | 536 |
575 *** When typing in a password in the echo area, C-y yanks the current | 537 *** When typing in a password in the echo area, C-y yanks the current |
576 kill into the password. | 538 kill into the password. |
577 --- | 539 |
578 *** Tooltip frame parameters `font' and `color' in `tooltip-frame-parameters' | 540 *** Tooltip frame parameters `font' and `color' in `tooltip-frame-parameters' |
579 are ignored. Customize the `tooltip' face instead. | 541 are ignored. Customize the `tooltip' face instead. |
580 +++ | 542 |
581 *** `mkdir' is a new convenience alias for `make-directory'. | 543 *** `mkdir' is a new convenience alias for `make-directory'. |
582 | 544 |
583 * New Modes and Packages in Emacs 23.1 | 545 * New Modes and Packages in Emacs 23.1 |
584 | 546 |
585 ** Auto Composition Mode is a minor mode that composes characters | 547 ** Auto Composition Mode is a minor mode that composes characters |
593 the face to remap to. The command `buffer-face-set' prompts for a | 555 the face to remap to. The command `buffer-face-set' prompts for a |
594 face name, sets `buffer-face-mode-face' to it, and enables | 556 face name, sets `buffer-face-mode-face' to it, and enables |
595 buffer-face-mode. See "Face changes", under Editing Changes, for a | 557 buffer-face-mode. See "Face changes", under Editing Changes, for a |
596 description of face remapping. | 558 description of face remapping. |
597 | 559 |
598 --- | |
599 ** butterfly flips the desired bit on the drive platter. | 560 ** butterfly flips the desired bit on the drive platter. |
600 See http://xkcd.com/378/ | 561 See http://xkcd.com/378/ |
601 | 562 |
602 ** bug-reference.el provides clickable links to bug reports. | 563 ** bug-reference.el provides clickable links to bug reports. |
603 | 564 |
604 ** dbus.el provides D-Bus language bindings. | 565 ** dbus.el provides D-Bus language bindings. |
605 D-Bus is an inter-process communication mechanism for applications | 566 D-Bus is an inter-process communication mechanism for applications |
606 residing on the same host. See the manual for details. | 567 residing on the same host. See the manual for details. |
607 | 568 |
608 +++ | |
609 ** DocView mode allows viewing of PDF, PostScript and DVI documents. | 569 ** DocView mode allows viewing of PDF, PostScript and DVI documents. |
610 One can also search for a regular expression in the document. For | 570 One can also search for a regular expression in the document. For |
611 details, see the commentary in doc-view.el. | 571 details, see the commentary in doc-view.el. |
612 | 572 |
613 PDF and DVI files are now opened in Doc View mode by default. | 573 PDF and DVI files are now opened in Doc View mode by default. |
621 details, see the EasyPG Assistant User's Manual. | 581 details, see the EasyPG Assistant User's Manual. |
622 | 582 |
623 ** json.el is a library for parsing and generating JSON | 583 ** json.el is a library for parsing and generating JSON |
624 (JavaScript Object Notation), a lightweight data-interchange format. | 584 (JavaScript Object Notation), a lightweight data-interchange format. |
625 | 585 |
626 +++ | |
627 ** linum.el is a new minor mode to display line numbers for the | 586 ** linum.el is a new minor mode to display line numbers for the |
628 current buffer. | 587 current buffer. |
629 | 588 |
630 ** mairix.el is an interface to mairix, a free tool for indexing and | 589 ** mairix.el is an interface to mairix, a free tool for indexing and |
631 searching locally stored mail. It allows you to query mairix and | 590 searching locally stored mail. It allows you to query mairix and |
633 is an existing Gnus back end, nnmairix.el, which should be used with | 592 is an existing Gnus back end, nnmairix.el, which should be used with |
634 Maildir/MH setups. | 593 Maildir/MH setups. |
635 | 594 |
636 ** minibuffer-depth-indicate-mode shows the minibuffer depth in the prompt. | 595 ** minibuffer-depth-indicate-mode shows the minibuffer depth in the prompt. |
637 | 596 |
638 +++ | |
639 ** nXML Mode | 597 ** nXML Mode |
640 This is a new mode for editing XML documents. It allows a schema to | 598 This is a new mode for editing XML documents. It allows a schema to |
641 be associated with the XML document being edited, using Relax NG as | 599 be associated with the XML document being edited, using Relax NG as |
642 the schema language. The schema is used to provide two key features: | 600 the schema language. The schema is used to provide two key features: |
643 | 601 |
659 Notes can be saved to a Diary file. For details, see the Remember | 617 Notes can be saved to a Diary file. For details, see the Remember |
660 Manual. | 618 Manual. |
661 | 619 |
662 ** RST mode is a major mode for editing reStructuredText files. | 620 ** RST mode is a major mode for editing reStructuredText files. |
663 | 621 |
664 +++ | |
665 ** Ruby mode is a major mode for Ruby files. | 622 ** Ruby mode is a major mode for Ruby files. |
666 | 623 |
667 +++ | |
668 ** Visual Line mode provides support for editing by visual lines. | 624 ** Visual Line mode provides support for editing by visual lines. |
669 It turns on word-wrapping in the current buffer, and rebinds C-a, C-e, | 625 It turns on word-wrapping in the current buffer, and rebinds C-a, C-e, |
670 and C-k to commands that operate by visual lines instead of logical | 626 and C-k to commands that operate by visual lines instead of logical |
671 lines. This is a more reliable replacement for longlines-mode. | 627 lines. This is a more reliable replacement for longlines-mode. |
672 This can also be turned on using the menu bar, via | 628 This can also be turned on using the menu bar, via |
693 | 649 |
694 | 650 |
695 * Changes in Specialized Modes and Packages in Emacs 23.1 | 651 * Changes in Specialized Modes and Packages in Emacs 23.1 |
696 | 652 |
697 ** Abbrev has been rewritten in Elisp and extended with more flexibility. | 653 ** Abbrev has been rewritten in Elisp and extended with more flexibility. |
698 +++ | 654 |
699 *** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put, | 655 *** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put, |
700 abbrev-table-p, abbrev-insert, abbrev-table-menu. | 656 abbrev-table-p, abbrev-insert, abbrev-table-menu. |
701 +++ | 657 |
702 *** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'. | 658 *** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'. |
703 +++ | 659 |
704 *** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take | 660 *** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take |
705 extra arguments for arbitrary properties. | 661 extra arguments for arbitrary properties. |
706 +++ | 662 |
707 *** New variable `abbrev-minor-mode-table-alist'. | 663 *** New variable `abbrev-minor-mode-table-alist'. |
708 +++ | 664 |
709 *** `local-abbrev-table' can hold a list of abbrev-tables. | 665 *** `local-abbrev-table' can hold a list of abbrev-tables. |
710 +++ | 666 |
711 *** Abbrevs have now the following special properties: | 667 *** Abbrevs have now the following special properties: |
712 `:count', `:system', `:enable-function', `:case-fixed'. | 668 `:count', `:system', `:enable-function', `:case-fixed'. |
713 +++ | 669 |
714 *** Abbrev-tables have now the following special properties: | 670 *** Abbrev-tables have now the following special properties: |
715 `:parents', `:case-fixed', `:enable-function', `:regexp', | 671 `:parents', `:case-fixed', `:enable-function', `:regexp', |
716 `abbrev-table-modiff'. | 672 `abbrev-table-modiff'. |
717 | 673 |
718 ** Apropos | 674 ** Apropos |
675 | |
719 *** `apropos-library' describes the elements defined in a given library. | 676 *** `apropos-library' describes the elements defined in a given library. |
677 | |
720 *** Set `apropos-compact-layout' is you want a more compact (but wider) layout. | 678 *** Set `apropos-compact-layout' is you want a more compact (but wider) layout. |
721 | 679 |
722 +++ | |
723 ** Archive Mode has basic support to browse Rar archives. | 680 ** Archive Mode has basic support to browse Rar archives. |
724 Note, however, that the free version of the unrar command only handles | 681 Note, however, that the free version of the unrar command only handles |
725 versions 1 and 2 of the Rar format. | 682 versions 1 and 2 of the Rar format. |
726 | 683 |
727 --- | |
728 ** BibTeX mode | 684 ** BibTeX mode |
729 | 685 |
730 *** New command `bibtex-initialize' (re)initializes BibTeX buffers. | 686 *** New command `bibtex-initialize' (re)initializes BibTeX buffers. |
731 | 687 |
732 *** New `bibtex-entry-format' options `whitespace', `braces', and | 688 *** New `bibtex-entry-format' options `whitespace', `braces', and |
737 | 693 |
738 *** Command `bibtex-url' allows multiple URLs per entry. | 694 *** Command `bibtex-url' allows multiple URLs per entry. |
739 | 695 |
740 ** Calendar and diary | 696 ** Calendar and diary |
741 | 697 |
742 +++ | |
743 *** There is a new date style, `iso', essentially year/month/day. | 698 *** There is a new date style, `iso', essentially year/month/day. |
744 The variable `european-calendar-style' is obsolete - use `calendar-date-style'. | 699 The variable `european-calendar-style' is obsolete - use `calendar-date-style'. |
745 Similarly, the commands `american-calendar' and `european-calendar' | 700 Similarly, the commands `american-calendar' and `european-calendar' |
746 should be replaced by `calendar-set-date-style'. | 701 should be replaced by `calendar-set-date-style'. |
747 | 702 |
748 +++ | |
749 *** The calendar namespace has been rationalized. | 703 *** The calendar namespace has been rationalized. |
750 All functions and variables now begin with a `calendar-', `diary-', or | 704 All functions and variables now begin with a `calendar-', `diary-', or |
751 `holiday-' prefix. The various calendar systems have secondary | 705 `holiday-' prefix. The various calendar systems have secondary |
752 prefixes, eg `calendar-french-'. The old names you are likely to use | 706 prefixes, eg `calendar-french-'. The old names you are likely to use |
753 directly still exist, for the time being, as aliases, but please start | 707 directly still exist, for the time being, as aliases, but please start |
754 using the new names. | 708 using the new names. |
755 | 709 |
756 +++ | |
757 *** The whitespace in the calendar layout can be customized. | 710 *** The whitespace in the calendar layout can be customized. |
758 See the variables: | 711 See the variables: |
759 calendar-left-margin, calendar-intermonth-spacing, calendar-column-width, | 712 calendar-left-margin, calendar-intermonth-spacing, calendar-column-width, |
760 calendar-day-header-width, and calendar-day-digit-width. | 713 calendar-day-header-width, and calendar-day-digit-width. |
761 | 714 |
762 +++ | |
763 *** Text (e.g. ISO weeks) can be displayed between the calendar months. | 715 *** Text (e.g. ISO weeks) can be displayed between the calendar months. |
764 See the variables calendar-intermonth-header and calendar-intermonth-text. | 716 See the variables calendar-intermonth-header and calendar-intermonth-text. |
765 | 717 |
766 +++ | |
767 *** The function `holiday-chinese' computes holidays on the Chinese calendar. | 718 *** The function `holiday-chinese' computes holidays on the Chinese calendar. |
768 It has been used to add items to the list `holiday-oriental-holidays'. | 719 It has been used to add items to the list `holiday-oriental-holidays'. |
769 | 720 |
770 --- | |
771 *** `diary-remind' accepts a negative number -DAYS as a shorthand for | 721 *** `diary-remind' accepts a negative number -DAYS as a shorthand for |
772 the list (1 2 ... DAYS). | 722 the list (1 2 ... DAYS). |
773 | 723 |
774 ** Change Log mode | 724 ** Change Log mode |
775 | 725 |
778 | 728 |
779 *** The new command C-c C-c (change-log-goto-source) goes to the | 729 *** The new command C-c C-c (change-log-goto-source) goes to the |
780 source code associated with a log entry. | 730 source code associated with a log entry. |
781 | 731 |
782 ** Compile and grep modes | 732 ** Compile and grep modes |
783 --- | 733 |
784 *** The mode-line entry for the *compilation* and *grep* buffer is color coded. | 734 *** The mode-line entry for the *compilation* and *grep* buffer is color coded. |
785 It has different colors for to show that: (a) the command is still | 735 It has different colors for to show that: (a) the command is still |
786 running, (b) successful completion, (c) error. | 736 running, (b) successful completion, (c) error. |
787 +++ | 737 |
788 *** compilation-auto-jump-to-first-error tells `compile' to jump to | 738 *** compilation-auto-jump-to-first-error tells `compile' to jump to |
789 the first error encountered during compilations. | 739 the first error encountered during compilations. |
790 +++ | 740 |
791 *** compilation-scroll-output accepts a new value, `first-error', which | 741 *** compilation-scroll-output accepts a new value, `first-error', which |
792 says to stop auto scrolling at the first error that occurs. | 742 says to stop auto scrolling at the first error that occurs. |
793 --- | 743 |
794 *** The `cc' alias for C++ files in `grep-file-aliases' has been | 744 *** The `cc' alias for C++ files in `grep-file-aliases' has been |
795 improved. `hh' can be used to match C++ header files and `cchh' both | 745 improved. `hh' can be used to match C++ header files and `cchh' both |
796 C++ sources and headers. | 746 C++ sources and headers. |
797 | 747 |
798 ** Copyright | 748 ** Copyright |
803 | 753 |
804 *** Copyrights can be at the end of the buffer. | 754 *** Copyrights can be at the end of the buffer. |
805 This is controlled by `copyright-at-end-flag' (used by, e.g., change-log-mode). | 755 This is controlled by `copyright-at-end-flag' (used by, e.g., change-log-mode). |
806 | 756 |
807 ** Custom | 757 ** Custom |
808 +++ | 758 |
809 *** defcustom accepts new keyword arguments, `:safe' and `:risky', which | 759 *** defcustom accepts new keyword arguments, `:safe' and `:risky', which |
810 set a variable's `safe-local-variable' and `risky-local-variable' property. | 760 set a variable's `safe-local-variable' and `risky-local-variable' property. |
811 | 761 |
812 ** Diff mode | 762 ** Diff mode |
813 +++ | 763 |
814 *** diff-refine-hunk highlights word-level details of changes in a diff hunk. | 764 *** diff-refine-hunk highlights word-level details of changes in a diff hunk. |
815 It's used automatically as you move through hunks, see | 765 It's used automatically as you move through hunks, see |
816 diff-auto-refine-mode. It is bound to `C-c C-b'. | 766 diff-auto-refine-mode. It is bound to `C-c C-b'. |
817 +++ | 767 |
818 *** diff-add-change-log-entries-other-window iterates through the diff | 768 *** diff-add-change-log-entries-other-window iterates through the diff |
819 buffer and tries to create ChangeLog entries for each change. | 769 buffer and tries to create ChangeLog entries for each change. |
820 It is bound to `C-x 4 A'. | 770 It is bound to `C-x 4 A'. |
821 +++ | 771 |
822 *** Turning on `whitespace-mode' in a diff buffer will show trailing | 772 *** Turning on `whitespace-mode' in a diff buffer will show trailing |
823 whitespace problems in the modified lines. | 773 whitespace problems in the modified lines. |
824 | 774 |
825 ** Dired | 775 ** Dired |
826 +++ | 776 |
827 *** In Dired, C-x C-q now runs the command wdired-change-to-wdired-mode, | 777 *** In Dired, C-x C-q now runs the command wdired-change-to-wdired-mode, |
828 and C-x C-q in wdired-mode exits it with asking a question about | 778 and C-x C-q in wdired-mode exits it with asking a question about |
829 saving changes. | 779 saving changes. |
830 +++ | 780 |
831 *** `&' runs the command `dired-do-async-shell-command' that executes | 781 *** `&' runs the command `dired-do-async-shell-command' that executes |
832 the command asynchronously without the need to manually add ampersand | 782 the command asynchronously without the need to manually add ampersand |
833 to the end of the command. Its output appears in the buffer `*Async Shell | 783 to the end of the command. Its output appears in the buffer `*Async Shell |
834 Command*'. | 784 Command*'. |
835 +++ | 785 |
836 *** `M-s f C-s' and `M-s f M-C-s' run Isearch that matches only at file names. | 786 *** `M-s f C-s' and `M-s f M-C-s' run Isearch that matches only at file names. |
837 When a new user option `dired-isearch-filenames' is t, then even ordinary | 787 When a new user option `dired-isearch-filenames' is t, then even ordinary |
838 Isearch started with `C-s' and `C-M-s' matches only at file names in the | 788 Isearch started with `C-s' and `C-M-s' matches only at file names in the |
839 Dired buffer. When `dired-isearch-filenames' is `dwim' then activation of | 789 Dired buffer. When `dired-isearch-filenames' is `dwim' then activation of |
840 file name Isearch depends on the position of point - if point is on a file | 790 file name Isearch depends on the position of point - if point is on a file |
841 name initially, then Isearch matches only file names, otherwise it matches | 791 name initially, then Isearch matches only file names, otherwise it matches |
842 everywhere in the Dired buffer. You can toggle file names matching on or | 792 everywhere in the Dired buffer. You can toggle file names matching on or |
843 off by typing `M-s f' in Isearch mode. | 793 off by typing `M-s f' in Isearch mode. |
844 +++ | 794 |
845 *** `M-s a C-s' and `M-s a M-C-s' run multi-file Isearch on the marked files. | 795 *** `M-s a C-s' and `M-s a M-C-s' run multi-file Isearch on the marked files. |
846 They visit the first marked file in the sequence and display the usual Isearch | 796 They visit the first marked file in the sequence and display the usual Isearch |
847 prompt for a string or a regexp where all Isearch commands are available. | 797 prompt for a string or a regexp where all Isearch commands are available. |
848 --- | 798 |
849 *** `Q' in Dired provides two new keys for multi-file replacement. | 799 *** `Q' in Dired provides two new keys for multi-file replacement. |
850 The upper case key `Y' replaces all remaining matches in all remaining files | 800 The upper case key `Y' replaces all remaining matches in all remaining files |
851 with no more questions. The upper case key `N' stops doing replacements | 801 with no more questions. The upper case key `N' stops doing replacements |
852 in the current file and skips to the next file. These multi-file keys | 802 in the current file and skips to the next file. These multi-file keys |
853 are available for all commands that use `tags-query-replace' | 803 are available for all commands that use `tags-query-replace' |
854 including `dired-do-query-replace-regexp', `vc-dir-query-replace-regexp', | 804 including `dired-do-query-replace-regexp', `vc-dir-query-replace-regexp', |
855 `reftex-query-replace-document'. | 805 `reftex-query-replace-document'. |
856 | 806 |
857 ** Fortran | 807 ** Fortran |
858 +++ | 808 |
859 *** The line length of fixed-form Fortran is not fixed at 72 any more. | 809 *** The line length of fixed-form Fortran is not fixed at 72 any more. |
860 Customize the variable `fortran-line-length' to change it. | 810 Customize the variable `fortran-line-length' to change it. |
861 | 811 |
862 +++ | |
863 *** In Fortran mode, M-; is now bound to the standard comment-dwim, | 812 *** In Fortran mode, M-; is now bound to the standard comment-dwim, |
864 rather than fortran-indent-comment. | 813 rather than fortran-indent-comment. |
865 | 814 |
866 +++ | |
867 *** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax. | 815 *** (The increasingly misnamed) F90 mode supports Fortran 2003 syntax. |
868 | 816 |
869 ** Gnus | 817 ** Gnus |
870 | 818 |
871 *** The Gnus package has been updated | 819 *** The Gnus package has been updated |
881 Gnus can use `auth-source' for POP and IMAP passwords. Also see that | 829 Gnus can use `auth-source' for POP and IMAP passwords. Also see that |
882 `smtpmail' and `url' support `auth-source' for SMTP and HTTP/HTTPS/RSS | 830 `smtpmail' and `url' support `auth-source' for SMTP and HTTP/HTTPS/RSS |
883 authentication respectively. | 831 authentication respectively. |
884 | 832 |
885 ** Help mode | 833 ** Help mode |
886 +++ | 834 |
887 *** New macro `with-help-window' should set up help windows better | 835 *** New macro `with-help-window' should set up help windows better |
888 than `with-output-to-temp-buffer' with `print-help-return-message'. | 836 than `with-output-to-temp-buffer' with `print-help-return-message'. |
889 | 837 |
890 *** New option `help-window-select' permits to customize whether help | 838 *** New option `help-window-select' permits to customize whether help |
891 window shall be automatically selected when invoking help. | 839 window shall be automatically selected when invoking help. |
892 | 840 |
893 *** New variable `help-window-point-marker' permits one to specify a new | 841 *** New variable `help-window-point-marker' permits one to specify a new |
894 position for point in help window (for example in `view-lossage'). | 842 position for point in help window (for example in `view-lossage'). |
895 | 843 |
896 ** Isearch | 844 ** Isearch |
897 +++ | 845 |
898 *** New command `isearch-forward-word' bound globally to `M-s w' starts | 846 *** New command `isearch-forward-word' bound globally to `M-s w' starts |
899 incremental word search. New command `isearch-toggle-word' bound to the | 847 incremental word search. New command `isearch-toggle-word' bound to the |
900 same key `M-s w' in Isearch mode toggles word searching on or off | 848 same key `M-s w' in Isearch mode toggles word searching on or off |
901 while Isearch is active. | 849 while Isearch is active. |
902 | 850 |
903 *** New command `isearch-highlight-regexp' bound to `M-s h r' in Isearch | 851 *** New command `isearch-highlight-regexp' bound to `M-s h r' in Isearch |
904 mode runs `highlight-regexp' (`hi-lock-face-buffer') with the current | 852 mode runs `highlight-regexp' (`hi-lock-face-buffer') with the current |
905 search string as its regexp argument. The same key `M-s h r' and | 853 search string as its regexp argument. The same key `M-s h r' and |
906 other keys on the `M-s h' prefix are bound globally to the command | 854 other keys on the `M-s h' prefix are bound globally to the command |
907 `highlight-regexp' and other hi-lock commands. | 855 `highlight-regexp' and other hi-lock commands. |
908 +++ | 856 |
909 *** New command `isearch-occur' bound to `M-s o' in Isearch mode | 857 *** New command `isearch-occur' bound to `M-s o' in Isearch mode |
910 runs `occur' with the current search string. The same key `M-s o' | 858 runs `occur' with the current search string. The same key `M-s o' |
911 is bound globally to the command `occur'. | 859 is bound globally to the command `occur'. |
912 --- | 860 |
913 *** Isearch can now search through multiple ChangeLog files. | 861 *** Isearch can now search through multiple ChangeLog files. |
914 When running Isearch in a ChangeLog file, if the search fails, | 862 When running Isearch in a ChangeLog file, if the search fails, |
915 then another C-s tries searching the previous ChangeLog, | 863 then another C-s tries searching the previous ChangeLog, |
916 if there is one (e.g. going from ChangeLog to ChangeLog.12). | 864 if there is one (e.g. going from ChangeLog to ChangeLog.12). |
917 This is enabled if multi-isearch-search is non-nil. | 865 This is enabled if multi-isearch-search is non-nil. |
918 | 866 |
919 *** Two new commands to start Isearch on a list of marked buffers | 867 *** Two new commands to start Isearch on a list of marked buffers |
920 for buff-menu.el and ibuffer.el are bound to the keys `M-s a C-s' and | 868 for buff-menu.el and ibuffer.el are bound to the keys `M-s a C-s' and |
921 `M-s a M-C-s'. | 869 `M-s a M-C-s'. |
922 +++ | 870 |
923 *** The part of an Isearch that failed to match is highlighted in | 871 *** The part of an Isearch that failed to match is highlighted in |
924 `isearch-fail' face. | 872 `isearch-fail' face. |
925 | 873 |
926 *** `C-h C-h' in Isearch mode displays isearch-specific Help screen, | 874 *** `C-h C-h' in Isearch mode displays isearch-specific Help screen, |
927 `C-h b' displays all Isearch key bindings, `C-h k' displays the full | 875 `C-h b' displays all Isearch key bindings, `C-h k' displays the full |
928 documentation of the given Isearch key sequence, `C-h m' displays | 876 documentation of the given Isearch key sequence, `C-h m' displays |
929 documentation of Isearch mode. All the rest Help commands exit Isearch mode | 877 documentation of Isearch mode. All the rest Help commands exit Isearch mode |
930 and execute their global definitions. | 878 and execute their global definitions. |
931 +++ | 879 |
932 *** When started in the minibuffer, Isearch searches in the minibuffer | 880 *** When started in the minibuffer, Isearch searches in the minibuffer |
933 history. See `Minibuffer changes', above. | 881 history. See `Minibuffer changes', above. |
934 | 882 |
935 +++ | |
936 ** MH-E | 883 ** MH-E |
937 | 884 |
938 *** Upgraded to MH-E version 8.2. See MH-E-NEWS for details. | 885 *** Upgraded to MH-E version 8.2. See MH-E-NEWS for details. |
939 | 886 |
940 ** Python | 887 ** Python |
952 remote files, if there is no established connection to the | 899 remote files, if there is no established connection to the |
953 corresponding remote host. | 900 corresponding remote host. |
954 | 901 |
955 ** Rmail | 902 ** Rmail |
956 | 903 |
957 +++ | |
958 *** Rmail no longer converts the messages to Babyl format. | 904 *** Rmail no longer converts the messages to Babyl format. |
959 Instead, it uses UNIX mbox format, both on disk and in Rmail buffers, | 905 Instead, it uses UNIX mbox format, both on disk and in Rmail buffers, |
960 and does conversion and decoding when a message is displayed. | 906 and does conversion and decoding when a message is displayed. |
961 | 907 |
962 The first time you visit an Rmail file in Babyl format, Rmail | 908 The first time you visit an Rmail file in Babyl format, Rmail |
992 | 938 |
993 `rmail-apply-in-message' is a general purpose function that calls a | 939 `rmail-apply-in-message' is a general purpose function that calls a |
994 function (with arguments) which you specify on the full text of a given | 940 function (with arguments) which you specify on the full text of a given |
995 message. To further narrow to just the headers, search forward for "\n\n". | 941 message. To further narrow to just the headers, search forward for "\n\n". |
996 | 942 |
997 +++ | |
998 *** The new command `rmail-mime' displays MIME messages. | 943 *** The new command `rmail-mime' displays MIME messages. |
999 It is bound to `v' in Rmail buffers and summaries. It displays plain | 944 It is bound to `v' in Rmail buffers and summaries. It displays plain |
1000 text and multipart messages in a temporary buffer, and offers buttons | 945 text and multipart messages in a temporary buffer, and offers buttons |
1001 to save attachments. | 946 to save attachments. |
1002 | 947 |
1003 --- | |
1004 *** The command `rmail-redecode-body' no longer accepts the optional arg RAW. | 948 *** The command `rmail-redecode-body' no longer accepts the optional arg RAW. |
1005 Since Rmail now holds messages in their original undecoded form in a | 949 Since Rmail now holds messages in their original undecoded form in a |
1006 separate buffer, `rmail-redecode-body' no longer encodes the original | 950 separate buffer, `rmail-redecode-body' no longer encodes the original |
1007 message, and therefore there should be no need to avoid encoding it. | 951 message, and therefore there should be no need to avoid encoding it. |
1008 | 952 |
1009 +++ | |
1010 *** The o command is now `rmail-output'. It is an all-purpose command | 953 *** The o command is now `rmail-output'. It is an all-purpose command |
1011 for copying messages from Rmail and appending them to files. It | 954 for copying messages from Rmail and appending them to files. It |
1012 handles Babyl-format files as well as mbox-format files, and it | 955 handles Babyl-format files as well as mbox-format files, and it |
1013 handles both kinds properly when they are visited in Emacs. It always | 956 handles both kinds properly when they are visited in Emacs. It always |
1014 copies the full headers of the message. | 957 copies the full headers of the message. |
1015 | 958 |
1016 +++ | |
1017 *** The C-o command is now `rmail-output-as-seen'. It uses | 959 *** The C-o command is now `rmail-output-as-seen'. It uses |
1018 the message as displayed, appending it to an mbox file. | 960 the message as displayed, appending it to an mbox file. |
1019 | 961 |
1020 --- | |
1021 *** The modified status of the Rmail buffer is reported in the mode-line. | 962 *** The modified status of the Rmail buffer is reported in the mode-line. |
1022 Previously, this information was hidden. | 963 Previously, this information was hidden. |
1023 | 964 |
1024 ** TeX modes | 965 ** TeX modes |
1025 --- | 966 |
1026 *** New option latex-indent-within-escaped-parens | 967 *** New option latex-indent-within-escaped-parens |
1027 permits to customize indentation of LaTeX environments delimited | 968 permits to customize indentation of LaTeX environments delimited |
1028 by escaped parens. | 969 by escaped parens. |
1029 | 970 |
1030 ** T-mouse Mode | 971 ** T-mouse Mode |
1031 --- | 972 |
1032 *** If the gpm mouse server is running and t-mouse-mode is enabled, | 973 *** If the gpm mouse server is running and t-mouse-mode is enabled, |
1033 Emacs uses a Unix socket in a GNU/Linux console to talk to server, | 974 Emacs uses a Unix socket in a GNU/Linux console to talk to server, |
1034 rather than faking events using the client program mev. This C level | 975 rather than faking events using the client program mev. This C level |
1035 approach provides mouse highlighting and help echoing in the | 976 approach provides mouse highlighting and help echoing in the |
1036 minibuffer. | 977 minibuffer. |
1037 | 978 |
1038 +++ | |
1039 ** Tramp | 979 ** Tramp |
1040 | 980 |
1041 *** New connection methods. | 981 *** New connection methods. |
1042 The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have | 982 The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have |
1043 been introduced. There are also new so-called gateway methods | 983 been introduced. There are also new so-called gateway methods |
1071 *** Passwords can be read from an authentification file. | 1011 *** Passwords can be read from an authentification file. |
1072 Tramp uses the package `auth-source' to read passwords from a file, if | 1012 Tramp uses the package `auth-source' to read passwords from a file, if |
1073 necessary. | 1013 necessary. |
1074 | 1014 |
1075 ** VC and related modes | 1015 ** VC and related modes |
1076 +++ | 1016 |
1077 *** VC now supports applying VC operations to a set of files at a time. | 1017 *** VC now supports applying VC operations to a set of files at a time. |
1078 This enables VC to work much more effectively with changeset-oriented | 1018 This enables VC to work much more effectively with changeset-oriented |
1079 version-control systems such as Subversion, GNU Arch, Mercurial, Git | 1019 version-control systems such as Subversion, GNU Arch, Mercurial, Git |
1080 and Bzr. VC will now pass a multiple-file commit to these systems as | 1020 and Bzr. VC will now pass a multiple-file commit to these systems as |
1081 a single changeset. | 1021 a single changeset. |
1082 +++ | 1022 |
1083 *** vc-dir is a new command that displays file names and their VC | 1023 *** vc-dir is a new command that displays file names and their VC |
1084 status. It allows to apply various VC operations to a file, a | 1024 status. It allows to apply various VC operations to a file, a |
1085 directory or a set of files/directories. | 1025 directory or a set of files/directories. |
1086 +++ | 1026 |
1087 *** VC switches are no longer appended, rather the first non-nil value is used. | 1027 *** VC switches are no longer appended, rather the first non-nil value is used. |
1088 (This was for the most part true in Emacs 22, but was not advertised). | 1028 (This was for the most part true in Emacs 22, but was not advertised). |
1089 This is because there is an increasing variety of VC systems, and they | 1029 This is because there is an increasing variety of VC systems, and they |
1090 do not all accept the same "common" options. For example, a CVS diff | 1030 do not all accept the same "common" options. For example, a CVS diff |
1091 command used to append the values of `vc-cvs-diff-switches', | 1031 command used to append the values of `vc-cvs-diff-switches', |
1092 `vc-diff-switches', and `diff-switches'. Now the first non-nil value | 1032 `vc-diff-switches', and `diff-switches'. Now the first non-nil value |
1093 from that sequence is used. The special value `t' means "no switches". | 1033 from that sequence is used. The special value `t' means "no switches". |
1094 +++ | 1034 |
1095 *** Clicking on the VC mode-line entry now pops the VC menu. | 1035 *** Clicking on the VC mode-line entry now pops the VC menu. |
1096 +++ | 1036 |
1097 *** The VC mode-line entry now has a tooltip that explains the VC file status. | 1037 *** The VC mode-line entry now has a tooltip that explains the VC file status. |
1098 | 1038 |
1099 *** In VC Annotate mode, the key bindings have changed to use lower | 1039 *** In VC Annotate mode, the key bindings have changed to use lower |
1100 case keys instead of the upper case keys used in the past. | 1040 case keys instead of the upper case keys used in the past. |
1101 +++ | 1041 |
1102 *** In VC Annotate mode, for VC systems that support changesets, you can | 1042 *** In VC Annotate mode, for VC systems that support changesets, you can |
1103 see the diff for the whole changeset (not only for the current file) | 1043 see the diff for the whole changeset (not only for the current file) |
1104 by typing the D key. Using the "Show changeset diff of revision at | 1044 by typing the D key. Using the "Show changeset diff of revision at |
1105 line" menu entry does the same thing. | 1045 line" menu entry does the same thing. |
1106 +++ | 1046 |
1107 *** In VC Annotate mode, you can type v to toggle the annotation visibility. | 1047 *** In VC Annotate mode, you can type v to toggle the annotation visibility. |
1108 +++ | 1048 |
1109 *** In VC Annotate mode, you can type f to show the file revision on | 1049 *** In VC Annotate mode, you can type f to show the file revision on |
1110 the current line. | 1050 the current line. |
1111 --- | 1051 |
1112 *** Asynchronous VC commands display [Waiting...] in the mode-line | 1052 *** Asynchronous VC commands display [Waiting...] in the mode-line |
1113 of the corresponding buffer as long as the asynchronous process is | 1053 of the corresponding buffer as long as the asynchronous process is |
1114 active. | 1054 active. |
1115 +++ | 1055 |
1116 *** Log entries can be modified using the key "e" in log-view. | 1056 *** Log entries can be modified using the key "e" in log-view. |
1117 For now only CVS, RCS, SCCS and SVN support this functionality. | 1057 For now only CVS, RCS, SCCS and SVN support this functionality. |
1118 This is done by the `modify-change-comment' backend function. | 1058 This is done by the `modify-change-comment' backend function. |
1119 +++ | 1059 |
1120 *** In log-view-mode, for VC systems that support changesets, you can | 1060 *** In log-view-mode, for VC systems that support changesets, you can |
1121 see the diff for the whole changeset (not only for the current file) | 1061 see the diff for the whole changeset (not only for the current file) |
1122 by typing the D key or using the "Changeset Diff" menu entry. | 1062 by typing the D key or using the "Changeset Diff" menu entry. |
1123 +++ | 1063 |
1124 *** In Log Edit mode, C-c C-d now shows the diff for the files involved. | 1064 *** In Log Edit mode, C-c C-d now shows the diff for the files involved. |
1125 | 1065 |
1126 *** vc-git supports the "git grep" command. | 1066 *** vc-git supports the "git grep" command. |
1127 +++ | 1067 |
1128 *** VC Support for Meta-CVS has been removed for lack of a maintainer able | 1068 *** VC Support for Meta-CVS has been removed for lack of a maintainer able |
1129 to update it to the new VC. | 1069 to update it to the new VC. |
1130 | 1070 |
1131 ** Miscellaneous | 1071 ** Miscellaneous |
1132 | 1072 |
1133 *** comint-mode uses `start-file-process' now (see Lisp Changes). | 1073 *** comint-mode uses `start-file-process' now (see Lisp Changes). |
1134 If `default-directory' is a remote file name, subprocesses are started | 1074 If `default-directory' is a remote file name, subprocesses are started |
1135 on the corresponding remote system. | 1075 on the corresponding remote system. |
1136 --- | 1076 |
1137 *** Eldoc highlights the function argument under point | 1077 *** Eldoc highlights the function argument under point |
1138 with the face `eldoc-highlight-function-argument'. | 1078 with the face `eldoc-highlight-function-argument'. |
1139 +++ | 1079 |
1140 *** In Etags, the --members option is now the default. | 1080 *** In Etags, the --members option is now the default. |
1141 Use --no-members if you want the old default behavior of not tagging | 1081 Use --no-members if you want the old default behavior of not tagging |
1142 struct members in C, members variables in C++ and variables in PHP. | 1082 struct members in C, members variables in C++ and variables in PHP. |
1143 +++ | 1083 |
1144 *** The `gdb' command only works with the graphical interface now. | 1084 *** The `gdb' command only works with the graphical interface now. |
1145 Use `gud-gdb' if you want the (old) text command mode. | 1085 Use `gud-gdb' if you want the (old) text command mode. |
1146 | 1086 |
1147 *** goto-address.el provides two new minor modes, goto-address-mode and | 1087 *** goto-address.el provides two new minor modes, goto-address-mode and |
1148 goto-address-prog-mode, which buttonize URLS and email addresses. | 1088 goto-address-prog-mode, which buttonize URLS and email addresses. |
1149 | 1089 |
1150 *** The new command `eshell/info' runs info in an eshell buffer. | 1090 *** The new command `eshell/info' runs info in an eshell buffer. |
1151 | 1091 |
1152 *** The new variable `ffap-rfc-directories' specifies a list of local | 1092 *** The new variable `ffap-rfc-directories' specifies a list of local |
1153 directories in which `ffap-rfc' will first search for RFCs. | 1093 directories in which `ffap-rfc' will first search for RFCs. |
1154 +++ | 1094 |
1155 *** hide-ifdef-mode allows shadowing ifdef-blocks instead of hiding them. | 1095 *** hide-ifdef-mode allows shadowing ifdef-blocks instead of hiding them. |
1156 See option `hide-ifdef-shadow' and function `hide-ifdef-toggle-shadowing'. | 1096 See option `hide-ifdef-shadow' and function `hide-ifdef-toggle-shadowing'. |
1157 | 1097 |
1158 *** `icomplete-prospects-height' now supercedes `icomplete-prospects-length'. | 1098 *** `icomplete-prospects-height' now supercedes `icomplete-prospects-length'. |
1159 | 1099 |
1182 tex-font-script-display, tex-suscript-height-ratio, and | 1122 tex-font-script-display, tex-suscript-height-ratio, and |
1183 tex-suscript-height-minimum. | 1123 tex-suscript-height-minimum. |
1184 | 1124 |
1185 *** view-remove-frame-by-deleting is now by default t | 1125 *** view-remove-frame-by-deleting is now by default t |
1186 since users found iconification of view-mode frames distracting. | 1126 since users found iconification of view-mode frames distracting. |
1187 --- | 1127 |
1188 *** WoMan tries to add locale-specific manual page directories to the | 1128 *** WoMan tries to add locale-specific manual page directories to the |
1189 search path. This can be disabled by setting `woman-locale' to nil. | 1129 search path. This can be disabled by setting `woman-locale' to nil. |
1190 | 1130 |
1191 | 1131 |
1192 * Changes in Emacs 23.1 on non-free operating systems | 1132 * Changes in Emacs 23.1 on non-free operating systems |
1195 The default value of `completion-ignore-case' is now nil on | 1135 The default value of `completion-ignore-case' is now nil on |
1196 MS-Windows, the same as it is for other operating systems. The | 1136 MS-Windows, the same as it is for other operating systems. The |
1197 variable doesn't apply to reading a file name -- in that case Emacs | 1137 variable doesn't apply to reading a file name -- in that case Emacs |
1198 heeds `read-file-name-completion-ignore-case' instead. | 1138 heeds `read-file-name-completion-ignore-case' instead. |
1199 | 1139 |
1200 --- | |
1201 ** IPv6 is supported on MS-Windows. | 1140 ** IPv6 is supported on MS-Windows. |
1202 Emacs now supports IPv6 on Windows XP and later, and earlier versions | 1141 Emacs now supports IPv6 on Windows XP and later, and earlier versions |
1203 of Windows with third party IPv6 stacks installed. In Emacs 22, IPv6 was | 1142 of Windows with third party IPv6 stacks installed. In Emacs 22, IPv6 was |
1204 supported on other platforms, but not on Windows due to using the winsock | 1143 supported on other platforms, but not on Windows due to using the winsock |
1205 1.1 header file, even though Emacs was linking to the winsock 2 library. | 1144 1.1 header file, even though Emacs was linking to the winsock 2 library. |
1206 | 1145 |
1207 --- | |
1208 ** Busy cursor (hourglass) now displays on MS-Windows. | 1146 ** Busy cursor (hourglass) now displays on MS-Windows. |
1209 When Emacs is busy, an hourglass mouse cursor is displayed on Windows. | 1147 When Emacs is busy, an hourglass mouse cursor is displayed on Windows. |
1210 In Emacs 22 only X supported the busy cursor. | 1148 In Emacs 22 only X supported the busy cursor. |
1211 | 1149 |
1212 --- | |
1213 ** Battery status is available on MS-Windows | 1150 ** Battery status is available on MS-Windows |
1214 Emacs can now display the battery status in the mode-line when enabled with | 1151 Emacs can now display the battery status in the mode-line when enabled with |
1215 display-battery-mode or from the Options menu. More verbose battery | 1152 display-battery-mode or from the Options menu. More verbose battery |
1216 information is also available with the command `battery'. In Emacs 22 | 1153 information is also available with the command `battery'. In Emacs 22 |
1217 battery status was supported only on GNU/Linux and Mac. | 1154 battery status was supported only on GNU/Linux and Mac. |
1240 freetype library, giving access to a wider range of font formats. | 1177 freetype library, giving access to a wider range of font formats. |
1241 | 1178 |
1242 | 1179 |
1243 * Incompatible Lisp Changes in Emacs 23.1 | 1180 * Incompatible Lisp Changes in Emacs 23.1 |
1244 | 1181 |
1245 +++ | |
1246 ** Variables cannot be both buffer-local and frame-local any more. | 1182 ** Variables cannot be both buffer-local and frame-local any more. |
1247 | 1183 |
1248 +++ | |
1249 ** `functionp' returns nil for special forms. | 1184 ** `functionp' returns nil for special forms. |
1250 I.e., it only returns t for objects that can be passed to `funcall'. | 1185 I.e., it only returns t for objects that can be passed to `funcall'. |
1251 | 1186 |
1252 +++ | |
1253 ** The behavior of map-char-table has changed. It may call the | 1187 ** The behavior of map-char-table has changed. It may call the |
1254 specified function with a cons (FROM . TO) as a key if characters in | 1188 specified function with a cons (FROM . TO) as a key if characters in |
1255 that range have the same value. | 1189 that range have the same value. |
1256 | 1190 |
1257 ** Process changes | 1191 ** Process changes |
1258 +++ | 1192 |
1259 *** The function `dired-call-process' has been removed. | 1193 *** The function `dired-call-process' has been removed. |
1260 +++ | 1194 |
1261 *** The multibyteness of process filters is now determined by the | 1195 *** The multibyteness of process filters is now determined by the |
1262 coding-system used for decoding. The functions | 1196 coding-system used for decoding. The functions |
1263 `process-filter-multibyte-p' and `set-process-filter-multibyte' are | 1197 `process-filter-multibyte-p' and `set-process-filter-multibyte' are |
1264 obsolete. | 1198 obsolete. |
1265 | 1199 |
1266 --- | |
1267 ** The variable `byte-compile-warnings' can now be a list starting with `not', | 1200 ** The variable `byte-compile-warnings' can now be a list starting with `not', |
1268 meaning to disable the specified warnings. The meaning of this list | 1201 meaning to disable the specified warnings. The meaning of this list |
1269 may therefore be the reverse of what you expect (of course, this is | 1202 may therefore be the reverse of what you expect (of course, this is |
1270 only an issue if you make use of the new `not' syntax). Rather than | 1203 only an issue if you make use of the new `not' syntax). Rather than |
1271 checking/manipulating elements directly, use the new functions | 1204 checking/manipulating elements directly, use the new functions |
1272 `byte-compile-warning-enabled-p', `byte-compile-disable-warning', and | 1205 `byte-compile-warning-enabled-p', `byte-compile-disable-warning', and |
1273 `byte-compile-enable-warning.' | 1206 `byte-compile-enable-warning.' |
1274 | 1207 |
1275 +++ | |
1276 ** `mode-name' is no longer guaranteed to be a string. | 1208 ** `mode-name' is no longer guaranteed to be a string. |
1277 Use `(format-mode-line mode-name)' to ensure a string value. | 1209 Use `(format-mode-line mode-name)' to ensure a string value. |
1278 | 1210 |
1279 +++ | |
1280 ** The function x-font-family-list has been removed. | 1211 ** The function x-font-family-list has been removed. |
1281 Use the new function font-family-list (see Lisp Changes, below). | 1212 Use the new function font-family-list (see Lisp Changes, below). |
1282 | 1213 |
1283 ** Internationalization changes | 1214 ** Internationalization changes |
1284 | 1215 |
1285 *** The value of the function `charset-id' is now always 0. | 1216 *** The value of the function `charset-id' is now always 0. |
1286 +++ | 1217 |
1287 *** The functions `register-char-codings' and `coding-system-spec' | 1218 *** The functions `register-char-codings' and `coding-system-spec' |
1288 have been removed. | 1219 have been removed. |
1289 +++ | 1220 |
1290 *** The cpXXX coding systems are now supported automatically. | 1221 *** The cpXXX coding systems are now supported automatically. |
1291 The functions cp-...-codepage, which you had to use in Emacs 22 to | 1222 The functions cp-...-codepage, which you had to use in Emacs 22 to |
1292 enable support for these coding systems, have been deleted. | 1223 enable support for these coding systems, have been deleted. |
1293 --- | 1224 |
1294 *** The following features have been removed. They were used for | 1225 *** The following features have been removed. They were used for |
1295 displaying various scripts with specific fonts, and are no longer | 1226 displaying various scripts with specific fonts, and are no longer |
1296 needed now that OpenType font support is available: | 1227 needed now that OpenType font support is available: |
1297 | 1228 |
1298 **** `devanagari' and `devan-util', and all associated devanagari-* and | 1229 **** `devanagari' and `devan-util', and all associated devanagari-* and |
1313 | 1244 |
1314 *** The meaning of FONTSET argument of `print-fontset' is changed. | 1245 *** The meaning of FONTSET argument of `print-fontset' is changed. |
1315 Now, nil is for the fontset of the selected frame and t is for the | 1246 Now, nil is for the fontset of the selected frame and t is for the |
1316 default fontset. | 1247 default fontset. |
1317 | 1248 |
1318 --- | 1249 ** If a function in write-region-annotate-functions returns with a |
1250 different buffer current, Emacs no longer kills that buffer | |
1251 automatically. This behavior existed in previous versions of Emacs, | |
1252 but was undocumented. To kill a buffer after write-region, give the | |
1253 variable `write-region-post-annotation-function' a buffer-local value | |
1254 of `kill-buffer'. | |
1255 | |
1319 ** The variable temp-file-name-pattern has been removed. | 1256 ** The variable temp-file-name-pattern has been removed. |
1320 This variable was only used by call-process-region, which now uses | 1257 This variable was only used by call-process-region, which now uses |
1321 temporary-file-directory instead. | 1258 temporary-file-directory instead. |
1322 | 1259 |
1323 +++ | |
1324 ** The COUNT and SYSTEM-FLAG arguments to define-abbrev have been | 1260 ** The COUNT and SYSTEM-FLAG arguments to define-abbrev have been |
1325 removed. The function now takes extra arguments for specifying | 1261 removed. The function now takes extra arguments for specifying |
1326 arbitrary abbrev properties. | 1262 arbitrary abbrev properties. |
1327 | 1263 |
1328 ** end-of-defun-function is now guaranteed to work only when called | 1264 ** end-of-defun-function is now guaranteed to work only when called |
1331 whitespace after calling it. | 1267 whitespace after calling it. |
1332 | 1268 |
1333 | 1269 |
1334 * Lisp Changes in Emacs 23.1 | 1270 * Lisp Changes in Emacs 23.1 |
1335 | 1271 |
1336 +++ | |
1337 ** The new variable `generate-autoload-cookie' controls the magic comment | 1272 ** The new variable `generate-autoload-cookie' controls the magic comment |
1338 string used by `update-file-autoloads' to find autoloaded forms. The | 1273 string used by `update-file-autoloads' to find autoloaded forms. The |
1339 variable `generated-autoload-file' similarly controls the name of the | 1274 variable `generated-autoload-file' similarly controls the name of the |
1340 file where `update-file-autoloads' writes the calls to `autoload'. | 1275 file where `update-file-autoloads' writes the calls to `autoload'. |
1341 The default values are ";;;###autoload" and `loaddefs.el', | 1276 The default values are ";;;###autoload" and `loaddefs.el', |
1342 respectively. | 1277 respectively. |
1343 | 1278 |
1344 +++ | |
1345 ** New primitives `list-system-processes' and `process-attributes' | 1279 ** New primitives `list-system-processes' and `process-attributes' |
1346 let Lisp programs access the processes that are running on the local | 1280 let Lisp programs access the processes that are running on the local |
1347 machine. See the doc strings of these functions for more details. | 1281 machine. See the doc strings of these functions for more details. |
1348 Not all platforms support accessing this information; on those that | 1282 Not all platforms support accessing this information; on those that |
1349 don't, these primitives will return nil. | 1283 don't, these primitives will return nil. |
1350 | 1284 |
1351 +++ | |
1352 ** New variable `user-emacs-directory'. | 1285 ** New variable `user-emacs-directory'. |
1353 Use this instead of "~/.emacs.d". | 1286 Use this instead of "~/.emacs.d". |
1354 | 1287 |
1355 +++ | |
1356 ** If a local hook function has a non-nil `permanent-local-hook' | 1288 ** If a local hook function has a non-nil `permanent-local-hook' |
1357 property, `kill-all-local-variables' does not remove it from the local | 1289 property, `kill-all-local-variables' does not remove it from the local |
1358 value of the hook variable; it remains even if you change major modes. | 1290 value of the hook variable; it remains even if you change major modes. |
1359 | 1291 |
1360 +++ | |
1361 ** `frame-inherited-parameters' lets new frames inherit parameters from | 1292 ** `frame-inherited-parameters' lets new frames inherit parameters from |
1362 the selected frame. | 1293 the selected frame. |
1363 | 1294 |
1364 +++ | |
1365 ** New keymap `input-decode-map' overrides like key-translation-map, but | 1295 ** New keymap `input-decode-map' overrides like key-translation-map, but |
1366 applies before function-key-map. Also it is terminal-local contrary to | 1296 applies before function-key-map. Also it is terminal-local contrary to |
1367 key-translation-map. Terminal-specific key-sequences are generally added to | 1297 key-translation-map. Terminal-specific key-sequences are generally added to |
1368 this map rather than to function-key-map now. | 1298 this map rather than to function-key-map now. |
1369 | 1299 |
1370 +++ | |
1371 ** `ignore-errors' is now a standard macro (does not require the CL package). | 1300 ** `ignore-errors' is now a standard macro (does not require the CL package). |
1372 | 1301 |
1373 +++ | |
1374 ** `interprogram-paste-function' can now return one string or a list | 1302 ** `interprogram-paste-function' can now return one string or a list |
1375 of strings. In the latter case, Emacs puts the second and following | 1303 of strings. In the latter case, Emacs puts the second and following |
1376 strings on the kill ring. | 1304 strings on the kill ring. |
1377 | 1305 |
1378 +++ | |
1379 ** In `condition-case', a handler can specify "let the debugger run first". | 1306 ** In `condition-case', a handler can specify "let the debugger run first". |
1380 You do this by writing `debug' in the list of conditions to be handled, | 1307 You do this by writing `debug' in the list of conditions to be handled, |
1381 like this: | 1308 like this: |
1382 | 1309 |
1383 (condition-case nil | 1310 (condition-case nil |
1384 (foo bar) | 1311 (foo bar) |
1385 ((debug error) nil)) | 1312 ((debug error) nil)) |
1386 | 1313 |
1387 +++ | |
1388 ** clone-indirect-buffer now runs the clone-indirect-buffer-hook. | 1314 ** clone-indirect-buffer now runs the clone-indirect-buffer-hook. |
1389 | 1315 |
1390 +++ | |
1391 ** `beginning-of-defun-function' now takes one argument, the count given to | 1316 ** `beginning-of-defun-function' now takes one argument, the count given to |
1392 `beginning-of-defun'. (N.B. `end-of-defun-function' doesn't take any | 1317 `beginning-of-defun'. (N.B. `end-of-defun-function' doesn't take any |
1393 arguments.) | 1318 arguments.) |
1394 | 1319 |
1395 +++ | |
1396 ** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED. | 1320 ** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED. |
1397 IDENTIFICATION specifies which part of the remote identifier has to be | 1321 IDENTIFICATION specifies which part of the remote identifier has to be |
1398 returned. With CONNECTED passed non-nil, it is checked whether a | 1322 returned. With CONNECTED passed non-nil, it is checked whether a |
1399 remote connection has been established already. | 1323 remote connection has been established already. |
1400 | 1324 |
1401 +++ | |
1402 ** The new macro `declare-function' suppresses compiler warnings about | 1325 ** The new macro `declare-function' suppresses compiler warnings about |
1403 undefined functions. | 1326 undefined functions. |
1404 | 1327 |
1405 ** Changes to interactive function handling | 1328 ** Changes to interactive function handling |
1406 | 1329 |
1407 +++ | |
1408 *** The new interactive spec code ^ says to first call | 1330 *** The new interactive spec code ^ says to first call |
1409 handle-shift-selection if shift-select-mode is non-nil, before reading | 1331 handle-shift-selection if shift-select-mode is non-nil, before reading |
1410 the command arguments. This is used for shift-selection (see above). | 1332 the command arguments. This is used for shift-selection (see above). |
1411 | 1333 |
1412 +++ | |
1413 *** Built-in functions can now have an interactive specification that | 1334 *** Built-in functions can now have an interactive specification that |
1414 is not a prompt string. If the `intspec' parameter of a `DEFUN' | 1335 is not a prompt string. If the `intspec' parameter of a `DEFUN' |
1415 starts with a `(', the string is evaluated as a Lisp form. | 1336 starts with a `(', the string is evaluated as a Lisp form. |
1416 | 1337 |
1417 +++ | |
1418 *** The interactive-form of a function can be added post-facto via the | 1338 *** The interactive-form of a function can be added post-facto via the |
1419 `interactive-form' symbol property. Mostly useful to add complex | 1339 `interactive-form' symbol property. Mostly useful to add complex |
1420 interactive forms to subroutines. | 1340 interactive forms to subroutines. |
1421 | 1341 |
1422 ** Region changes | 1342 ** Region changes |
1423 | 1343 |
1424 +++ | |
1425 *** Commands should use `use-region-p' to test whether there is | 1344 *** Commands should use `use-region-p' to test whether there is |
1426 an active region that they should operate on. | 1345 an active region that they should operate on. |
1427 | 1346 |
1428 *** `region-active-p' returns non-nil when Transient Mark mode is | 1347 *** `region-active-p' returns non-nil when Transient Mark mode is |
1429 enabled and the mark is active. Most commands that act specially on | 1348 enabled and the mark is active. Most commands that act specially on |
1430 the active region in Transient Mark mode should use `use-region-p' | 1349 the active region in Transient Mark mode should use `use-region-p' |
1431 instead of `region-active-p', because `use-region-p' obeys the new | 1350 instead of `region-active-p', because `use-region-p' obeys the new |
1432 user option `use-empty-active-region' (see Editing Changes, above). | 1351 user option `use-empty-active-region' (see Editing Changes, above). |
1433 | 1352 |
1434 +++ | |
1435 *** If a command sets `transient-mark-mode' to (only . OLDVAL), that | 1353 *** If a command sets `transient-mark-mode' to (only . OLDVAL), that |
1436 means to activate transient-mark-mode temporarily, until the next | 1354 means to activate transient-mark-mode temporarily, until the next |
1437 unshifted point motion command or mark deactivation. Afterwards, | 1355 unshifted point motion command or mark deactivation. Afterwards, |
1438 reset transient-mark-mode to the value OLDVAL. The values `only' and | 1356 reset transient-mark-mode to the value OLDVAL. The values `only' and |
1439 `identity', introduced in Emacs 22, are now deprecated. | 1357 `identity', introduced in Emacs 22, are now deprecated. |
1440 | 1358 |
1441 ** Emacs session information | 1359 ** Emacs session information |
1442 | 1360 |
1443 +++ | |
1444 *** The new variables `before-init-time' and `after-init-time' record the | 1361 *** The new variables `before-init-time' and `after-init-time' record the |
1445 value of `current-time' before and after Emacs loads the init files. | 1362 value of `current-time' before and after Emacs loads the init files. |
1446 | 1363 |
1447 +++ | |
1448 *** The new function `emacs-uptime' returns the uptime of an Emacs instance. | 1364 *** The new function `emacs-uptime' returns the uptime of an Emacs instance. |
1449 | 1365 |
1450 +++ | |
1451 *** The new function `emacs-init-time' returns the duration of the | 1366 *** The new function `emacs-init-time' returns the duration of the |
1452 Emacs initialization. | 1367 Emacs initialization. |
1453 | 1368 |
1454 ** Changes affecting display-buffer | 1369 ** Changes affecting display-buffer |
1455 +++ | 1370 |
1456 *** display-buffer tries to be smarter when splitting windows. | 1371 *** display-buffer tries to be smarter when splitting windows. |
1457 The new option split-window-preferred-function lets you specify your own | 1372 The new option split-window-preferred-function lets you specify your own |
1458 function to pop up new windows. Its default value split-window-sensibly | 1373 function to pop up new windows. Its default value split-window-sensibly |
1459 can split a window either vertically or horizontally, whichever seems | 1374 can split a window either vertically or horizontally, whichever seems |
1460 more suitable in the current configuration. You can tune the behavior | 1375 more suitable in the current configuration. You can tune the behavior |
1463 to inhibit splitting in one direction. Setting split-width-threshold to | 1378 to inhibit splitting in one direction. Setting split-width-threshold to |
1464 nil inhibits horizontal splitting and gets you the behavior of Emacs 22 | 1379 nil inhibits horizontal splitting and gets you the behavior of Emacs 22 |
1465 in this respect. In any case, display-buffer may now split the largest | 1380 in this respect. In any case, display-buffer may now split the largest |
1466 window vertically even when it is not as wide as the containing frame. | 1381 window vertically even when it is not as wide as the containing frame. |
1467 | 1382 |
1468 +++ | |
1469 *** If pop-up-frames has the value `graphic-only', display-buffer only | 1383 *** If pop-up-frames has the value `graphic-only', display-buffer only |
1470 makes a separate frame on graphic displays. | 1384 makes a separate frame on graphic displays. |
1471 | 1385 |
1472 +++ | |
1473 *** select-frame and set-frame-selected-window have a new optional | 1386 *** select-frame and set-frame-selected-window have a new optional |
1474 argument NORECORD. If non-nil, this will avoid messing with the order | 1387 argument NORECORD. If non-nil, this will avoid messing with the order |
1475 of recently selected windows and the buffer list. | 1388 of recently selected windows and the buffer list. |
1476 | 1389 |
1477 ** Window parameters can now be defined. | 1390 ** Window parameters can now be defined. |
1478 These are analogous to frame parameters, but are associated with | 1391 These are analogous to frame parameters, but are associated with |
1479 individual windows. | 1392 individual windows. |
1480 +++ | 1393 |
1481 *** The new functions window-parameters, window-parameter, and | 1394 *** The new functions window-parameters, window-parameter, and |
1482 set-window-parameter are used to query and set window parameters. | 1395 set-window-parameter are used to query and set window parameters. |
1483 | 1396 |
1484 ** Minibuffer and completion changes | 1397 ** Minibuffer and completion changes |
1485 +++ | 1398 |
1486 *** A list of default values can be specified for the DEFAULT argument of | 1399 *** A list of default values can be specified for the DEFAULT argument of |
1487 functions `read-from-minibuffer', `read-string', `read-command', | 1400 functions `read-from-minibuffer', `read-string', `read-command', |
1488 `read-variable', `read-buffer', `completing-read'. Elements of this list | 1401 `read-variable', `read-buffer', `completing-read'. Elements of this list |
1489 are available for inserting into the minibuffer by typing `M-n'. | 1402 are available for inserting into the minibuffer by typing `M-n'. |
1490 For empty input these functions return the first element of this list. | 1403 For empty input these functions return the first element of this list. |
1491 | 1404 |
1492 +++ | |
1493 *** New function `read-regexp' uses the regexp history and some useful | 1405 *** New function `read-regexp' uses the regexp history and some useful |
1494 regexp defaults (string at point, last Isearch/replacement regexp/string) | 1406 regexp defaults (string at point, last Isearch/replacement regexp/string) |
1495 via M-n when reading a regexp in the minibuffer. | 1407 via M-n when reading a regexp in the minibuffer. |
1496 | 1408 |
1497 +++ | |
1498 *** minibuffer-local-must-match-filename-map is now named | 1409 *** minibuffer-local-must-match-filename-map is now named |
1499 minibuffer-local-filename-must-match-map. | 1410 minibuffer-local-filename-must-match-map. |
1500 | 1411 |
1501 +++ | |
1502 *** The `require-match' argument to `completing-read' accepts the new | 1412 *** The `require-match' argument to `completing-read' accepts the new |
1503 values `confirm-only' and `confirm-after-completion'. | 1413 values `confirm-only' and `confirm-after-completion'. |
1504 | 1414 |
1505 ** Search and replacement changes | 1415 ** Search and replacement changes |
1506 +++ | 1416 |
1507 *** The regexp form \(?<num>:<regexp>\) specifies the group number explicitly. | 1417 *** The regexp form \(?<num>:<regexp>\) specifies the group number explicitly. |
1508 +++ | 1418 |
1509 *** New function `match-substitute-replacement' returns the result of | 1419 *** New function `match-substitute-replacement' returns the result of |
1510 `replace-match' without actually using it in the buffer. | 1420 `replace-match' without actually using it in the buffer. |
1511 | 1421 |
1512 +++ | |
1513 *** The new variable `replace-search-function' determines the function | 1422 *** The new variable `replace-search-function' determines the function |
1514 to use for searching in query-replace and replace-string. The | 1423 to use for searching in query-replace and replace-string. The |
1515 function it specifies is called by `perform-replace' when its 4th | 1424 function it specifies is called by `perform-replace' when its 4th |
1516 argument is nil. | 1425 argument is nil. |
1517 | 1426 |
1518 +++ | |
1519 *** The new variable `replace-re-search-function' determines the | 1427 *** The new variable `replace-re-search-function' determines the |
1520 function to use for searching in `query-replace-regexp', | 1428 function to use for searching in `query-replace-regexp', |
1521 `replace-regexp', `query-replace-regexp-eval', and | 1429 `replace-regexp', `query-replace-regexp-eval', and |
1522 `map-query-replace-regexp'. The function it specifies is called by | 1430 `map-query-replace-regexp'. The function it specifies is called by |
1523 `perform-replace' when its 4th argument is non-nil. | 1431 `perform-replace' when its 4th argument is non-nil. |
1524 | 1432 |
1525 +++ | |
1526 *** New keymap `search-map' bound to `M-s' provides global bindings | 1433 *** New keymap `search-map' bound to `M-s' provides global bindings |
1527 for search related commands. | 1434 for search related commands. |
1528 | 1435 |
1529 +++ | |
1530 *** New keymap `multi-query-replace-map' contains additonal keys bound | 1436 *** New keymap `multi-query-replace-map' contains additonal keys bound |
1531 to `automatic-all' and `exit-current' for multi-buffer interactive replacement. | 1437 to `automatic-all' and `exit-current' for multi-buffer interactive replacement. |
1532 | 1438 |
1533 --- | |
1534 *** The variable `inhibit-changing-match-data', if non-nil, prevents | 1439 *** The variable `inhibit-changing-match-data', if non-nil, prevents |
1535 the search and match primitives from changing the match data. | 1440 the search and match primitives from changing the match data. |
1536 | 1441 |
1537 +++ | |
1538 *** New functions `word-search-forward-lax' and `word-search-backward-lax'. | 1442 *** New functions `word-search-forward-lax' and `word-search-backward-lax'. |
1539 These are like `word-search-forward and `word-search-backward', except | 1443 These are like `word-search-forward and `word-search-backward', except |
1540 that the end of the search string need not match a word boundary, | 1444 that the end of the search string need not match a word boundary, |
1541 unless it ends in whitespace. | 1445 unless it ends in whitespace. |
1542 | 1446 |
1543 ** File handling changes | 1447 ** File handling changes |
1544 | 1448 |
1545 +++ | |
1546 *** set-file-modes is now interactive and can take the mode value in | 1449 *** set-file-modes is now interactive and can take the mode value in |
1547 symbolic notation thanks to auxiliary functions. | 1450 symbolic notation thanks to auxiliary functions. |
1548 +++ | 1451 |
1549 *** file-local-variables-alist stores an alist of file-local | 1452 *** file-local-variables-alist stores an alist of file-local |
1550 variables defined in the current buffer. | 1453 variables defined in the current buffer. |
1551 | 1454 |
1552 ** Face-remapping | 1455 ** Face-remapping |
1553 +++ | 1456 |
1554 *** Each face can be remapped to a different face definition using the | 1457 *** Each face can be remapped to a different face definition using the |
1555 variable `face-remapping-alist'. This is an alist that maps faces to | 1458 variable `face-remapping-alist'. This is an alist that maps faces to |
1556 replacement definitions (which can be face names, lists of face names, | 1459 replacement definitions (which can be face names, lists of face names, |
1557 or attribute/value plists. If this variable is buffer-local, the | 1460 or attribute/value plists. If this variable is buffer-local, the |
1558 remapping occurs only in that buffer. | 1461 remapping occurs only in that buffer. |
1561 size in the current buffer. This feature is used by the Buffer Face | 1464 size in the current buffer. This feature is used by the Buffer Face |
1562 menu and the new `C-x C-+', `C-x C--', and `C-x C-0' commands (see | 1465 menu and the new `C-x C-+', `C-x C--', and `C-x C-0' commands (see |
1563 Editing Changes, above). | 1466 Editing Changes, above). |
1564 | 1467 |
1565 *** New functions: | 1468 *** New functions: |
1566 +++ | 1469 |
1567 **** `face-remap-add-relative' adds a face remapping entry to the | 1470 **** `face-remap-add-relative' adds a face remapping entry to the |
1568 current buffer. | 1471 current buffer. |
1569 +++ | 1472 |
1570 **** ``face-remap-remove-relative' removes a face remapping entry from | 1473 **** ``face-remap-remove-relative' removes a face remapping entry from |
1571 the current buffer. | 1474 the current buffer. |
1572 +++ | 1475 |
1573 **** `face-remap-reset-base' restores a face to its global definition. | 1476 **** `face-remap-reset-base' restores a face to its global definition. |
1574 +++ | 1477 |
1575 **** `face-remap-set-base' sets the base remapping of a face. | 1478 **** `face-remap-set-base' sets the base remapping of a face. |
1576 | 1479 |
1577 ** Process changes | 1480 ** Process changes |
1578 +++ | 1481 |
1579 *** The new function `start-file-process' is similar to `start-process', | 1482 *** The new function `start-file-process' is similar to `start-process', |
1580 but obeys file handlers. The file handler is chosen based on | 1483 but obeys file handlers. The file handler is chosen based on |
1581 `default-directory'. The functions `start-file-process-shell-command' | 1484 `default-directory'. The functions `start-file-process-shell-command' |
1582 and `process-file-shell-command' are also new; they call internally | 1485 and `process-file-shell-command' are also new; they call internally |
1583 `start-file-process' and `process-file', respectively. | 1486 `start-file-process' and `process-file', respectively. |
1584 | 1487 |
1585 +++ | |
1586 *** The new function `process-lines' executes an external program and | 1488 *** The new function `process-lines' executes an external program and |
1587 returns its output as a list of lines. | 1489 returns its output as a list of lines. |
1588 | 1490 |
1589 ** Character code, representation, and charset changes. | 1491 ** Character code, representation, and charset changes. |
1590 | 1492 |
1591 +++ | 1493 *** In multibyte buffers and strings, characters are represented by |
1592 The character code space is now 0x0..0x3FFFFF with no gap. | 1494 UTF-8 byte sequences. The character code space is now 0x0..0x3FFFFF |
1593 Characters of code 0x0..0x10FFFF are Unicode characters of the same code points. | 1495 with no gap; code points 0x0..0x10FFFF are Unicode characters of the |
1594 Characters of code 0x3FFF80..0x3FFFFF are raw 8-bit bytes. | 1496 same code points, while code points 0x3FFF80..0x3FFFFF are raw 8-bit |
1595 | 1497 bytes. |
1596 +++ | 1498 |
1597 Generic characters no longer exist. | 1499 *** Generic characters no longer exist. |
1598 | 1500 |
1599 +++ | 1501 *** The concept of a charset has changed. A single character may |
1600 In buffers and strings, characters are represented by UTF-8 byte | 1502 belong to multiple charsets (e.g. a-grave, U+00E0, belongs to charsets |
1601 sequences in a multibyte buffer/string. | |
1602 | |
1603 +++ | |
1604 The concept of a charset has changed. A single character may belong | |
1605 to multiple charsets (e.g. a-grave, U+00E0, belongs to charsets | |
1606 unicode, iso-8859-1, iso-8859-3, etc). | 1503 unicode, iso-8859-1, iso-8859-3, etc). |
1607 | 1504 |
1608 --- | 1505 **** The dimension of a charset is now 1, 2, 3, or 4, and the size of |
1506 each dimension is no longer limited to 94 or 96. | |
1507 | |
1508 **** A dynamic charset priority list is used to infer the charset of | |
1509 characters for display. | |
1510 | |
1609 *** The functions `split-char' and `make-char' now accept up to 4 | 1511 *** The functions `split-char' and `make-char' now accept up to 4 |
1610 positional codes instead of just 2. | 1512 positional codes instead of just 2. |
1611 | 1513 |
1612 +++ | |
1613 *** The functions `encode-char' and `decode-char' now accept any character sets. | 1514 *** The functions `encode-char' and `decode-char' now accept any character sets. |
1614 | 1515 |
1615 --- | |
1616 *** The function `define-charset' now accepts a completely different | 1516 *** The function `define-charset' now accepts a completely different |
1617 form of arguments (old-style arguments still work). | 1517 form of arguments (old-style arguments still work). |
1618 | 1518 |
1619 +++ | |
1620 *** The value of the function `char-charset' depends on the current | 1519 *** The value of the function `char-charset' depends on the current |
1621 priorities of charsets. | 1520 priorities of charsets. |
1622 | 1521 |
1623 +++ | |
1624 *** The function get-char-code-property now accepts many Unicode base | 1522 *** The function get-char-code-property now accepts many Unicode base |
1625 character properties. They are `name', `general-category', | 1523 character properties. They are `name', `general-category', |
1626 `canonical-combining-class', `bidi-class', `decomposition', | 1524 `canonical-combining-class', `bidi-class', `decomposition', |
1627 `decimal-digit-value', `digit-value', `numeric-value', `mirrored', | 1525 `decimal-digit-value', `digit-value', `numeric-value', `mirrored', |
1628 `old-name', `iso-10646-comment', `uppercase', `lowercase', and | 1526 `old-name', `iso-10646-comment', `uppercase', `lowercase', and |
1629 `titlecase'. | 1527 `titlecase'. |
1630 | 1528 |
1631 +++ | |
1632 *** The functions `modify-syntax-entry' and `modify-category-entry' now | 1529 *** The functions `modify-syntax-entry' and `modify-category-entry' now |
1633 accept a cons of characters as the first argument, and modify all | 1530 accept a cons of characters as the first argument, and modify all |
1634 entries in that range of characters. | 1531 entries in that range of characters. |
1635 | 1532 |
1636 +++ | |
1637 *** Use of `translation-table-for-input' for character code unification | 1533 *** Use of `translation-table-for-input' for character code unification |
1638 is now obsolete, since Emacs 23.1 and later uses Unicode as basis for | 1534 is now obsolete, since Emacs 23.1 and later uses Unicode as basis for |
1639 internal representation of characters. | 1535 internal representation of characters. |
1640 | 1536 |
1641 *** New functions: | 1537 *** New functions: |
1642 | 1538 |
1643 +++ | |
1644 **** `characterp' returns t if and only if the argument is a character. | 1539 **** `characterp' returns t if and only if the argument is a character. |
1645 This replaces `char-valid-p', which is now obsolete. | 1540 This replaces `char-valid-p', which is now obsolete. |
1646 | 1541 |
1647 +++ | |
1648 **** `max-char' returns the maximum character code (currently #x3FFFFF). | 1542 **** `max-char' returns the maximum character code (currently #x3FFFFF). |
1649 | 1543 |
1650 --- | |
1651 **** `define-charset-alias' defines an alias of a charset. | 1544 **** `define-charset-alias' defines an alias of a charset. |
1652 | 1545 |
1653 +++ | |
1654 **** `set-charset-priority' sets priorities of charsets. | 1546 **** `set-charset-priority' sets priorities of charsets. |
1655 | 1547 |
1656 +++ | |
1657 **** `charset-priority-list' returns a prioritized list of charsets. | 1548 **** `charset-priority-list' returns a prioritized list of charsets. |
1658 | 1549 |
1659 +++ | |
1660 **** `unibyte-string' makes a unibyte string from bytes. | 1550 **** `unibyte-string' makes a unibyte string from bytes. |
1661 | 1551 |
1662 --- | |
1663 **** `define-char-code-property' defines a character code property. | 1552 **** `define-char-code-property' defines a character code property. |
1664 | 1553 |
1665 +++ | |
1666 **** `char-code-property-description' returns the description string of | 1554 **** `char-code-property-description' returns the description string of |
1667 a character code property. | 1555 a character code property. |
1668 | 1556 |
1669 *** New variables: | 1557 *** New variables: |
1670 | 1558 |
1671 **** `find-word-boundary-function-table' is a char-table of functions to | 1559 **** `find-word-boundary-function-table' is a char-table of functions to |
1672 search for a word boundary. | 1560 search for a word boundary. |
1673 | 1561 |
1674 +++ | |
1675 **** `char-script-table' is a char-table of script names. | 1562 **** `char-script-table' is a char-table of script names. |
1676 | 1563 |
1677 +++ | |
1678 **** `char-width-table' is a char-table of character widths. | 1564 **** `char-width-table' is a char-table of character widths. |
1679 | 1565 |
1680 --- | |
1681 **** `print-charset-text-property' controls how to handle `charset' text | 1566 **** `print-charset-text-property' controls how to handle `charset' text |
1682 property on printing a string. | 1567 property on printing a string. |
1683 | 1568 |
1684 +++ | |
1685 **** `printable-chars' is a char-table of printable characters. | 1569 **** `printable-chars' is a char-table of printable characters. |
1686 | 1570 |
1687 ** Code conversion changes | 1571 ** Code conversion changes |
1688 | 1572 |
1689 --- | |
1690 *** The new function `define-coding-system' should be used to define a | 1573 *** The new function `define-coding-system' should be used to define a |
1691 coding system instead of `make-coding-system' (which is now obsolete). | 1574 coding system instead of `make-coding-system' (which is now obsolete). |
1692 | 1575 |
1693 +++ | |
1694 *** The functions `encode-coding-region' and `decode-coding-region' | 1576 *** The functions `encode-coding-region' and `decode-coding-region' |
1695 have an optional 4th argument to specify where the result of | 1577 have an optional 4th argument to specify where the result of |
1696 conversion should go. | 1578 conversion should go. |
1697 | 1579 |
1698 +++ | |
1699 *** The functions `encode-coding-string' and `decode-coding-string' | 1580 *** The functions `encode-coding-string' and `decode-coding-string' |
1700 have an optional 4th argument specifying a buffer to store the result | 1581 have an optional 4th argument specifying a buffer to store the result |
1701 of conversion. | 1582 of conversion. |
1702 | 1583 |
1703 +++ | |
1704 *** The new variable `inhibit-null-byte-detection' controls whether to | 1584 *** The new variable `inhibit-null-byte-detection' controls whether to |
1705 consider text with null bytes as binary data. By default, it is | 1585 consider text with null bytes as binary data. By default, it is |
1706 `nil', and Emacs uses `no-conversion' for any text containing null | 1586 `nil', and Emacs uses `no-conversion' for any text containing null |
1707 bytes. | 1587 bytes. |
1708 | 1588 |
1709 --- | |
1710 *** The functions `set-coding-priority' and `make-coding-system' are obsolete. | 1589 *** The functions `set-coding-priority' and `make-coding-system' are obsolete. |
1711 | 1590 |
1712 *** New functions: | 1591 *** New functions: |
1713 | 1592 |
1714 +++ | |
1715 **** `with-coding-priority' executes Lisp code using the specified | 1593 **** `with-coding-priority' executes Lisp code using the specified |
1716 coding system priority order. | 1594 coding system priority order. |
1717 | 1595 |
1718 +++ | |
1719 **** `check-coding-systems-region' checks if the text in the region is | 1596 **** `check-coding-systems-region' checks if the text in the region is |
1720 encodable by the specified coding systems. | 1597 encodable by the specified coding systems. |
1721 | 1598 |
1722 +++ | |
1723 **** `coding-system-aliases' returns a list of aliases of a coding system. | 1599 **** `coding-system-aliases' returns a list of aliases of a coding system. |
1724 | 1600 |
1725 +++ | |
1726 **** `coding-system-charset-list' returns a list of charsets supported | 1601 **** `coding-system-charset-list' returns a list of charsets supported |
1727 by a coding system. | 1602 by a coding system. |
1728 | 1603 |
1729 +++ | |
1730 **** `coding-system-priority-list' returns a list of coding systems | 1604 **** `coding-system-priority-list' returns a list of coding systems |
1731 ordered by their priorities. | 1605 ordered by their priorities. |
1732 | 1606 |
1733 +++ | |
1734 **** `set-coding-system-priority' sets priorities of coding systems. | 1607 **** `set-coding-system-priority' sets priorities of coding systems. |
1735 | 1608 |
1736 **** `coding-system-from-name' returns a coding system matching with | 1609 **** `coding-system-from-name' returns a coding system matching with |
1737 the argument name. | 1610 the argument name. |
1738 | 1611 |
1749 *** The new function `robin-modify-package' modifies an existing Robin package. | 1622 *** The new function `robin-modify-package' modifies an existing Robin package. |
1750 | 1623 |
1751 *** The new function `robin-use-package' starts using a Robin package | 1624 *** The new function `robin-use-package' starts using a Robin package |
1752 as an input method. | 1625 as an input method. |
1753 | 1626 |
1754 +++ | |
1755 *** The new function `string-to-unibyte' is like `string-as-unibyte' | 1627 *** The new function `string-to-unibyte' is like `string-as-unibyte' |
1756 but signals an error if STRING contains a non-ASCII, non-eight-bit | 1628 but signals an error if STRING contains a non-ASCII, non-eight-bit |
1757 character. | 1629 character. |
1758 | 1630 |
1759 ** Changes related to the new font backend | 1631 ** Changes related to the new font backend |
1760 +++ | 1632 |
1761 *** Which font backends to use can be specified by the X resource | 1633 *** Which font backends to use can be specified by the X resource |
1762 "FontBackend". For instance, to use both X core fonts and Xft fonts: | 1634 "FontBackend". For instance, to use both X core fonts and Xft fonts: |
1763 | 1635 |
1764 Emacs.FontBackend: x,xft | 1636 Emacs.FontBackend: x,xft |
1765 | 1637 |
1766 If this resource is not set, Emacs tries to use all font backends | 1638 If this resource is not set, Emacs tries to use all font backends |
1767 available on your graphic device. | 1639 available on your graphic device. |
1768 +++ | 1640 |
1769 *** New frame parameter `font-backend' specifies a list of | 1641 *** New frame parameter `font-backend' specifies a list of |
1770 font-backends supported by the frame's graphic device. On X, they are | 1642 font-backends supported by the frame's graphic device. On X, they are |
1771 currently `x' and `xft'. | 1643 currently `x' and `xft'. |
1772 | 1644 |
1773 *** The function `set-fontset-font' now accepts a script name as the | 1645 *** The function `set-fontset-font' now accepts a script name as the |
1774 second argument, and has an optional 5th argument to control how to | 1646 second argument, and has an optional 5th argument to control how to |
1775 set the font. | 1647 set the font. |
1776 | 1648 |
1777 *** New functions: | 1649 *** New functions: |
1778 +++ | 1650 |
1779 **** `fontp' checks if the argument is a font-spec or font-entity. | 1651 **** `fontp' checks if the argument is a font-spec or font-entity. |
1780 +++ | 1652 |
1781 **** `font-spec' creates a new font-spec object. | 1653 **** `font-spec' creates a new font-spec object. |
1782 +++ | 1654 |
1783 **** `font-get' returns a font property value. | 1655 **** `font-get' returns a font property value. |
1784 +++ | 1656 |
1785 **** `font-put' sets a font property value. | 1657 **** `font-put' sets a font property value. |
1786 +++ | 1658 |
1787 **** `font-face-attributes' returns a plist of face attributes set by a font. | 1659 **** `font-face-attributes' returns a plist of face attributes set by a font. |
1788 +++ | 1660 |
1789 **** `list-fonts' returns a list of font-entities matching a font spec. | 1661 **** `list-fonts' returns a list of font-entities matching a font spec. |
1790 +++ | 1662 |
1791 **** `find-font' returns the font-entity best matching the given font spec. | 1663 **** `find-font' returns the font-entity best matching the given font spec. |
1792 +++ | 1664 |
1793 **** `font-family-list' returns a list of family names of available fonts. | 1665 **** `font-family-list' returns a list of family names of available fonts. |
1794 +++ | 1666 |
1795 **** `font-xlfd-name' returns an XLFD name of a given font spec, font | 1667 **** `font-xlfd-name' returns an XLFD name of a given font spec, font |
1796 entity, or font object. | 1668 entity, or font object. |
1797 --- | 1669 |
1798 **** `clear-font-cache' clears all font caches. | 1670 **** `clear-font-cache' clears all font caches. |
1799 | 1671 |
1800 ** Changes related to multiple-terminal (multi-tty) support | 1672 ** Changes related to multiple-terminal (multi-tty) support |
1801 | 1673 |
1802 --- | |
1803 *** $TERM is now set to `dumb' for subprocesses. If you want to know the | 1674 *** $TERM is now set to `dumb' for subprocesses. If you want to know the |
1804 $TERM inherited by Emacs you will have to look inside initial-environment. | 1675 $TERM inherited by Emacs you will have to look inside initial-environment. |
1805 | 1676 |
1806 --- | |
1807 *** $DISPLAY is now dynamically inherited from the frame's `display'. | 1677 *** $DISPLAY is now dynamically inherited from the frame's `display'. |
1808 | 1678 |
1809 +++ | |
1810 *** The `window-system' variable is now frame-local. The new | 1679 *** The `window-system' variable is now frame-local. The new |
1811 `initial-window-system' variable contains the `window-system' value | 1680 `initial-window-system' variable contains the `window-system' value |
1812 for the first frame. `window-system' is also now a function that | 1681 for the first frame. `window-system' is also now a function that |
1813 takes a frame argument. | 1682 takes a frame argument. |
1814 | 1683 |
1815 +++ | |
1816 *** The `keyboard-translate-table' variable and the terminal and | 1684 *** The `keyboard-translate-table' variable and the terminal and |
1817 keyboard coding systems are now terminal-local. | 1685 keyboard coding systems are now terminal-local. |
1818 | 1686 |
1819 --- | |
1820 *** You can specify a terminal device (`tty' parameter) and a terminal | 1687 *** You can specify a terminal device (`tty' parameter) and a terminal |
1821 type (`tty-type' parameter) to `make-terminal-frame'. | 1688 type (`tty-type' parameter) to `make-terminal-frame'. |
1822 | 1689 |
1823 --- | |
1824 *** The function `make-frame-on-display' now works during a tty | 1690 *** The function `make-frame-on-display' now works during a tty |
1825 session. | 1691 session. |
1826 | 1692 |
1827 +++ | |
1828 *** A new `terminal' data type. | 1693 *** A new `terminal' data type. |
1829 The functions `get-device-terminal', `terminal-parameters', | 1694 The functions `get-device-terminal', `terminal-parameters', |
1830 `terminal-parameter', `set-terminal-parameter' use this data type. | 1695 `terminal-parameter', `set-terminal-parameter' use this data type. |
1831 | 1696 |
1832 +++ | |
1833 *** Function key sequences are now mapped using `local-function-key-map', | 1697 *** Function key sequences are now mapped using `local-function-key-map', |
1834 a new variable. This inherits from the global variable function-key-map, | 1698 a new variable. This inherits from the global variable function-key-map, |
1835 which is not used directly any more. | 1699 which is not used directly any more. |
1836 | 1700 |
1837 *** New hooks: | 1701 *** New hooks: |
1838 | 1702 |
1839 +++ | |
1840 **** before-hack-local-variables-hook is called after setting new | 1703 **** before-hack-local-variables-hook is called after setting new |
1841 variable file-local-variables-alist, and before actually applying the | 1704 variable file-local-variables-alist, and before actually applying the |
1842 file-local variables. | 1705 file-local variables. |
1843 | 1706 |
1844 +++ | |
1845 **** `suspend-tty-functions' and `resume-tty-functions' are called | 1707 **** `suspend-tty-functions' and `resume-tty-functions' are called |
1846 after a tty frame has been suspended or resumed, respectively. The | 1708 after a tty frame has been suspended or resumed, respectively. The |
1847 functions are called with the terminal id of the frame being | 1709 functions are called with the terminal id of the frame being |
1848 suspended/resumed as a parameter. | 1710 suspended/resumed as a parameter. |
1849 | 1711 |
1850 +++ | |
1851 **** The special hook `delete-terminal-functions' is called before | 1712 **** The special hook `delete-terminal-functions' is called before |
1852 deleting a terminal. | 1713 deleting a terminal. |
1853 | 1714 |
1854 *** New functions: | 1715 *** New functions: |
1855 | 1716 |
1856 +++ | |
1857 **** `delete-terminal' | 1717 **** `delete-terminal' |
1858 | 1718 |
1859 +++ | |
1860 **** `suspend-tty' | 1719 **** `suspend-tty' |
1861 | 1720 |
1862 +++ | |
1863 **** `resume-tty'. | 1721 **** `resume-tty'. |
1864 | 1722 |
1865 +++ | |
1866 *** `initial-environment' holds the environment inherited from Emacs's parent. | 1723 *** `initial-environment' holds the environment inherited from Emacs's parent. |
1867 | 1724 |
1868 ** Redisplay changes | 1725 ** Redisplay changes |
1869 +++ | 1726 |
1870 *** For underlined characters, the distance between the underline and | 1727 *** For underlined characters, the distance between the underline and |
1871 the baseline is controlled by a new variable, `underline-minimum-offset'. | 1728 the baseline is controlled by a new variable, `underline-minimum-offset'. |
1872 +++ | 1729 |
1873 *** You can now pass the value of the `invisible' property to | 1730 *** You can now pass the value of the `invisible' property to |
1874 invisible-p to check whether it would cause the text to be invisible. | 1731 invisible-p to check whether it would cause the text to be invisible. |
1875 This is convenient when checking invisibility of text with no buffer | 1732 This is convenient when checking invisibility of text with no buffer |
1876 position (e.g. in before/after-strings). | 1733 position (e.g. in before/after-strings). |
1877 +++ | 1734 |
1878 *** `clear-image-cache' can be told to flush only images of a specific file. | 1735 *** `clear-image-cache' can be told to flush only images of a specific file. |
1879 +++ | 1736 |
1880 *** `vertical-motion' can now be given a goal column. | 1737 *** `vertical-motion' can now be given a goal column. |
1881 It now accepts a cons cell (COLS . LINES) in its first argument, which | 1738 It now accepts a cons cell (COLS . LINES) in its first argument, which |
1882 says to stop, where possible, at a pixel x-position equal to COLS | 1739 says to stop, where possible, at a pixel x-position equal to COLS |
1883 times the default column width. | 1740 times the default column width. |
1884 +++ | 1741 |
1885 *** redisplay-end-trigger-functions, set-window-redisplay-end-trigger, | 1742 *** redisplay-end-trigger-functions, set-window-redisplay-end-trigger, |
1886 and window-redisplay-end-trigger are obsolete. Use `jit-lock-register' | 1743 and window-redisplay-end-trigger are obsolete. Use `jit-lock-register' |
1887 instead. | 1744 instead. |
1888 +++ | 1745 |
1889 *** The new variables `wrap-prefix' and `line-prefix' specify display | 1746 *** The new variables `wrap-prefix' and `line-prefix' specify display |
1890 specs which are appended at display-time to every continuation line | 1747 specs which are appended at display-time to every continuation line |
1891 and non-continuation line, respectively. In addition, Emacs | 1748 and non-continuation line, respectively. In addition, Emacs |
1892 recognizes the `wrap-prefix' and `line-prefix' text or overlay | 1749 recognizes the `wrap-prefix' and `line-prefix' text or overlay |
1893 properties; these have the same effects as the variables of the same | 1750 properties; these have the same effects as the variables of the same |
1895 | 1752 |
1896 ** The Lisp interpreter now treats non-breaking space as whitespace. | 1753 ** The Lisp interpreter now treats non-breaking space as whitespace. |
1897 | 1754 |
1898 ** Miscellaneous new functions | 1755 ** Miscellaneous new functions |
1899 | 1756 |
1900 +++ | |
1901 *** `apply-partially' performs a "curried" application of a function. | 1757 *** `apply-partially' performs a "curried" application of a function. |
1902 | 1758 |
1903 +++ | |
1904 *** `buffer-swap-text' swaps text between two buffers. This can be | 1759 *** `buffer-swap-text' swaps text between two buffers. This can be |
1905 useful for modes such as tar-mode, archive-mode, RMAIL. | 1760 useful for modes such as tar-mode, archive-mode, RMAIL. |
1906 | 1761 |
1907 +++ | |
1908 *** `combine-and-quote-strings' produces a single string from a list of strings | 1762 *** `combine-and-quote-strings' produces a single string from a list of strings |
1909 sticking a separator string in between each pair, and quoting those | 1763 sticking a separator string in between each pair, and quoting those |
1910 strings that include the separator as their substring. Useful for | 1764 strings that include the separator as their substring. Useful for |
1911 consing shell command lines from the individual arguments. | 1765 consing shell command lines from the individual arguments. |
1912 | 1766 |
1913 --- | |
1914 *** `custom-note-var-changed' tells Custom to treat the change in a | 1767 *** `custom-note-var-changed' tells Custom to treat the change in a |
1915 certain variable as having been made within Custom. | 1768 certain variable as having been made within Custom. |
1916 | 1769 |
1917 +++ | |
1918 *** `face-all-attributes' returns an alist describing all the basic | 1770 *** `face-all-attributes' returns an alist describing all the basic |
1919 attributes of a given face. | 1771 attributes of a given face. |
1920 | 1772 |
1921 +++ | |
1922 *** `format-seconds' converts a number of seconds into a readable | 1773 *** `format-seconds' converts a number of seconds into a readable |
1923 string of days, hours, etc. | 1774 string of days, hours, etc. |
1924 | 1775 |
1925 +++ | |
1926 *** `image-refresh' refreshes all images associated with a given image | 1776 *** `image-refresh' refreshes all images associated with a given image |
1927 specification. | 1777 specification. |
1928 | 1778 |
1929 *** `locate-user-emacs-file' helps packages to select the appropriate | 1779 *** `locate-user-emacs-file' helps packages to select the appropriate |
1930 place to save user-specific files. It defaults to `user-emacs-directory' | 1780 place to save user-specific files. It defaults to `user-emacs-directory' |
1931 unless the file already exists at $HOME. | 1781 unless the file already exists at $HOME. |
1932 | 1782 |
1933 +++ | |
1934 *** `read-color' reads a color name using the minibuffer. | 1783 *** `read-color' reads a color name using the minibuffer. |
1935 | 1784 |
1936 +++ | |
1937 *** `read-shell-command' does what its name says, with completion. It | 1785 *** `read-shell-command' does what its name says, with completion. It |
1938 uses the minibuffer-local-shell-command-map for that. | 1786 uses the minibuffer-local-shell-command-map for that. |
1939 | 1787 |
1940 +++ | |
1941 *** `split-string-and-unquote' splits a string into a list of substrings | 1788 *** `split-string-and-unquote' splits a string into a list of substrings |
1942 on the boundaries of a given delimiter, and unquotes the substrings that | 1789 on the boundaries of a given delimiter, and unquotes the substrings that |
1943 are quoted. Useful for taking apart shell commands. | 1790 are quoted. Useful for taking apart shell commands. |
1944 | 1791 |
1945 +++ | |
1946 *** The two new functions `looking-at-p' and `string-match-p' can do | 1792 *** The two new functions `looking-at-p' and `string-match-p' can do |
1947 the same matching as `looking-at' and `string-match' without changing | 1793 the same matching as `looking-at' and `string-match' without changing |
1948 the match data. | 1794 the match data. |
1949 | 1795 |
1950 +++ | |
1951 *** The two new functions `make-serial-process' and | 1796 *** The two new functions `make-serial-process' and |
1952 `serial-process-configure' provide a Lisp interface to the new serial | 1797 `serial-process-configure' provide a Lisp interface to the new serial |
1953 port support (see Emacs changes, above). | 1798 port support (see Emacs changes, above). |
1954 | 1799 |
1955 ** Miscellaneous new variables | 1800 ** Miscellaneous new variables |
1956 | 1801 |
1957 +++ | |
1958 *** `read-circle', if nil, disables the reading of recursive Lisp | 1802 *** `read-circle', if nil, disables the reading of recursive Lisp |
1959 structures using the #N= and #N# syntax. | 1803 structures using the #N= and #N# syntax. |
1960 | 1804 |
1961 +++ | |
1962 *** `this-command-keys-shift-translated' is non-nil if the key | 1805 *** `this-command-keys-shift-translated' is non-nil if the key |
1963 sequence invoking the current command was found by shift-translation. | 1806 sequence invoking the current command was found by shift-translation. |
1964 | 1807 |
1965 *** `window-point-insertion-type' determines the insertion-type of the | 1808 *** `window-point-insertion-type' determines the insertion-type of the |
1966 marker used for window-point. | 1809 marker used for window-point. |
1967 | 1810 |
1968 --- | |
1969 *** bookmark provides `bookmark-make-record-function' so special major | 1811 *** bookmark provides `bookmark-make-record-function' so special major |
1970 modes like Info can teach bookmark.el how to save and restore the | 1812 modes like Info can teach bookmark.el how to save and restore the |
1971 relevant data. | 1813 relevant data. |
1972 | 1814 |
1973 +++ | |
1974 *** `fill-forward-paragraph-function' specifies which function the | 1815 *** `fill-forward-paragraph-function' specifies which function the |
1975 filling code should use to find paragraph boundaries. | 1816 filling code should use to find paragraph boundaries. |
1976 | 1817 |
1977 | 1818 |
1978 * New Packages for Lisp Programming in Emacs 23.1 | 1819 * New Packages for Lisp Programming in Emacs 23.1 |
1979 | 1820 |
1980 ** The new package avl-tree.el deals with the AVL tree data structure. | 1821 ** The new package avl-tree.el deals with the AVL tree data structure. |
1981 | 1822 |
1982 +++ | |
1983 ** The new package check-declare.el verifies the accuracy of | 1823 ** The new package check-declare.el verifies the accuracy of |
1984 declare-function macros (see Lisp Changes, above). | 1824 declare-function macros (see Lisp Changes, above). |
1985 | 1825 |
1986 ** find-cmd.el can build `find' commands using lisp syntax. | 1826 ** find-cmd.el can build `find' commands using lisp syntax. |
1987 | 1827 |
1991 of multiple buffers. Top-level commands `multi-isearch-buffers', | 1831 of multiple buffers. Top-level commands `multi-isearch-buffers', |
1992 `multi-isearch-buffers-regexp', `multi-isearch-files' and | 1832 `multi-isearch-buffers-regexp', `multi-isearch-files' and |
1993 `multi-isearch-files-regexp' accept a single argument that specifies | 1833 `multi-isearch-files-regexp' accept a single argument that specifies |
1994 a list of buffers/files to search for a string/regexp. | 1834 a list of buffers/files to search for a string/regexp. |
1995 | 1835 |
1996 +++ | |
1997 ** The new major mode `special-mode' is intended as a parent for | 1836 ** The new major mode `special-mode' is intended as a parent for |
1998 major modes such as those that set the "'mode-class 'special" property. | 1837 major modes such as those that set the "'mode-class 'special" property. |
1999 | 1838 |
2000 | 1839 |
2001 ---------------------------------------------------------------------- | 1840 ---------------------------------------------------------------------- |