Mercurial > emacs
comparison etc/NEWS @ 90813:e6fdae9180d4
Merge from emacs--devo--0
Patches applied:
* emacs--devo--0 (patch 698-710)
- Update from CVS
- Merge from gnus--rel--5.10
* gnus--rel--5.10 (patch 216)
- Update from CVS
Revision: emacs@sv.gnu.org/emacs--unicode--0--patch-196
author | Miles Bader <miles@gnu.org> |
---|---|
date | Tue, 24 Apr 2007 21:56:25 +0000 |
parents | 4ef881a120fe bb1226c94c20 |
children | 70bf32a0f523 |
comparison
equal
deleted
inserted
replaced
90812:6137cc8ddf90 | 90813:e6fdae9180d4 |
---|---|
1 GNU Emacs NEWS -- history of user-visible changes. 2006-06-04 | 1 GNU Emacs NEWS -- history of user-visible changes. |
2 | 2 |
3 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 | 3 Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007 |
4 Free Software Foundation, Inc. | 4 Free Software Foundation, Inc. |
5 See the end of the file for license conditions. | 5 See the end of the file for license conditions. |
6 | 6 |
108 with Emacs 22 (see the extensive list below), and you should remove | 108 with Emacs 22 (see the extensive list below), and you should remove |
109 any older versions of these packages to ensure that the Emacs 22 | 109 any older versions of these packages to ensure that the Emacs 22 |
110 version is used. You can use M-x list-load-path-shadows to find such | 110 version is used. You can use M-x list-load-path-shadows to find such |
111 older packages. | 111 older packages. |
112 | 112 |
113 Some specific packages which are known to cause problems are: | 113 Some specific packages that are known to cause problems are: |
114 | 114 |
115 ** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version. | 115 ** Semantic (used by CEDET, ECB, JDEE): upgrade to latest version. |
116 ** cua.el, cua-mode.el: remove old versions. | 116 ** cua.el, cua-mode.el: remove old versions. |
117 | 117 |
118 | 118 |
119 * Installation Changes in Emacs 22.1 | 119 * Installation Changes in Emacs 22.1 |
120 | 120 |
121 --- | 121 ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' |
122 when you run configure. This requires Gtk+ 2.4 or newer. This port | |
123 provides a way to display multilingual text in menus (with some caveats). | |
124 | |
122 ** Emacs comes with a new set of icons. | 125 ** Emacs comes with a new set of icons. |
123 These icons are displayed on the taskbar and/or titlebar when Emacs | 126 These icons are displayed on the taskbar and/or titlebar when Emacs |
124 runs in a graphical environment. Source files for these icons can be | 127 runs in a graphical environment. Source files for these icons can be |
125 found in etc/images/icons. (You can't change the icons displayed by | 128 found in etc/images/icons. (You can't change the icons displayed by |
126 Emacs by changing these files directly. On X, the icon is compiled | 129 Emacs by changing these files directly. On X, the icon is compiled |
127 into the Emacs executable; see gnu.h in the source tree. On MS | 130 into the Emacs executable; see gnu.h in the source tree. On MS |
128 Windows, see nt/icons/emacs.ico.) | 131 Windows, see nt/icons/emacs.ico.) |
129 | 132 |
130 --- | 133 ** The Emacs Lisp Reference Manual is now part of the distribution. |
134 | |
135 The Emacs Lisp Reference Manual in Info format is built as part of the | |
136 Emacs build procedure and installed together with the Emacs User | |
137 Manual. A menu item was added to the menu bar to make it easily | |
138 accessible (Help->More Manuals->Emacs Lisp Reference). | |
139 | |
140 ** The Introduction to Programming in Emacs Lisp manual is now part of | |
141 the distribution. | |
142 | |
143 This manual is now part of the standard distribution and is installed, | |
144 together with the Emacs User Manual, into the Info directory. A menu | |
145 item was added to the menu bar to make it easily accessible | |
146 (Help->More Manuals->Introduction to Emacs Lisp). | |
147 | |
148 ** Leim is now part of the Emacs distribution. | |
149 You no longer need to download a separate tarball in order to build | |
150 Emacs with Leim. | |
151 | |
152 ** New translations of the Emacs Tutorial are available in the | |
153 following languages: Brasilian Portuguese, Bulgarian, Chinese (both | |
154 with simplified and traditional characters), French, Russian, and | |
155 Italian. Type `C-u C-h t' to choose one of them in case your language | |
156 setup doesn't automatically select the right one. | |
157 | |
158 ** New translations of the Emacs reference card are available in the | |
159 Brasilian Portuguese and Russian. The corresponding PostScript files | |
160 are also included. | |
161 | |
162 ** A French translation of the `Emacs Survival Guide' is available. | |
163 | |
164 ** Emacs now includes support for loading image libraries on demand. | |
165 (Currently this feature is only used on MS Windows.) You can configure | |
166 the supported image types and their associated dynamic libraries by | |
167 setting the variable `image-library-alist'. | |
168 | |
169 ** Support for GNU/Linux systems on X86-64 machines was added. | |
170 | |
171 ** Support for GNU/Linux systems on S390 machines was added. | |
172 | |
173 ** Support for GNU/Linux systems on Tensilica Xtensa machines was added. | |
174 | |
175 ** Support for FreeBSD/Alpha has been added. | |
176 | |
177 ** Support for a Cygwin build of Emacs was added. | |
178 | |
179 ** Support for MacOS X was added. | |
180 See the files mac/README and mac/INSTALL for build instructions. | |
181 | |
182 ** Mac OS 9 port now uses the Carbon API by default. You can also | |
183 create a non-Carbon build by specifying `NonCarbon' as a target. See | |
184 the files mac/README and mac/INSTALL for build instructions. | |
185 | |
186 ** The `emacsserver' program has been removed, replaced with Lisp code. | |
187 | |
188 ** The `yow' program has been removed. | |
189 Use the corresponding Emacs feature instead. | |
190 | |
131 ** Emacs now supports new configure options `--program-prefix', | 191 ** Emacs now supports new configure options `--program-prefix', |
132 `--program-suffix' and `--program-transform-name' that affect the names of | 192 `--program-suffix' and `--program-transform-name' that affect the names of |
133 installed programs. | 193 installed programs. |
134 | 194 |
135 --- | |
136 ** Emacs can now be built without sound support. | |
137 | |
138 --- | |
139 ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk' | |
140 when you run configure. This requires Gtk+ 2.4 or newer. This port | |
141 provides a way to display multilingual text in menus (with some caveats). | |
142 | |
143 --- | |
144 ** The `emacsserver' program has been removed, replaced with Lisp code. | |
145 | |
146 --- | |
147 ** The `yow' program has been removed. | |
148 Use the corresponding Emacs feature instead. | |
149 | |
150 --- | |
151 ** By default, Emacs now uses a setgid helper program to update game | 195 ** By default, Emacs now uses a setgid helper program to update game |
152 scores. The directory ${localstatedir}/games/emacs is the normal | 196 scores. The directory ${localstatedir}/games/emacs is the normal |
153 place for game scores to be stored. You can control this with the | 197 place for game scores to be stored. You can control this with the |
154 configure option `--with-game-dir'. The specific user that Emacs uses | 198 configure option `--with-game-dir'. The specific user that Emacs uses |
155 to own the game scores is controlled by `--with-game-user'. If access | 199 to own the game scores is controlled by `--with-game-user'. If access |
156 to a game user is not available, then scores will be stored separately | 200 to a game user is not available, then scores will be stored separately |
157 in each user's home directory. | 201 in each user's home directory. |
158 | 202 |
159 --- | 203 ** Emacs can now be built without sound support. |
160 ** Leim is now part of the Emacs distribution. | 204 |
161 You no longer need to download a separate tarball in order to build | |
162 Emacs with Leim. | |
163 | |
164 +++ | |
165 ** The Emacs Lisp Reference Manual is now part of the distribution. | |
166 | |
167 The Emacs Lisp Reference Manual in Info format is built as part of the | |
168 Emacs build procedure and installed together with the Emacs User | |
169 Manual. A menu item was added to the menu bar that makes it easy | |
170 accessible (Help->More Manuals->Emacs Lisp Reference). | |
171 | |
172 --- | |
173 ** The Introduction to Programming in Emacs Lisp manual is now part of | |
174 the distribution. | |
175 | |
176 This manual is now part of the standard distribution and is installed, | |
177 together with the Emacs User Manual, into the Info directory. A menu | |
178 item was added to the menu bar that makes it easy accessible | |
179 (Help->More Manuals->Introduction to Emacs Lisp). | |
180 | |
181 --- | |
182 ** New translations of the Emacs Tutorial are available in the | |
183 following languages: Brasilian Portuguese, Bulgarian, Chinese (both | |
184 with simplified and traditional characters), French, and Italian. | |
185 Type `C-u C-h t' to choose one of them in case your language setup | |
186 doesn't automatically select the right one. | |
187 | |
188 --- | |
189 ** A Portuguese translation of Emacs' reference card has been added. | |
190 Its name is `pt-br-refcard.tex'. The corresponding PostScript file is | |
191 also included. | |
192 | |
193 --- | |
194 ** A French translation of the `Emacs Survival Guide' is available. | |
195 | |
196 --- | |
197 ** Emacs now includes support for loading image libraries on demand. | |
198 (Currently this feature is only used on MS Windows.) You can configure | |
199 the supported image types and their associated dynamic libraries by | |
200 setting the variable `image-library-alist'. | |
201 | |
202 --- | |
203 ** Support for a Cygwin build of Emacs was added. | |
204 | |
205 --- | |
206 ** Support for FreeBSD/Alpha has been added. | |
207 | |
208 --- | |
209 ** Support for GNU/Linux systems on S390 machines was added. | |
210 | |
211 --- | |
212 ** Support for GNU/Linux systems on Tensilica Xtensa machines was added. | |
213 | |
214 --- | |
215 ** Support for MacOS X was added. | |
216 See the files mac/README and mac/INSTALL for build instructions. | |
217 | |
218 --- | |
219 ** Support for GNU/Linux systems on X86-64 machines was added. | |
220 | |
221 --- | |
222 ** Mac OS 9 port now uses the Carbon API by default. You can also | |
223 create non-Carbon build by specifying `NonCarbon' as a target. See | |
224 the files mac/README and mac/INSTALL for build instructions. | |
225 | |
226 --- | |
227 ** Building with -DENABLE_CHECKING does not automatically build with union | 205 ** Building with -DENABLE_CHECKING does not automatically build with union |
228 types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. | 206 types any more. Add -DUSE_LISP_UNION_TYPE if you want union types. |
229 | 207 |
230 --- | |
231 ** When pure storage overflows while dumping, Emacs now prints how | 208 ** When pure storage overflows while dumping, Emacs now prints how |
232 much pure storage it will approximately need. | 209 much pure storage it will approximately need. |
233 | 210 |
234 --- | |
235 ** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the | 211 ** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the |
236 contents of buffers from a core dump and save them to files easily, should | 212 contents of buffers from a core dump and save them to files easily, should |
237 Emacs crash. | 213 Emacs crash. |
238 | 214 |
239 --- | |
240 ** The Emacs terminal emulation in term.el uses a different terminfo name. | 215 ** The Emacs terminal emulation in term.el uses a different terminfo name. |
241 The Emacs terminal emulation in term.el now uses "eterm-color" as its | 216 The Emacs terminal emulation in term.el now uses "eterm-color" as its |
242 terminfo name, since term.el now supports color. | 217 terminfo name, since term.el now supports color. |
243 | 218 |
244 --- | |
245 ** Emacs Lisp source files are compressed by default if `gzip' is available. | 219 ** Emacs Lisp source files are compressed by default if `gzip' is available. |
246 | 220 |
247 --- | |
248 ** All images used in Emacs have been consolidated in etc/images and subdirs. | 221 ** All images used in Emacs have been consolidated in etc/images and subdirs. |
249 See also the changes to `find-image', documented below. | 222 See also the changes to `find-image', documented below. |
250 | 223 |
251 | 224 |
252 * Startup Changes in Emacs 22.1 | 225 * Startup Changes in Emacs 22.1 |
253 | 226 |
254 +++ | |
255 ** New command line option -Q or --quick. | 227 ** New command line option -Q or --quick. |
256 This is like using -q --no-site-file, but in addition it also disables | 228 This is like using -q --no-site-file, but in addition it also disables |
257 the fancy startup screen. | 229 the fancy startup screen. |
258 | 230 |
259 +++ | |
260 ** New command line option -D or --basic-display. | 231 ** New command line option -D or --basic-display. |
261 Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and | 232 Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and |
262 the blinking cursor. | 233 the blinking cursor. |
263 | 234 |
264 +++ | |
265 ** New command line option -nbc or --no-blinking-cursor disables | 235 ** New command line option -nbc or --no-blinking-cursor disables |
266 the blinking cursor on graphical terminals. | 236 the blinking cursor on graphical terminals. |
267 | 237 |
268 +++ | |
269 ** The option --script FILE runs Emacs in batch mode and loads FILE. | 238 ** The option --script FILE runs Emacs in batch mode and loads FILE. |
270 It is useful for writing Emacs Lisp shell script files, because they | 239 It is useful for writing Emacs Lisp shell script files, because they |
271 can start with this line: | 240 can start with this line: |
272 | 241 |
273 #!/usr/bin/emacs --script | 242 #!/usr/bin/emacs --script |
274 | 243 |
275 +++ | |
276 ** The option --directory DIR now modifies `load-path' immediately. | 244 ** The option --directory DIR now modifies `load-path' immediately. |
277 Directories are added to the front of `load-path' in the order they | 245 Directories are added to the front of `load-path' in the order they |
278 appear on the command line. For example, with this command line: | 246 appear on the command line. For example, with this command line: |
279 | 247 |
280 emacs -batch -L .. -L /tmp --eval "(require 'foo)" | 248 emacs -batch -L .. -L /tmp --eval "(require 'foo)" |
281 | 249 |
282 Emacs looks for library `foo' in the parent directory, then in /tmp, then | 250 Emacs looks for library `foo' in the parent directory, then in /tmp, then |
283 in the other directories in `load-path'. (-L is short for --directory.) | 251 in the other directories in `load-path'. (-L is short for --directory.) |
284 | 252 |
285 +++ | |
286 ** The command line option --no-windows has been changed to | 253 ** The command line option --no-windows has been changed to |
287 --no-window-system. The old one still works, but is deprecated. | 254 --no-window-system. The old one still works, but is deprecated. |
288 | 255 |
289 --- | |
290 ** If the environment variable DISPLAY specifies an unreachable X display, | 256 ** If the environment variable DISPLAY specifies an unreachable X display, |
291 Emacs will now startup as if invoked with the --no-window-system option. | 257 Emacs will now startup as if invoked with the --no-window-system option. |
292 | 258 |
293 +++ | |
294 ** The -f option, used from the command line to call a function, | 259 ** The -f option, used from the command line to call a function, |
295 now reads arguments for the function interactively if it is | 260 now reads arguments for the function interactively if it is |
296 an interactively callable function. | 261 an interactively callable function. |
297 | 262 |
298 +++ | |
299 ** When you specify a frame size with --geometry, the size applies to | 263 ** When you specify a frame size with --geometry, the size applies to |
300 all frames you create. A position specified with --geometry only | 264 all frames you create. A position specified with --geometry only |
301 affects the initial frame. | 265 affects the initial frame. |
302 | 266 |
303 --- | |
304 ** Emacs built for MS-Windows now behaves like Emacs on X does, | 267 ** Emacs built for MS-Windows now behaves like Emacs on X does, |
305 wrt its frame position: if you don't specify a position (in your | 268 with respect to its frame position: if you don't specify a position |
306 .emacs init file, in the Registry, or with the --geometry command-line | 269 (in your .emacs init file, in the Registry, or with the --geometry |
307 option), Emacs leaves the frame position to the Windows' window | 270 command-line option), Emacs leaves the frame position to the Windows' |
308 manager. | 271 window manager. |
309 | 272 |
310 +++ | |
311 ** Emacs can now be invoked in full-screen mode on a windowed display. | 273 ** Emacs can now be invoked in full-screen mode on a windowed display. |
312 When Emacs is invoked on a window system, the new command-line options | 274 When Emacs is invoked on a window system, the new command-line options |
313 `--fullwidth', `--fullheight', and `--fullscreen' produce a frame | 275 `--fullwidth', `--fullheight', and `--fullscreen' produce a frame |
314 whose width, height, or both width and height take up the entire | 276 whose width, height, or both width and height take up the entire |
315 screen size. (For now, this does not work with some window managers.) | 277 screen size. (For now, this does not work with some window managers.) |
316 | 278 |
317 +++ | |
318 ** Emacs now displays a splash screen by default even if command-line | 279 ** Emacs now displays a splash screen by default even if command-line |
319 arguments were given. The new command-line option --no-splash | 280 arguments were given. The new command-line option --no-splash |
320 disables the splash screen; see also the variable | 281 disables the splash screen; see also the variable |
321 `inhibit-startup-message' (which is also aliased as | 282 `inhibit-splash-screen' (which is also aliased as |
322 `inhibit-splash-screen'). | 283 `inhibit-startup-message'). |
323 | 284 |
324 +++ | 285 ** The default is now to use a bitmap as the icon. |
325 ** The default is now to use a bitmap as the icon, so the command-line options | 286 The command-line options --icon-type, -i have been replaced with |
326 --icon-type, -i has been replaced with options --no-bitmap-icon, -nbi to turn | 287 options --no-bitmap-icon, -nbi to turn the bitmap icon off. |
327 the bitmap icon off. | 288 |
328 | |
329 +++ | |
330 ** New user option `inhibit-startup-buffer-menu'. | 289 ** New user option `inhibit-startup-buffer-menu'. |
331 When loading many files, for instance with `emacs *', Emacs normally | 290 When loading many files, for instance with `emacs *', Emacs normally |
332 displays a buffer menu. This option turns the buffer menu off. | 291 displays a buffer menu. This option turns the buffer menu off. |
333 | 292 |
334 +++ | |
335 ** Init file changes | 293 ** Init file changes |
336 If the init file ~/.emacs does not exist, Emacs will try | 294 If the init file ~/.emacs does not exist, Emacs will try |
337 ~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file | 295 ~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file |
338 ~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. | 296 ~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh. |
339 | 297 |
340 +++ | |
341 ** Emacs now reads the standard abbrevs file ~/.abbrev_defs | 298 ** Emacs now reads the standard abbrevs file ~/.abbrev_defs |
342 automatically at startup, if it exists. When Emacs offers to save | 299 automatically at startup, if it exists. When Emacs offers to save |
343 modified buffers, it saves the abbrevs too if they have changed. It | 300 modified buffers, it saves the abbrevs too if they have changed. It |
344 can do this either silently or asking for confirmation first, | 301 can do this either silently or asking for confirmation first, |
345 according to the value of `save-abbrevs'. | 302 according to the value of `save-abbrevs'. |
346 | 303 |
347 +++ | |
348 ** If the environment variable EMAIL is defined, Emacs now uses its value | 304 ** If the environment variable EMAIL is defined, Emacs now uses its value |
349 to compute the default value of `user-mail-address', in preference to | 305 to compute the default value of `user-mail-address', in preference to |
350 concatenation of `user-login-name' with the name of your host machine. | 306 concatenation of `user-login-name' with the name of your host machine. |
351 | 307 |
352 | 308 |
353 * Incompatible Editing Changes in Emacs 22.1 | 309 * Incompatible Editing Changes in Emacs 22.1 |
354 | 310 |
355 +++ | 311 ** You can now follow links by clicking Mouse-1 on the link. |
312 | |
313 See below for more details. | |
314 | |
356 ** M-g is now a prefix key. | 315 ** M-g is now a prefix key. |
357 M-g g and M-g M-g run goto-line. | 316 M-g g and M-g M-g run goto-line. |
358 M-g n and M-g M-n run next-error (like C-x `). | 317 M-g n and M-g M-n run next-error (like C-x `). |
359 M-g p and M-g M-p run previous-error. | 318 M-g p and M-g M-p run previous-error. |
360 | 319 |
361 +++ | |
362 ** C-u M-g M-g switches to the most recent previous buffer, | 320 ** C-u M-g M-g switches to the most recent previous buffer, |
363 and goes to the specified line in that buffer. | 321 and goes to the specified line in that buffer. |
364 | 322 |
365 When goto-line starts to execute, if there's a number in the buffer at | 323 When goto-line starts to execute, if there's a number in the buffer at |
366 point then it acts as the default argument for the minibuffer. | 324 point then it acts as the default argument for the minibuffer. |
367 | 325 |
368 +++ | 326 ** M-o now is the prefix key for setting text properties; |
327 M-o M-o requests refontification. | |
328 | |
369 ** The old bindings C-M-delete and C-M-backspace have been deleted, | 329 ** The old bindings C-M-delete and C-M-backspace have been deleted, |
370 since there are situations where one or the other will shut down | 330 since there are situations where one or the other will shut down |
371 the operating system or your X server. | 331 the operating system or your X server. |
372 | 332 |
373 +++ | |
374 ** line-move-ignore-invisible now defaults to t. | |
375 | |
376 +++ | |
377 ** When the undo information of the current command gets really large | 333 ** When the undo information of the current command gets really large |
378 (beyond the value of `undo-outer-limit'), Emacs discards it and warns | 334 (beyond the value of `undo-outer-limit'), Emacs discards it and warns |
379 you about it. | 335 you about it. |
380 | 336 |
381 +++ | |
382 ** `apply-macro-to-region-lines' now operates on all lines that begin | |
383 in the region, rather than on all complete lines in the region. | |
384 | |
385 +++ | |
386 ** A prefix argument is no longer required to repeat a jump to a | |
387 previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u | |
388 C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC | |
389 to set the mark immediately after a jump. | |
390 | |
391 +++ | |
392 ** The info-search bindings on C-h C-f, C-h C-k and C-h C-i | |
393 have been moved to C-h F, C-h K and C-h S. | |
394 | |
395 +++ | |
396 ** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special. | 337 ** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special. |
397 | 338 |
398 See below under "incremental search changes". | 339 See below under "incremental search changes". |
399 | 340 |
400 --- | |
401 ** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer | |
402 a special case. | |
403 | |
404 Since the default input is the current directory, this has the effect | |
405 of specifying the current directory. Normally that means to visit the | |
406 directory with Dired. | |
407 | |
408 You can get the old behavior by typing C-x C-f M-n RET, which fetches | |
409 the actual file name into the minibuffer. | |
410 | |
411 +++ | |
412 ** The completion commands TAB, SPC and ? in the minibuffer apply only | |
413 to the text before point. If there is text in the buffer after point, | |
414 it remains unchanged. | |
415 | |
416 +++ | |
417 ** When Emacs prompts for file names, SPC no longer completes the file name. | 341 ** When Emacs prompts for file names, SPC no longer completes the file name. |
418 This is so filenames with embedded spaces could be input without the | 342 This is so filenames with embedded spaces could be input without the |
419 need to quote the space with a C-q. The underlying changes in the | 343 need to quote the space with a C-q. The underlying changes in the |
420 keymaps that are active in the minibuffer are described below under | 344 keymaps that are active in the minibuffer are described below under |
421 "New keymaps for typing file names". | 345 "New keymaps for typing file names". |
422 | 346 |
423 +++ | 347 ** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer |
424 ** M-o now is the prefix key for setting text properties; | 348 a special case. |
425 M-o M-o requests refontification. | 349 |
426 | 350 Since the default input is the current directory, this has the effect |
427 +++ | 351 of specifying the current directory. Normally that means to visit the |
428 ** You can now follow links by clicking Mouse-1 on the link. | 352 directory with Dired. |
429 | 353 |
430 See below for more details. | 354 You can get the old behavior by typing C-x C-f M-n RET, which fetches |
431 | 355 the actual file name into the minibuffer. |
432 +++ | 356 |
357 ** The completion commands TAB, SPC and ? in the minibuffer apply only | |
358 to the text before point. If there is text in the buffer after point, | |
359 it remains unchanged. | |
360 | |
433 ** In Dired's ! command (dired-do-shell-command), `*' and `?' now | 361 ** In Dired's ! command (dired-do-shell-command), `*' and `?' now |
434 control substitution of the file names only when they are surrounded | 362 control substitution of the file names only when they are surrounded |
435 by whitespace. This means you can now use them as shell wildcards | 363 by whitespace. This means you can now use them as shell wildcards |
436 too. If you want to use just plain `*' as a wildcard, type `*""'; the | 364 too. If you want to use just plain `*' as a wildcard, type `*""'; the |
437 doublequotes make no difference in the shell, but they prevent | 365 doublequotes make no difference in the shell, but they prevent |
438 special treatment in `dired-do-shell-command'. | 366 special treatment in `dired-do-shell-command'. |
439 | 367 |
440 --- | 368 ** A prefix argument is no longer required to repeat a jump to a |
369 previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u | |
370 C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC | |
371 to set the mark immediately after a jump. | |
372 | |
373 ** The info-search bindings on C-h C-f, C-h C-k and C-h C-i | |
374 have been moved to C-h F, C-h K and C-h S. | |
375 | |
376 ** `apply-macro-to-region-lines' now operates on all lines that begin | |
377 in the region, rather than on all complete lines in the region. | |
378 | |
379 ** line-move-ignore-invisible now defaults to t. | |
380 | |
441 ** Adaptive filling misfeature removed. | 381 ** Adaptive filling misfeature removed. |
442 It no longer treats `NNN.' or `(NNN)' as a prefix. | 382 It no longer treats `NNN.' or `(NNN)' as a prefix. |
443 | 383 |
444 --- | |
445 ** The register compatibility key bindings (deprecated since Emacs 19) | 384 ** The register compatibility key bindings (deprecated since Emacs 19) |
446 have been removed: | 385 have been removed: |
447 C-x / point-to-register (Use: C-x r SPC) | 386 C-x / point-to-register (Use: C-x r SPC) |
448 C-x j jump-to-register (Use: C-x r j) | 387 C-x j jump-to-register (Use: C-x r j) |
449 C-x x copy-to-register (Use: C-x r s) | 388 C-x x copy-to-register (Use: C-x r s) |
450 C-x g insert-register (Use: C-x r i) | 389 C-x g insert-register (Use: C-x r i) |
451 | 390 |
452 | 391 |
453 * Editing Changes in Emacs 22.1 | 392 * Editing Changes in Emacs 22.1 |
454 | 393 |
455 +++ | |
456 ** !MEM FULL! at the start of the mode line indicates that Emacs | 394 ** !MEM FULL! at the start of the mode line indicates that Emacs |
457 cannot get any more memory for Lisp data. This often means it could | 395 cannot get any more memory for Lisp data. This often means it could |
458 crash soon if you do things that use more memory. On most systems, | 396 crash soon if you do things that use more memory. On most systems, |
459 killing buffers will get out of this state. If killing buffers does | 397 killing buffers will get out of this state. If killing buffers does |
460 not make !MEM FULL! disappear, you should save your work and start | 398 not make !MEM FULL! disappear, you should save your work and start |
461 a new Emacs. | 399 a new Emacs. |
462 | 400 |
463 +++ | |
464 ** The max size of buffers and integers has been doubled. | 401 ** The max size of buffers and integers has been doubled. |
465 On 32bit machines, it is now 256M (i.e. 268435455). | 402 On 32bit machines, it is now 256M (i.e. 268435455). |
466 | 403 |
467 +++ | |
468 ** You can now switch buffers in a cyclic order with C-x C-left | 404 ** You can now switch buffers in a cyclic order with C-x C-left |
469 (previous-buffer) and C-x C-right (next-buffer). C-x left and | 405 (previous-buffer) and C-x C-right (next-buffer). C-x left and |
470 C-x right can be used as well. The functions keep a different buffer | 406 C-x right can be used as well. The functions keep a different buffer |
471 cycle for each frame, using the frame-local buffer list. | 407 cycle for each frame, using the frame-local buffer list. |
472 | 408 |
473 +++ | |
474 ** `undo-only' does an undo which does not redo any previous undo. | 409 ** `undo-only' does an undo which does not redo any previous undo. |
475 | 410 |
476 +++ | |
477 ** M-SPC (just-one-space) when given a numeric argument N | 411 ** M-SPC (just-one-space) when given a numeric argument N |
478 converts whitespace around point to N spaces. | 412 converts whitespace around point to N spaces. |
479 | 413 |
480 --- | |
481 ** C-x 5 C-o displays a specified buffer in another frame | 414 ** C-x 5 C-o displays a specified buffer in another frame |
482 but does not switch to that frame. It's the multi-frame | 415 but does not switch to that frame. It's the multi-frame |
483 analogue of C-x 4 C-o. | 416 analogue of C-x 4 C-o. |
484 | 417 |
485 --- | |
486 ** New commands to operate on pairs of open and close characters: | |
487 `insert-pair', `delete-pair', `raise-sexp'. | |
488 | |
489 +++ | |
490 ** New command `kill-whole-line' kills an entire line at once. | 418 ** New command `kill-whole-line' kills an entire line at once. |
491 By default, it is bound to C-S-<backspace>. | 419 By default, it is bound to C-S-<backspace>. |
492 | 420 |
493 +++ | |
494 ** Yanking text now discards certain text properties that can | 421 ** Yanking text now discards certain text properties that can |
495 be inconvenient when you did not expect them. The variable | 422 be inconvenient when you did not expect them. The variable |
496 `yank-excluded-properties' specifies which ones. Insertion | 423 `yank-excluded-properties' specifies which ones. Insertion |
497 of register contents and rectangles also discards these properties. | 424 of register contents and rectangles also discards these properties. |
498 | 425 |
499 +++ | |
500 ** The default values of paragraph-start and indent-line-function have | 426 ** The default values of paragraph-start and indent-line-function have |
501 been changed to reflect those used in Text mode rather than those used | 427 been changed to reflect those used in Text mode rather than those used |
502 in Indented-Text mode. | 428 in Indented-Text mode. |
503 | 429 |
504 +++ | 430 ** New commands to operate on pairs of open and close characters: |
431 `insert-pair', `delete-pair', `raise-sexp'. | |
432 | |
505 ** M-x setenv now expands environment variable references. | 433 ** M-x setenv now expands environment variable references. |
506 | 434 |
507 Substrings of the form `$foo' and `${foo}' in the specified new value | 435 Substrings of the form `$foo' and `${foo}' in the specified new value |
508 now refer to the value of environment variable foo. To include a `$' | 436 now refer to the value of environment variable foo. To include a `$' |
509 in the value, use `$$'. | 437 in the value, use `$$'. |
510 | 438 |
511 +++ | |
512 ** `special-display-buffer-names' and `special-display-regexps' now | 439 ** `special-display-buffer-names' and `special-display-regexps' now |
513 understand two new boolean pseudo-frame-parameters `same-frame' and | 440 understand two new boolean pseudo-frame-parameters `same-frame' and |
514 `same-window'. | 441 `same-window'. |
515 | 442 |
516 +++ | |
517 ** The default for the paper size (variable ps-paper-type) is taken | 443 ** The default for the paper size (variable ps-paper-type) is taken |
518 from the locale. | 444 from the locale. |
519 | 445 |
520 ** Mark command changes: | 446 ** Mark command changes: |
521 | 447 |
522 +++ | |
523 *** A prefix argument is no longer required to repeat a jump to a | 448 *** A prefix argument is no longer required to repeat a jump to a |
524 previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the | 449 previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the |
525 mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. | 450 mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump. |
526 | 451 |
527 +++ | |
528 *** Marking commands extend the region when invoked multiple times. | 452 *** Marking commands extend the region when invoked multiple times. |
529 | 453 |
530 If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h | 454 If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h |
531 (mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region | 455 (mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region |
532 extends each time, so you can mark the next two sexps with M-C-SPC | 456 extends each time, so you can mark the next two sexps with M-C-SPC |
535 region when the mark is active in Transient Mark mode, regardless of | 459 region when the mark is active in Transient Mark mode, regardless of |
536 the last command. To start a new region with one of marking commands | 460 the last command. To start a new region with one of marking commands |
537 in Transient Mark mode, you can deactivate the active region with C-g, | 461 in Transient Mark mode, you can deactivate the active region with C-g, |
538 or set the new mark with C-SPC. | 462 or set the new mark with C-SPC. |
539 | 463 |
540 +++ | |
541 *** M-h (mark-paragraph) now accepts a prefix arg. | 464 *** M-h (mark-paragraph) now accepts a prefix arg. |
542 | 465 |
543 With positive arg, M-h marks the current and the following paragraphs; | 466 With positive arg, M-h marks the current and the following paragraphs; |
544 if the arg is negative, it marks the current and the preceding | 467 if the arg is negative, it marks the current and the preceding |
545 paragraphs. | 468 paragraphs. |
546 | 469 |
547 +++ | |
548 *** Some commands do something special in Transient Mark mode when the | 470 *** Some commands do something special in Transient Mark mode when the |
549 mark is active--for instance, they limit their operation to the | 471 mark is active--for instance, they limit their operation to the |
550 region. Even if you don't normally use Transient Mark mode, you might | 472 region. Even if you don't normally use Transient Mark mode, you might |
551 want to get this behavior from a particular command. There are two | 473 want to get this behavior from a particular command. There are two |
552 ways you can enable Transient Mark mode and activate the mark, for one | 474 ways you can enable Transient Mark mode and activate the mark, for one |
560 After these commands, Transient Mark mode remains enabled until you | 482 After these commands, Transient Mark mode remains enabled until you |
561 deactivate the mark. That typically happens when you type a command | 483 deactivate the mark. That typically happens when you type a command |
562 that alters the buffer, but you can also deactivate the mark by typing | 484 that alters the buffer, but you can also deactivate the mark by typing |
563 C-g. | 485 C-g. |
564 | 486 |
565 +++ | |
566 *** Movement commands `beginning-of-buffer', `end-of-buffer', | 487 *** Movement commands `beginning-of-buffer', `end-of-buffer', |
567 `beginning-of-defun', `end-of-defun' do not set the mark if the mark | 488 `beginning-of-defun', `end-of-defun' do not set the mark if the mark |
568 is already active in Transient Mark mode. | 489 is already active in Transient Mark mode. |
569 | 490 |
570 ** Help command changes: | 491 ** Help command changes: |
571 | 492 |
572 +++ | |
573 *** Changes in C-h bindings: | 493 *** Changes in C-h bindings: |
574 | 494 |
575 C-h e displays the *Messages* buffer. | 495 C-h e displays the *Messages* buffer. |
576 | 496 |
577 C-h d runs apropos-documentation. | 497 C-h d runs apropos-documentation. |
601 - C-h w and C-h f kill-line reports: | 521 - C-h w and C-h f kill-line reports: |
602 kill-line is remapped to new-kill-line which is on C-k, <deleteline> | 522 kill-line is remapped to new-kill-line which is on C-k, <deleteline> |
603 - C-h w and C-h f new-kill-line reports: | 523 - C-h w and C-h f new-kill-line reports: |
604 new-kill-line is on C-k | 524 new-kill-line is on C-k |
605 | 525 |
606 --- | |
607 *** Help commands `describe-function' and `describe-key' now show function | 526 *** Help commands `describe-function' and `describe-key' now show function |
608 arguments in lowercase italics on displays that support it. To change the | 527 arguments in lowercase italics on displays that support it. To change the |
609 default, customize face `help-argument-name' or redefine the function | 528 default, customize face `help-argument-name' or redefine the function |
610 `help-default-arg-highlight'. | 529 `help-default-arg-highlight'. |
611 | 530 |
612 +++ | |
613 *** C-h v and C-h f commands now include a hyperlink to the C source for | 531 *** C-h v and C-h f commands now include a hyperlink to the C source for |
614 variables and functions defined in C (if the C source is available). | 532 variables and functions defined in C (if the C source is available). |
615 | 533 |
616 +++ | |
617 *** Help mode now only makes hyperlinks for faces when the face name is | 534 *** Help mode now only makes hyperlinks for faces when the face name is |
618 preceded or followed by the word `face'. It no longer makes | 535 preceded or followed by the word `face'. It no longer makes |
619 hyperlinks for variables without variable documentation, unless | 536 hyperlinks for variables without variable documentation, unless |
620 preceded by one of the words `variable' or `option'. It now makes | 537 preceded by one of the words `variable' or `option'. It now makes |
621 hyperlinks to Info anchors (or nodes) if the anchor (or node) name is | 538 hyperlinks to Info anchors (or nodes) if the anchor (or node) name is |
622 enclosed in single quotes and preceded by `info anchor' or `Info | 539 enclosed in single quotes and preceded by `info anchor' or `Info |
623 anchor' (in addition to earlier `info node' and `Info node'). In | 540 anchor' (in addition to earlier `info node' and `Info node'). In |
624 addition, it now makes hyperlinks to URLs as well if the URL is | 541 addition, it now makes hyperlinks to URLs as well if the URL is |
625 enclosed in single quotes and preceded by `URL'. | 542 enclosed in single quotes and preceded by `URL'. |
626 | 543 |
627 +++ | |
628 *** The new command `describe-char' (C-u C-x =) pops up a buffer with | 544 *** The new command `describe-char' (C-u C-x =) pops up a buffer with |
629 description various information about a character, including its | 545 description various information about a character, including its |
630 encodings and syntax, its text properties, how to input, overlays, and | 546 encodings and syntax, its text properties, how to input, overlays, and |
631 widgets at point. You can get more information about some of them, by | 547 widgets at point. You can get more information about some of them, by |
632 clicking on mouse-sensitive areas or moving there and pressing RET. | 548 clicking on mouse-sensitive areas or moving there and pressing RET. |
633 | 549 |
634 +++ | |
635 *** The command `list-text-properties-at' has been deleted because | 550 *** The command `list-text-properties-at' has been deleted because |
636 C-u C-x = gives the same information and more. | 551 C-u C-x = gives the same information and more. |
637 | 552 |
638 +++ | |
639 *** New command `display-local-help' displays any local help at point | 553 *** New command `display-local-help' displays any local help at point |
640 in the echo area. It is bound to `C-h .'. It normally displays the | 554 in the echo area. It is bound to `C-h .'. It normally displays the |
641 same string that would be displayed on mouse-over using the | 555 same string that would be displayed on mouse-over using the |
642 `help-echo' property, but, in certain cases, it can display a more | 556 `help-echo' property, but, in certain cases, it can display a more |
643 keyboard oriented alternative. | 557 keyboard oriented alternative. |
644 | 558 |
645 +++ | |
646 *** New user option `help-at-pt-display-when-idle' allows to | 559 *** New user option `help-at-pt-display-when-idle' allows to |
647 automatically show the help provided by `display-local-help' on | 560 automatically show the help provided by `display-local-help' on |
648 point-over, after suitable idle time. The amount of idle time is | 561 point-over, after suitable idle time. The amount of idle time is |
649 determined by the user option `help-at-pt-timer-delay' and defaults | 562 determined by the user option `help-at-pt-timer-delay' and defaults |
650 to one second. This feature is turned off by default. | 563 to one second. This feature is turned off by default. |
651 | 564 |
652 +++ | |
653 *** The apropos commands now accept a list of words to match. | 565 *** The apropos commands now accept a list of words to match. |
654 When more than one word is specified, at least two of those words must | 566 When more than one word is specified, at least two of those words must |
655 be present for an item to match. Regular expression matching is still | 567 be present for an item to match. Regular expression matching is still |
656 available. | 568 available. |
657 | 569 |
658 +++ | |
659 *** The new option `apropos-sort-by-scores' causes the matching items | 570 *** The new option `apropos-sort-by-scores' causes the matching items |
660 to be sorted according to their score. The score for an item is a | 571 to be sorted according to their score. The score for an item is a |
661 number calculated to indicate how well the item matches the words or | 572 number calculated to indicate how well the item matches the words or |
662 regular expression that you entered to the apropos command. The best | 573 regular expression that you entered to the apropos command. The best |
663 match is listed first, and the calculated score is shown for each | 574 match is listed first, and the calculated score is shown for each |
664 matching item. | 575 matching item. |
665 | 576 |
666 ** Incremental Search changes: | 577 ** Incremental Search changes: |
667 | 578 |
668 +++ | |
669 *** Vertical scrolling is now possible within incremental search. | 579 *** Vertical scrolling is now possible within incremental search. |
670 To enable this feature, customize the new user option | 580 To enable this feature, customize the new user option |
671 `isearch-allow-scroll'. User written commands which satisfy stringent | 581 `isearch-allow-scroll'. User written commands which satisfy stringent |
672 constraints can be marked as "scrolling commands". See the Emacs manual | 582 constraints can be marked as "scrolling commands". See the Emacs manual |
673 for details. | 583 for details. |
674 | 584 |
675 +++ | |
676 *** C-w in incremental search now grabs either a character or a word, | 585 *** C-w in incremental search now grabs either a character or a word, |
677 making the decision in a heuristic way. This new job is done by the | 586 making the decision in a heuristic way. This new job is done by the |
678 command `isearch-yank-word-or-char'. To restore the old behavior, | 587 command `isearch-yank-word-or-char'. To restore the old behavior, |
679 bind C-w to `isearch-yank-word' in `isearch-mode-map'. | 588 bind C-w to `isearch-yank-word' in `isearch-mode-map'. |
680 | 589 |
681 +++ | |
682 *** C-y in incremental search now grabs the next line if point is already | 590 *** C-y in incremental search now grabs the next line if point is already |
683 at the end of a line. | 591 at the end of a line. |
684 | 592 |
685 +++ | |
686 *** C-M-w deletes and C-M-y grabs a character in isearch mode. | 593 *** C-M-w deletes and C-M-y grabs a character in isearch mode. |
687 Another method to grab a character is to enter the minibuffer by `M-e' | 594 Another method to grab a character is to enter the minibuffer by `M-e' |
688 and to type `C-f' at the end of the search string in the minibuffer. | 595 and to type `C-f' at the end of the search string in the minibuffer. |
689 | 596 |
690 +++ | |
691 *** M-% typed in isearch mode invokes `query-replace' or | 597 *** M-% typed in isearch mode invokes `query-replace' or |
692 `query-replace-regexp' (depending on search mode) with the current | 598 `query-replace-regexp' (depending on search mode) with the current |
693 search string used as the string to replace. | 599 search string used as the string to replace. |
694 | 600 |
695 +++ | |
696 *** Isearch no longer adds `isearch-resume' commands to the command | 601 *** Isearch no longer adds `isearch-resume' commands to the command |
697 history by default. To enable this feature, customize the new | 602 history by default. To enable this feature, customize the new |
698 user option `isearch-resume-in-command-history'. | 603 user option `isearch-resume-in-command-history'. |
699 | 604 |
700 ** Replace command changes: | 605 ** Replace command changes: |
701 | 606 |
702 --- | |
703 *** New user option `query-replace-skip-read-only': when non-nil, | 607 *** New user option `query-replace-skip-read-only': when non-nil, |
704 `query-replace' and related functions simply ignore | 608 `query-replace' and related functions simply ignore |
705 a match if part of it has a read-only property. | 609 a match if part of it has a read-only property. |
706 | 610 |
707 +++ | |
708 *** When used interactively, the commands `query-replace-regexp' and | 611 *** When used interactively, the commands `query-replace-regexp' and |
709 `replace-regexp' allow \,expr to be used in a replacement string, | 612 `replace-regexp' allow \,expr to be used in a replacement string, |
710 where expr is an arbitrary Lisp expression evaluated at replacement | 613 where expr is an arbitrary Lisp expression evaluated at replacement |
711 time. In many cases, this will be more convenient than using | 614 time. `\#' in a replacement string now refers to the count of |
712 `query-replace-regexp-eval'. `\#' in a replacement string now refers | 615 replacements already made by the replacement command. All regular |
713 to the count of replacements already made by the replacement command. | 616 expression replacement commands now allow `\?' in the replacement |
714 All regular expression replacement commands now allow `\?' in the | 617 string to specify a position where the replacement string can be |
715 replacement string to specify a position where the replacement string | 618 edited for each replacement. `query-replace-regexp-eval' is now |
716 can be edited for each replacement. | 619 deprecated since it offers no additional functionality. |
717 | 620 |
718 +++ | |
719 *** query-replace uses isearch lazy highlighting when the new user option | 621 *** query-replace uses isearch lazy highlighting when the new user option |
720 `query-replace-lazy-highlight' is non-nil. | 622 `query-replace-lazy-highlight' is non-nil. |
721 | 623 |
722 --- | |
723 *** The current match in query-replace is highlighted in new face | 624 *** The current match in query-replace is highlighted in new face |
724 `query-replace' which by default inherits from isearch face. | 625 `query-replace' which by default inherits from isearch face. |
725 | 626 |
726 ** Local variables lists: | 627 ** Local variables lists: |
727 | 628 |
728 +++ | |
729 *** In processing a local variables list, Emacs strips the prefix and | 629 *** In processing a local variables list, Emacs strips the prefix and |
730 suffix from every line before processing all the lines. | 630 suffix from every line before processing all the lines. |
731 | 631 |
732 +++ | |
733 *** Text properties in local variables. | 632 *** Text properties in local variables. |
734 | 633 |
735 A file local variables list cannot specify a string with text | 634 A file local variables list cannot specify a string with text |
736 properties--any specified text properties are discarded. | 635 properties--any specified text properties are discarded. |
737 | 636 |
738 +++ | |
739 *** If the local variables list contains any variable-value pairs that | 637 *** If the local variables list contains any variable-value pairs that |
740 are not known to be safe, Emacs shows a prompt asking whether to apply | 638 are not known to be safe, Emacs shows a prompt asking whether to apply |
741 the local variables list as a whole. In earlier versions, a prompt | 639 the local variables list as a whole. In earlier versions, a prompt |
742 was only issued for variables explicitly marked as risky (for the | 640 was only issued for variables explicitly marked as risky (for the |
743 definition of risky variables, see `risky-local-variable-p'). | 641 definition of risky variables, see `risky-local-variable-p'). |
748 Variables can also be marked as safe with the existing | 646 Variables can also be marked as safe with the existing |
749 `safe-local-variable' property (see `safe-local-variable-p'). | 647 `safe-local-variable' property (see `safe-local-variable-p'). |
750 However, risky variables will not be added to | 648 However, risky variables will not be added to |
751 `safe-local-variable-values' in this way. | 649 `safe-local-variable-values' in this way. |
752 | 650 |
753 +++ | |
754 *** The variable `enable-local-variables' controls how local variable | 651 *** The variable `enable-local-variables' controls how local variable |
755 lists are handled. t, the default, specifies the standard querying | 652 lists are handled. t, the default, specifies the standard querying |
756 behavior. :safe means use only safe values, and ignore the rest. | 653 behavior. :safe means use only safe values, and ignore the rest. |
757 :all means set all variables, whether or not they are safe. | 654 :all means set all variables, whether or not they are safe. |
758 nil means ignore them all. Anything else means always query. | 655 nil means ignore them all. Anything else means always query. |
759 | 656 |
760 +++ | |
761 *** The variable `safe-local-eval-forms' specifies a list of forms that | 657 *** The variable `safe-local-eval-forms' specifies a list of forms that |
762 are ok to evaluate when they appear in an `eval' local variables | 658 are ok to evaluate when they appear in an `eval' local variables |
763 specification. Normally Emacs asks for confirmation before evaluating | 659 specification. Normally Emacs asks for confirmation before evaluating |
764 such a form, but if the form appears in this list, no confirmation is | 660 such a form, but if the form appears in this list, no confirmation is |
765 needed. | 661 needed. |
766 | 662 |
767 +++ | |
768 *** If a function has a non-nil `safe-local-eval-function' property, | 663 *** If a function has a non-nil `safe-local-eval-function' property, |
769 that means it is ok to evaluate some calls to that function when it | 664 that means it is ok to evaluate some calls to that function when it |
770 appears in an `eval' local variables specification. If the property | 665 appears in an `eval' local variables specification. If the property |
771 is t, then any form calling that function with constant arguments is | 666 is t, then any form calling that function with constant arguments is |
772 ok. If the property is a function or list of functions, they are called | 667 ok. If the property is a function or list of functions, they are called |
775 If the form is not "ok to call", that means Emacs asks for | 670 If the form is not "ok to call", that means Emacs asks for |
776 confirmation as before. | 671 confirmation as before. |
777 | 672 |
778 ** File operation changes: | 673 ** File operation changes: |
779 | 674 |
780 +++ | |
781 *** Unquoted `$' in file names do not signal an error any more when | 675 *** Unquoted `$' in file names do not signal an error any more when |
782 the corresponding environment variable does not exist. | 676 the corresponding environment variable does not exist. |
783 Instead, the `$ENVVAR' text is left as is, so that `$$' quoting | 677 Instead, the `$ENVVAR' text is left as is, so that `$$' quoting |
784 is only rarely needed. | 678 is only rarely needed. |
785 | 679 |
786 +++ | |
787 *** find-file-read-only visits multiple files in read-only mode, | 680 *** find-file-read-only visits multiple files in read-only mode, |
788 when the file name contains wildcard characters. | 681 when the file name contains wildcard characters. |
789 | 682 |
790 +++ | |
791 *** find-alternate-file replaces the current file with multiple files, | 683 *** find-alternate-file replaces the current file with multiple files, |
792 when the file name contains wildcard characters. It now asks if you | 684 when the file name contains wildcard characters. It now asks if you |
793 wish save your changes and not just offer to kill the buffer. | 685 wish save your changes and not just offer to kill the buffer. |
794 | 686 |
795 +++ | |
796 *** Auto Compression mode is now enabled by default. | 687 *** Auto Compression mode is now enabled by default. |
797 | 688 |
798 --- | |
799 *** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. | 689 *** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case. |
800 | 690 |
801 Since the default input is the current directory, this has the effect | 691 Since the default input is the current directory, this has the effect |
802 of specifying the current directory. Normally that means to visit the | 692 of specifying the current directory. Normally that means to visit the |
803 directory with Dired. | 693 directory with Dired. |
804 | 694 |
805 +++ | |
806 *** When you are root, and you visit a file whose modes specify | 695 *** When you are root, and you visit a file whose modes specify |
807 read-only, the Emacs buffer is now read-only too. Type C-x C-q if you | 696 read-only, the Emacs buffer is now read-only too. Type C-x C-q if you |
808 want to make the buffer writable. (As root, you can in fact alter the | 697 want to make the buffer writable. (As root, you can in fact alter the |
809 file.) | 698 file.) |
810 | 699 |
811 +++ | |
812 *** C-x s (save-some-buffers) now offers an option `d' to diff a buffer | 700 *** C-x s (save-some-buffers) now offers an option `d' to diff a buffer |
813 against its file, so you can see what changes you would be saving. | 701 against its file, so you can see what changes you would be saving. |
814 | 702 |
815 +++ | |
816 *** The commands copy-file, rename-file, make-symbolic-link and | 703 *** The commands copy-file, rename-file, make-symbolic-link and |
817 add-name-to-file, when given a directory as the "new name" argument, | 704 add-name-to-file, when given a directory as the "new name" argument, |
818 convert it to a file name by merging in the within-directory part of | 705 convert it to a file name by merging in the within-directory part of |
819 the existing file's name. (This is the same convention that shell | 706 the existing file's name. (This is the same convention that shell |
820 commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET | 707 commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET |
821 /tmp RET copies ~/foo to /tmp/foo. | 708 /tmp RET copies ~/foo to /tmp/foo. |
822 | 709 |
823 --- | |
824 *** When used interactively, `format-write-file' now asks for confirmation | 710 *** When used interactively, `format-write-file' now asks for confirmation |
825 before overwriting an existing file, unless a prefix argument is | 711 before overwriting an existing file, unless a prefix argument is |
826 supplied. This behavior is analogous to `write-file'. | 712 supplied. This behavior is analogous to `write-file'. |
827 | 713 |
828 --- | |
829 *** The variable `auto-save-file-name-transforms' now has a third element that | 714 *** The variable `auto-save-file-name-transforms' now has a third element that |
830 controls whether or not the function `make-auto-save-file-name' will | 715 controls whether or not the function `make-auto-save-file-name' will |
831 attempt to construct a unique auto-save name (e.g. for remote files). | 716 attempt to construct a unique auto-save name (e.g. for remote files). |
832 | 717 |
833 +++ | |
834 *** The new option `write-region-inhibit-fsync' disables calls to fsync | 718 *** The new option `write-region-inhibit-fsync' disables calls to fsync |
835 in `write-region'. This can be useful on laptops to avoid spinning up | 719 in `write-region'. This can be useful on laptops to avoid spinning up |
836 the hard drive upon each file save. Enabling this variable may result | 720 the hard drive upon each file save. Enabling this variable may result |
837 in data loss, use with care. | 721 in data loss, use with care. |
838 | 722 |
839 +++ | |
840 *** If the user visits a file larger than `large-file-warning-threshold', | 723 *** If the user visits a file larger than `large-file-warning-threshold', |
841 Emacs asks for confirmation. | 724 Emacs asks for confirmation. |
842 | 725 |
843 +++ | |
844 *** require-final-newline now has two new possible values: | 726 *** require-final-newline now has two new possible values: |
845 | 727 |
846 `visit' means add a newline (as an undoable change) if it's needed | 728 `visit' means add a newline (as an undoable change) if it's needed |
847 when visiting the file. | 729 when visiting the file. |
848 | 730 |
849 `visit-save' means add a newline (as an undoable change) if it's | 731 `visit-save' means add a newline (as an undoable change) if it's |
850 needed when visiting the file, and also add a newline if it's needed | 732 needed when visiting the file, and also add a newline if it's needed |
851 when saving the file. | 733 when saving the file. |
852 | 734 |
853 +++ | |
854 *** The new option mode-require-final-newline controls how certain | 735 *** The new option mode-require-final-newline controls how certain |
855 major modes enable require-final-newline. Any major mode that's | 736 major modes enable require-final-newline. Any major mode that's |
856 designed for a kind of file that should normally end in a newline | 737 designed for a kind of file that should normally end in a newline |
857 sets require-final-newline based on mode-require-final-newline. | 738 sets require-final-newline based on mode-require-final-newline. |
858 So you can customize mode-require-final-newline to control what these | 739 So you can customize mode-require-final-newline to control what these |
859 modes do. | 740 modes do. |
860 | 741 |
861 ** Minibuffer changes: | 742 ** Minibuffer changes: |
862 | 743 |
863 +++ | |
864 *** The new file-name-shadow-mode is turned ON by default, so that when | 744 *** The new file-name-shadow-mode is turned ON by default, so that when |
865 entering a file name, any prefix which Emacs will ignore is dimmed. | 745 entering a file name, any prefix which Emacs will ignore is dimmed. |
866 | 746 |
867 +++ | |
868 *** There's a new face `minibuffer-prompt'. | 747 *** There's a new face `minibuffer-prompt'. |
869 Emacs adds this face to the list of text properties stored in the | 748 Emacs adds this face to the list of text properties stored in the |
870 variable `minibuffer-prompt-properties', which is used to display the | 749 variable `minibuffer-prompt-properties', which is used to display the |
871 prompt string. | 750 prompt string. |
872 | 751 |
873 --- | |
874 *** Enhanced visual feedback in `*Completions*' buffer. | 752 *** Enhanced visual feedback in `*Completions*' buffer. |
875 | 753 |
876 Completions lists use faces to highlight what all completions | 754 Completions lists use faces to highlight what all completions |
877 have in common and where they begin to differ. | 755 have in common and where they begin to differ. |
878 | 756 |
889 triggered at minibuffer. If you want to fontify completions whose | 767 triggered at minibuffer. If you want to fontify completions whose |
890 listing is triggered at the other normal buffer, you have to pass | 768 listing is triggered at the other normal buffer, you have to pass |
891 the common prefix of completions to `display-completion-list' as | 769 the common prefix of completions to `display-completion-list' as |
892 its second argument. | 770 its second argument. |
893 | 771 |
894 +++ | |
895 *** File-name completion can now ignore specified directories. | 772 *** File-name completion can now ignore specified directories. |
896 If an element of the list in `completion-ignored-extensions' ends in a | 773 If an element of the list in `completion-ignored-extensions' ends in a |
897 slash `/', it indicates a subdirectory that should be ignored when | 774 slash `/', it indicates a subdirectory that should be ignored when |
898 completing file names. Elements of `completion-ignored-extensions' | 775 completing file names. Elements of `completion-ignored-extensions' |
899 which do not end in a slash are never considered when a completion | 776 which do not end in a slash are never considered when a completion |
900 candidate is a directory. | 777 candidate is a directory. |
901 | 778 |
902 +++ | |
903 *** The completion commands TAB, SPC and ? in the minibuffer apply only | 779 *** The completion commands TAB, SPC and ? in the minibuffer apply only |
904 to the text before point. If there is text in the buffer after point, | 780 to the text before point. If there is text in the buffer after point, |
905 it remains unchanged. | 781 it remains unchanged. |
906 | 782 |
907 +++ | |
908 *** New user option `history-delete-duplicates'. | 783 *** New user option `history-delete-duplicates'. |
909 If set to t when adding a new history element, all previous identical | 784 If set to t when adding a new history element, all previous identical |
910 elements are deleted from the history list. | 785 elements are deleted from the history list. |
911 | 786 |
912 ** Redisplay changes: | 787 ** Redisplay changes: |
913 | 788 |
914 +++ | |
915 *** Preemptive redisplay now adapts to current load and bandwidth. | 789 *** Preemptive redisplay now adapts to current load and bandwidth. |
916 | 790 |
917 To avoid preempting redisplay on fast computers, networks, and displays, | 791 To avoid preempting redisplay on fast computers, networks, and displays, |
918 the arrival of new input is now performed at regular intervals during | 792 the arrival of new input is now performed at regular intervals during |
919 redisplay. The new variable `redisplay-preemption-period' specifies | 793 redisplay. The new variable `redisplay-preemption-period' specifies |
920 the period; the default is to check for input every 0.1 seconds. | 794 the period; the default is to check for input every 0.1 seconds. |
921 | 795 |
922 +++ | |
923 *** The mode line position information now comes before the major mode. | 796 *** The mode line position information now comes before the major mode. |
924 When the file is maintained under version control, that information | 797 When the file is maintained under version control, that information |
925 appears between the position information and the major mode. | 798 appears between the position information and the major mode. |
926 | 799 |
927 +++ | |
928 *** New face `escape-glyph' highlights control characters and escape glyphs. | 800 *** New face `escape-glyph' highlights control characters and escape glyphs. |
929 | 801 |
930 +++ | |
931 *** Non-breaking space and hyphens are now displayed with a special | 802 *** Non-breaking space and hyphens are now displayed with a special |
932 face, either nobreak-space or escape-glyph. You can turn this off or | 803 face, either nobreak-space or escape-glyph. You can turn this off or |
933 specify a different mode by setting the variable `nobreak-char-display'. | 804 specify a different mode by setting the variable `nobreak-char-display'. |
934 | 805 |
935 +++ | |
936 *** The parameters of automatic hscrolling can now be customized. | 806 *** The parameters of automatic hscrolling can now be customized. |
937 The variable `hscroll-margin' determines how many columns away from | 807 The variable `hscroll-margin' determines how many columns away from |
938 the window edge point is allowed to get before automatic hscrolling | 808 the window edge point is allowed to get before automatic hscrolling |
939 will horizontally scroll the window. The default value is 5. | 809 will horizontally scroll the window. The default value is 5. |
940 | 810 |
946 gives the fraction of the window's width to scroll the window. | 816 gives the fraction of the window's width to scroll the window. |
947 | 817 |
948 The variable `automatic-hscrolling' was renamed to | 818 The variable `automatic-hscrolling' was renamed to |
949 `auto-hscroll-mode'. The old name is still available as an alias. | 819 `auto-hscroll-mode'. The old name is still available as an alias. |
950 | 820 |
951 --- | |
952 *** Moving or scrolling through images (and other lines) taller than | 821 *** Moving or scrolling through images (and other lines) taller than |
953 the window now works sensibly, by automatically adjusting the window's | 822 the window now works sensibly, by automatically adjusting the window's |
954 vscroll property. | 823 vscroll property. |
955 | 824 |
956 +++ | |
957 *** New customize option `overline-margin' controls the space between | 825 *** New customize option `overline-margin' controls the space between |
958 overline and text. | 826 overline and text. |
959 | 827 |
960 +++ | |
961 *** New variable `x-underline-at-descent-line' controls the relative | 828 *** New variable `x-underline-at-descent-line' controls the relative |
962 position of the underline. When set, it overrides the | 829 position of the underline. When set, it overrides the |
963 `x-use-underline-position-properties' variables. | 830 `x-use-underline-position-properties' variables. |
964 | 831 |
965 +++ | |
966 *** The new face `mode-line-inactive' is used to display the mode line | 832 *** The new face `mode-line-inactive' is used to display the mode line |
967 of non-selected windows. The `mode-line' face is now used to display | 833 of non-selected windows. The `mode-line' face is now used to display |
968 the mode line of the currently selected window. | 834 the mode line of the currently selected window. |
969 | 835 |
970 The new variable `mode-line-in-non-selected-windows' controls whether | 836 The new variable `mode-line-in-non-selected-windows' controls whether |
971 the `mode-line-inactive' face is used. | 837 the `mode-line-inactive' face is used. |
972 | 838 |
973 +++ | |
974 *** You can now customize the use of window fringes. To control this | 839 *** You can now customize the use of window fringes. To control this |
975 for all frames, use M-x fringe-mode or the Show/Hide submenu of the | 840 for all frames, use M-x fringe-mode or the Show/Hide submenu of the |
976 top-level Options menu, or customize the `fringe-mode' variable. To | 841 top-level Options menu, or customize the `fringe-mode' variable. To |
977 control this for a specific frame, use the command M-x | 842 control this for a specific frame, use the command M-x |
978 set-fringe-style. | 843 set-fringe-style. |
979 | 844 |
980 +++ | |
981 *** Angle icons in the fringes can indicate the buffer boundaries. In | 845 *** Angle icons in the fringes can indicate the buffer boundaries. In |
982 addition, up and down arrow bitmaps in the fringe indicate which ways | 846 addition, up and down arrow bitmaps in the fringe indicate which ways |
983 the window can be scrolled. | 847 the window can be scrolled. |
984 | 848 |
985 This behavior is activated by setting the buffer-local variable | 849 This behavior is activated by setting the buffer-local variable |
995 For example, ((top . left) (t . right)) places the top angle bitmap | 859 For example, ((top . left) (t . right)) places the top angle bitmap |
996 in left fringe, the bottom angle bitmap in right fringe, and both | 860 in left fringe, the bottom angle bitmap in right fringe, and both |
997 arrow bitmaps in right fringe. To show just the angle bitmaps in the | 861 arrow bitmaps in right fringe. To show just the angle bitmaps in the |
998 left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). | 862 left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)). |
999 | 863 |
1000 +++ | |
1001 *** On window systems, lines which are exactly as wide as the window | 864 *** On window systems, lines which are exactly as wide as the window |
1002 (not counting the final newline character) are no longer broken into | 865 (not counting the final newline character) are no longer broken into |
1003 two lines on the display (with just the newline on the second line). | 866 two lines on the display (with just the newline on the second line). |
1004 Instead, the newline now "overflows" into the right fringe, and the | 867 Instead, the newline now "overflows" into the right fringe, and the |
1005 cursor will be displayed in the fringe when positioned on that newline. | 868 cursor will be displayed in the fringe when positioned on that newline. |
1006 | 869 |
1007 The new user option 'overflow-newline-into-fringe' can be set to nil to | 870 The new user option 'overflow-newline-into-fringe' can be set to nil to |
1008 revert to the old behavior of continuing such lines. | 871 revert to the old behavior of continuing such lines. |
1009 | 872 |
1010 +++ | |
1011 *** When a window has display margin areas, the fringes are now | 873 *** When a window has display margin areas, the fringes are now |
1012 displayed between the margins and the buffer's text area, rather than | 874 displayed between the margins and the buffer's text area, rather than |
1013 outside those margins. | 875 outside those margins. |
1014 | 876 |
1015 +++ | |
1016 *** A window can now have individual fringe and scroll-bar settings, | 877 *** A window can now have individual fringe and scroll-bar settings, |
1017 in addition to the individual display margin settings. | 878 in addition to the individual display margin settings. |
1018 | 879 |
1019 Such individual settings are now preserved when windows are split | 880 Such individual settings are now preserved when windows are split |
1020 horizontally or vertically, a saved window configuration is restored, | 881 horizontally or vertically, a saved window configuration is restored, |
1021 or when the frame is resized. | 882 or when the frame is resized. |
1022 | 883 |
1023 +++ | |
1024 *** The %c and %l constructs are now ignored in frame-title-format. | 884 *** The %c and %l constructs are now ignored in frame-title-format. |
1025 Due to technical limitations in how Emacs interacts with windowing | 885 Due to technical limitations in how Emacs interacts with windowing |
1026 systems, these constructs often failed to render properly, and could | 886 systems, these constructs often failed to render properly, and could |
1027 even cause Emacs to crash. | 887 even cause Emacs to crash. |
1028 | 888 |
1029 +++ | |
1030 *** If value of `auto-resize-tool-bars' is `grow-only', the tool bar | 889 *** If value of `auto-resize-tool-bars' is `grow-only', the tool bar |
1031 will expand as needed, but not contract automatically. To contract | 890 will expand as needed, but not contract automatically. To contract |
1032 the tool bar, you must type C-l. | 891 the tool bar, you must type C-l. |
1033 | 892 |
1034 ** Cursor display changes: | 893 ** Cursor display changes: |
1035 | 894 |
1036 +++ | |
1037 *** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is | 895 *** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is |
1038 now controlled by the variable `blink-cursor-alist'. | 896 now controlled by the variable `blink-cursor-alist'. |
1039 | 897 |
1040 +++ | |
1041 *** The X resource cursorBlink can be used to turn off cursor blinking. | 898 *** The X resource cursorBlink can be used to turn off cursor blinking. |
1042 | 899 |
1043 +++ | |
1044 *** Emacs can produce an underscore-like (horizontal bar) cursor. | 900 *** Emacs can produce an underscore-like (horizontal bar) cursor. |
1045 The underscore cursor is set by putting `(cursor-type . hbar)' in | 901 The underscore cursor is set by putting `(cursor-type . hbar)' in |
1046 default-frame-alist. It supports variable heights, like the `bar' | 902 default-frame-alist. It supports variable heights, like the `bar' |
1047 cursor does. | 903 cursor does. |
1048 | 904 |
1049 +++ | |
1050 *** Display of hollow cursors now obeys the buffer-local value (if any) | 905 *** Display of hollow cursors now obeys the buffer-local value (if any) |
1051 of `cursor-in-non-selected-windows' in the buffer that the cursor | 906 of `cursor-in-non-selected-windows' in the buffer that the cursor |
1052 appears in. | 907 appears in. |
1053 | 908 |
1054 +++ | |
1055 *** The variable `cursor-in-non-selected-windows' can now be set to any | 909 *** The variable `cursor-in-non-selected-windows' can now be set to any |
1056 of the recognized cursor types. | 910 of the recognized cursor types. |
1057 | 911 |
1058 +++ | |
1059 *** On text terminals, the variable `visible-cursor' controls whether Emacs | 912 *** On text terminals, the variable `visible-cursor' controls whether Emacs |
1060 uses the "very visible" cursor (the default) or the normal cursor. | 913 uses the "very visible" cursor (the default) or the normal cursor. |
1061 | 914 |
1062 ** New faces: | 915 ** New faces: |
1063 | 916 |
1064 +++ | |
1065 *** `mode-line-highlight' is the standard face indicating mouse sensitive | 917 *** `mode-line-highlight' is the standard face indicating mouse sensitive |
1066 elements on mode-line (and header-line) like `highlight' face on text | 918 elements on mode-line (and header-line) like `highlight' face on text |
1067 areas. | 919 areas. |
1068 | 920 |
1069 +++ | |
1070 *** `mode-line-buffer-id' is the standard face for buffer identification | 921 *** `mode-line-buffer-id' is the standard face for buffer identification |
1071 parts of the mode line. | 922 parts of the mode line. |
1072 | 923 |
1073 +++ | |
1074 *** `shadow' face defines the appearance of the "shadowed" text, i.e. | 924 *** `shadow' face defines the appearance of the "shadowed" text, i.e. |
1075 the text which should be less noticeable than the surrounding text. | 925 the text which should be less noticeable than the surrounding text. |
1076 This can be achieved by using shades of grey in contrast with either | 926 This can be achieved by using shades of grey in contrast with either |
1077 black or white default foreground color. This generic shadow face | 927 black or white default foreground color. This generic shadow face |
1078 allows customization of the appearance of shadowed text in one place, | 928 allows customization of the appearance of shadowed text in one place, |
1079 so package-specific faces can inherit from it. | 929 so package-specific faces can inherit from it. |
1080 | 930 |
1081 +++ | |
1082 *** `vertical-border' face is used for the vertical divider between windows. | 931 *** `vertical-border' face is used for the vertical divider between windows. |
1083 | 932 |
1084 ** ebnf2ps changes: | 933 ** Font-Lock (syntax highlighting) changes: |
1085 | 934 |
1086 +++ | |
1087 *** New option `ebnf-arrow-extra-width' which specify extra width for arrow | |
1088 shape drawing. | |
1089 The extra width is used to avoid that the arrowhead and the terminal border | |
1090 overlap. It depens on `ebnf-arrow-shape' and `ebnf-line-width'. | |
1091 | |
1092 +++ | |
1093 *** New option `ebnf-arrow-scale' which specify the arrow scale. | |
1094 Values lower than 1.0, shrink the arrow. | |
1095 Values greater than 1.0, expand the arrow. | |
1096 | |
1097 ** Font-Lock changes: | |
1098 | |
1099 +++ | |
1100 *** M-o now is the prefix key for setting text properties; | 935 *** M-o now is the prefix key for setting text properties; |
1101 M-o M-o requests refontification. | 936 M-o M-o requests refontification. |
1102 | 937 |
1103 +++ | |
1104 *** All modes now support using M-x font-lock-mode to toggle | 938 *** All modes now support using M-x font-lock-mode to toggle |
1105 fontification, even those such as Occur, Info, and comint-derived | 939 fontification, even those such as Occur, Info, and comint-derived |
1106 modes that do their own fontification in a special way. | 940 modes that do their own fontification in a special way. |
1107 | 941 |
1108 The variable `Info-fontify' is no longer applicable; to disable | 942 The variable `Info-fontify' is no longer applicable; to disable |
1109 fontification in Info, remove `turn-on-font-lock' from | 943 fontification in Info, remove `turn-on-font-lock' from |
1110 `Info-mode-hook'. | 944 `Info-mode-hook'. |
1111 | 945 |
1112 +++ | |
1113 *** Font-Lock mode: in major modes such as Lisp mode, where some Emacs | 946 *** Font-Lock mode: in major modes such as Lisp mode, where some Emacs |
1114 features assume that an open-paren in column 0 is always outside of | 947 features assume that an open-paren in column 0 is always outside of |
1115 any string or comment, Font-Lock now highlights any such open-paren in | 948 any string or comment, Font-Lock now highlights any such open-paren in |
1116 bold-red if it is inside a string or a comment, to indicate that it | 949 bold-red if it is inside a string or a comment, to indicate that it |
1117 can cause trouble. You should rewrite the string or comment so that | 950 can cause trouble. You should rewrite the string or comment so that |
1118 the open-paren is not in column 0. | 951 the open-paren is not in column 0. |
1119 | 952 |
1120 +++ | |
1121 *** New standard font-lock face `font-lock-preprocessor-face'. | 953 *** New standard font-lock face `font-lock-preprocessor-face'. |
1122 | 954 |
1123 +++ | |
1124 *** New standard font-lock face `font-lock-comment-delimiter-face'. | 955 *** New standard font-lock face `font-lock-comment-delimiter-face'. |
1125 | 956 |
1126 +++ | |
1127 *** Easy to overlook single character negation can now be font-locked. | 957 *** Easy to overlook single character negation can now be font-locked. |
1128 You can use the new variable `font-lock-negation-char-face' and the face of | 958 You can use the new variable `font-lock-negation-char-face' and the face of |
1129 the same name to customize this. Currently the cc-modes, sh-script-mode, | 959 the same name to customize this. Currently the cc-modes, sh-script-mode, |
1130 cperl-mode and make-mode support this. | 960 cperl-mode and make-mode support this. |
1131 | 961 |
1132 --- | |
1133 *** The default settings for JIT stealth lock parameters are changed. | 962 *** The default settings for JIT stealth lock parameters are changed. |
1134 The default value for the user option jit-lock-stealth-time is now nil | 963 The default value for the user option jit-lock-stealth-time is now nil |
1135 instead of 3. This setting of jit-lock-stealth-time disables stealth | 964 instead of 3. This setting of jit-lock-stealth-time disables stealth |
1136 fontification: on today's machines, it may be a bug in font lock | 965 fontification: on today's machines, it may be a bug in font lock |
1137 patterns if fontification otherwise noticeably degrades interactivity. | 966 patterns if fontification otherwise noticeably degrades interactivity. |
1140 jit-lock-stealth-time to a non-nil value will let Emacs fontify | 969 jit-lock-stealth-time to a non-nil value will let Emacs fontify |
1141 buffers in the background when it considers the system to be idle. | 970 buffers in the background when it considers the system to be idle. |
1142 jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to | 971 jit-lock-stealth-nice is now 0.5 instead of 0.125 which is supposed to |
1143 cause less load than the old defaults. | 972 cause less load than the old defaults. |
1144 | 973 |
1145 --- | |
1146 *** jit-lock can now be delayed with `jit-lock-defer-time'. | 974 *** jit-lock can now be delayed with `jit-lock-defer-time'. |
1147 | 975 |
1148 If this variable is non-nil, its value should be the amount of Emacs | 976 If this variable is non-nil, its value should be the amount of Emacs |
1149 idle time in seconds to wait before starting fontification. For | 977 idle time in seconds to wait before starting fontification. For |
1150 example, if you set `jit-lock-defer-time' to 0.25, fontification will | 978 example, if you set `jit-lock-defer-time' to 0.25, fontification will |
1151 only happen after 0.25s of idle time. | 979 only happen after 0.25s of idle time. |
1152 | 980 |
1153 --- | |
1154 *** contextual refontification is now separate from stealth fontification. | 981 *** contextual refontification is now separate from stealth fontification. |
1155 | 982 |
1156 jit-lock-defer-contextually is renamed jit-lock-contextually and | 983 jit-lock-defer-contextually is renamed jit-lock-contextually and |
1157 jit-lock-context-time determines the delay after which contextual | 984 jit-lock-context-time determines the delay after which contextual |
1158 refontification takes place. | 985 refontification takes place. |
1159 | 986 |
1160 --- | |
1161 *** lazy-lock is considered obsolete. | 987 *** lazy-lock is considered obsolete. |
1162 | 988 |
1163 The `lazy-lock' package is superseded by `jit-lock' and is considered | 989 The `lazy-lock' package is superseded by `jit-lock' and is considered |
1164 obsolete. `jit-lock' is activated by default; if you wish to continue | 990 obsolete. `jit-lock' is activated by default; if you wish to continue |
1165 using `lazy-lock', activate it in your ~/.emacs like this: | 991 using `lazy-lock', activate it in your ~/.emacs like this: |
1166 | |
1167 (setq font-lock-support-mode 'lazy-lock-mode) | 992 (setq font-lock-support-mode 'lazy-lock-mode) |
1168 | 993 |
1169 If you invoke `lazy-lock-mode' directly rather than through | 994 If you invoke `lazy-lock-mode' directly rather than through |
1170 `font-lock-support-mode', it now issues a warning: | 995 `font-lock-support-mode', it now issues a warning: |
1171 | |
1172 "Use font-lock-support-mode rather than calling lazy-lock-mode" | 996 "Use font-lock-support-mode rather than calling lazy-lock-mode" |
1173 | 997 |
1174 | |
1175 ** Menu support: | 998 ** Menu support: |
1176 | 999 |
1177 --- | |
1178 *** A menu item "Show/Hide" was added to the top-level menu "Options". | 1000 *** A menu item "Show/Hide" was added to the top-level menu "Options". |
1179 This menu allows you to turn various display features on and off (such | 1001 This menu allows you to turn various display features on and off (such |
1180 as the fringes, the tool bar, the speedbar, and the menu bar itself). | 1002 as the fringes, the tool bar, the speedbar, and the menu bar itself). |
1181 You can also move the vertical scroll bar to either side here or turn | 1003 You can also move the vertical scroll bar to either side here or turn |
1182 it off completely. There is also a menu-item to toggle displaying of | 1004 it off completely. There is also a menu-item to toggle displaying of |
1183 current date and time, current line and column number in the mode-line. | 1005 current date and time, current line and column number in the mode-line. |
1184 | 1006 |
1185 --- | |
1186 *** Speedbar has moved from the "Tools" top level menu to "Show/Hide". | 1007 *** Speedbar has moved from the "Tools" top level menu to "Show/Hide". |
1187 | 1008 |
1188 --- | |
1189 *** You can exit dialog windows and menus by typing C-g. | 1009 *** You can exit dialog windows and menus by typing C-g. |
1190 | 1010 |
1191 --- | |
1192 *** The menu item "Open File..." has been split into two items, "New File..." | 1011 *** The menu item "Open File..." has been split into two items, "New File..." |
1193 and "Open File...". "Open File..." now opens only existing files. This is | 1012 and "Open File...". "Open File..." now opens only existing files. This is |
1194 to support existing GUI file selection dialogs better. | 1013 to support existing GUI file selection dialogs better. |
1195 | 1014 |
1196 +++ | 1015 *** The file selection dialog for Gtk+, Mac, W32 and Motif/LessTif can be |
1197 *** The file selection dialog for Gtk+, Mac, W32 and Motif/Lesstif can be | |
1198 disabled by customizing the variable `use-file-dialog'. | 1016 disabled by customizing the variable `use-file-dialog'. |
1199 | 1017 |
1200 --- | |
1201 *** The pop up menus for Lucid now stay up if you do a fast click and can | 1018 *** The pop up menus for Lucid now stay up if you do a fast click and can |
1202 be navigated with the arrow keys (like Gtk+, Mac and W32). | 1019 be navigated with the arrow keys (like Gtk+, Mac and W32). |
1203 | 1020 |
1204 +++ | 1021 *** The menu bar for Motif/LessTif/Lucid/Gtk+ can be navigated with keys. |
1205 *** The menu bar for Motif/Lesstif/Lucid/Gtk+ can be navigated with keys. | |
1206 Pressing F10 shows the first menu in the menu bar. Navigation is done with | 1022 Pressing F10 shows the first menu in the menu bar. Navigation is done with |
1207 the arrow keys, select with the return key and cancel with the escape keys. | 1023 the arrow keys, select with the return key and cancel with the escape keys. |
1208 | 1024 |
1209 +++ | |
1210 *** The Lucid menus can display multilingual text in your locale. You have | 1025 *** The Lucid menus can display multilingual text in your locale. You have |
1211 to explicitly specify a fontSet resource for this to work, for example | 1026 to explicitly specify a fontSet resource for this to work, for example |
1212 `-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'. | 1027 `-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'. |
1213 | 1028 |
1214 --- | 1029 *** Dialogs for Lucid/Athena and LessTif/Motif now pop down on pressing |
1215 *** Dialogs for Lucid/Athena and Lesstif/Motif now pops down when pressing | |
1216 ESC, like they do for Gtk+, Mac and W32. | 1030 ESC, like they do for Gtk+, Mac and W32. |
1217 | 1031 |
1218 +++ | |
1219 *** For the Gtk+ version, you can make Emacs use the old file dialog | 1032 *** For the Gtk+ version, you can make Emacs use the old file dialog |
1220 by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use | 1033 by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use |
1221 the new dialog. | 1034 the new dialog. |
1222 | 1035 |
1223 ** Mouse changes: | 1036 ** Mouse changes: |
1224 | 1037 |
1225 +++ | |
1226 *** If you set the new variable `mouse-autoselect-window' to a non-nil | |
1227 value, windows are automatically selected as you move the mouse from | |
1228 one Emacs window to another, even within a frame. A minibuffer window | |
1229 can be selected only when it is active. | |
1230 | |
1231 +++ | |
1232 *** On X, when the window manager requires that you click on a frame to | |
1233 select it (give it focus), the selected window and cursor position | |
1234 normally changes according to the mouse click position. If you set | |
1235 the variable x-mouse-click-focus-ignore-position to t, the selected | |
1236 window and cursor position do not change when you click on a frame | |
1237 to give it focus. | |
1238 | |
1239 +++ | |
1240 *** You can now follow links by clicking Mouse-1 on the link. | 1038 *** You can now follow links by clicking Mouse-1 on the link. |
1241 | 1039 |
1242 Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 | 1040 Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2 |
1243 click to follow a link, whereas most other applications use a Mouse-1 | 1041 click to follow a link, whereas most other applications use a Mouse-1 |
1244 click for both purposes, depending on whether you click outside or | 1042 click for both purposes, depending on whether you click outside or |
1245 inside a link. Now the behavior of a Mouse-1 click has been changed | 1043 inside a link. Now the behavior of a Mouse-1 click has been changed |
1246 to match this context-sentitive dual behavior. (If you prefer the old | 1044 to match this context-sensitive dual behavior. (If you prefer the old |
1247 behavior, set the user option `mouse-1-click-follows-link' to nil.) | 1045 behavior, set the user option `mouse-1-click-follows-link' to nil.) |
1248 | 1046 |
1249 Depending on the current mode, a Mouse-2 click in Emacs can do much | 1047 Depending on the current mode, a Mouse-2 click in Emacs can do much |
1250 more than just follow a link, so the new Mouse-1 behavior is only | 1048 more than just follow a link, so the new Mouse-1 behavior is only |
1251 activated for modes which explicitly mark a clickable text as a "link" | 1049 activated for modes which explicitly mark a clickable text as a "link" |
1265 drag-mouse-1 action, typically copy the text. | 1063 drag-mouse-1 action, typically copy the text. |
1266 | 1064 |
1267 You can customize the new Mouse-1 behavior via the new user options | 1065 You can customize the new Mouse-1 behavior via the new user options |
1268 `mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'. | 1066 `mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'. |
1269 | 1067 |
1270 +++ | 1068 *** If you set the new variable `mouse-autoselect-window' to a non-nil |
1069 value, windows are automatically selected as you move the mouse from | |
1070 one Emacs window to another, even within a frame. A minibuffer window | |
1071 can be selected only when it is active. | |
1072 | |
1073 *** On X, when the window manager requires that you click on a frame to | |
1074 select it (give it focus), the selected window and cursor position | |
1075 normally changes according to the mouse click position. If you set | |
1076 the variable x-mouse-click-focus-ignore-position to t, the selected | |
1077 window and cursor position do not change when you click on a frame | |
1078 to give it focus. | |
1079 | |
1271 *** Emacs normally highlights mouse sensitive text whenever the mouse | 1080 *** Emacs normally highlights mouse sensitive text whenever the mouse |
1272 is over the text. By setting the new variable `mouse-highlight', you | 1081 is over the text. By setting the new variable `mouse-highlight', you |
1273 can optionally enable mouse highlighting only after you move the | 1082 can optionally enable mouse highlighting only after you move the |
1274 mouse, so that highlighting disappears when you press a key. You can | 1083 mouse, so that highlighting disappears when you press a key. You can |
1275 also disable mouse highlighting. | 1084 also disable mouse highlighting. |
1276 | 1085 |
1277 +++ | |
1278 *** You can now customize if selecting a region by dragging the mouse | 1086 *** You can now customize if selecting a region by dragging the mouse |
1279 shall not copy the selected text to the kill-ring by setting the new | 1087 shall not copy the selected text to the kill-ring by setting the new |
1280 variable mouse-drag-copy-region to nil. | 1088 variable mouse-drag-copy-region to nil. |
1281 | 1089 |
1282 --- | |
1283 *** mouse-wheels can now scroll a specific fraction of the window | 1090 *** mouse-wheels can now scroll a specific fraction of the window |
1284 (rather than a fixed number of lines) and the scrolling is `progressive'. | 1091 (rather than a fixed number of lines) and the scrolling is `progressive'. |
1285 | 1092 |
1286 --- | |
1287 *** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. | 1093 *** Emacs ignores mouse-2 clicks while the mouse wheel is being moved. |
1288 | 1094 |
1289 People tend to push the mouse wheel (which counts as a mouse-2 click) | 1095 People tend to push the mouse wheel (which counts as a mouse-2 click) |
1290 unintentionally while turning the wheel, so these clicks are now | 1096 unintentionally while turning the wheel, so these clicks are now |
1291 ignored. You can customize this with the mouse-wheel-click-event and | 1097 ignored. You can customize this with the mouse-wheel-click-event and |
1292 mouse-wheel-inhibit-click-time variables. | 1098 mouse-wheel-inhibit-click-time variables. |
1293 | 1099 |
1294 +++ | |
1295 *** Under X, mouse-wheel-mode is turned on by default. | 1100 *** Under X, mouse-wheel-mode is turned on by default. |
1296 | 1101 |
1297 ** Multilingual Environment (Mule) changes: | 1102 ** Multilingual Environment (Mule) changes: |
1298 | 1103 |
1299 +++ | |
1300 *** You can disable character translation for a file using the -*- | 1104 *** You can disable character translation for a file using the -*- |
1301 construct. Include `enable-character-translation: nil' inside the | 1105 construct. Include `enable-character-translation: nil' inside the |
1302 -*-...-*- to disable any character translation that may happen by | 1106 -*-...-*- to disable any character translation that may happen by |
1303 various global and per-coding-system translation tables. You can also | 1107 various global and per-coding-system translation tables. You can also |
1304 specify it in a local variable list at the end of the file. For | 1108 specify it in a local variable list at the end of the file. For |
1307 construct or in a local variable list. For example, if a file has the | 1111 construct or in a local variable list. For example, if a file has the |
1308 following header, it is decoded by the coding system `iso-latin-1' | 1112 following header, it is decoded by the coding system `iso-latin-1' |
1309 without any character translation: | 1113 without any character translation: |
1310 ;; -*- coding: iso-latin-1!; -*- | 1114 ;; -*- coding: iso-latin-1!; -*- |
1311 | 1115 |
1312 --- | |
1313 *** Language environment and various default coding systems are setup | 1116 *** Language environment and various default coding systems are setup |
1314 more correctly according to the current locale name. If the locale | 1117 more correctly according to the current locale name. If the locale |
1315 name doesn't specify a charset, the default is what glibc defines. | 1118 name doesn't specify a charset, the default is what glibc defines. |
1316 This change can result in using the different coding systems as | 1119 This change can result in using the different coding systems as |
1317 default in some locale (e.g. vi_VN). | 1120 default in some locale (e.g. vi_VN). |
1318 | 1121 |
1319 +++ | |
1320 *** The keyboard-coding-system is now automatically set based on your | 1122 *** The keyboard-coding-system is now automatically set based on your |
1321 current locale settings if you are not using a window system. This | 1123 current locale settings if you are not using a window system. This |
1322 can mean that the META key doesn't work but generates non-ASCII | 1124 can mean that the META key doesn't work but generates non-ASCII |
1323 characters instead, depending on how the terminal (or terminal | 1125 characters instead, depending on how the terminal (or terminal |
1324 emulator) works. Use `set-keyboard-coding-system' (or customize | 1126 emulator) works. Use `set-keyboard-coding-system' (or customize |
1325 keyboard-coding-system) if you prefer META to work (the old default) | 1127 keyboard-coding-system) if you prefer META to work (the old default) |
1326 or if the locale doesn't describe the character set actually generated | 1128 or if the locale doesn't describe the character set actually generated |
1327 by the keyboard. See Info node `Unibyte Mode'. | 1129 by the keyboard. See Info node `Unibyte Mode'. |
1328 | 1130 |
1329 +++ | |
1330 *** The new command `revert-buffer-with-coding-system' (C-x RET r) | 1131 *** The new command `revert-buffer-with-coding-system' (C-x RET r) |
1331 revisits the current file using a coding system that you specify. | 1132 revisits the current file using a coding system that you specify. |
1332 | 1133 |
1333 +++ | |
1334 *** New command `recode-region' decodes the region again by a specified | 1134 *** New command `recode-region' decodes the region again by a specified |
1335 coding system. | 1135 coding system. |
1336 | 1136 |
1337 +++ | |
1338 *** The new command `recode-file-name' changes the encoding of the name | 1137 *** The new command `recode-file-name' changes the encoding of the name |
1339 of a file. | 1138 of a file. |
1340 | 1139 |
1341 --- | |
1342 *** New command `ucs-insert' inserts a character specified by its | 1140 *** New command `ucs-insert' inserts a character specified by its |
1343 unicode. | 1141 unicode. |
1344 | 1142 |
1345 +++ | |
1346 *** The new command `set-file-name-coding-system' (C-x RET F) sets | 1143 *** The new command `set-file-name-coding-system' (C-x RET F) sets |
1347 coding system for encoding and decoding file names. A new menu item | 1144 coding system for encoding and decoding file names. A new menu item |
1348 (Options->Mule->Set Coding Systems->For File Name) invokes this | 1145 (Options->Mule->Set Coding Systems->For File Name) invokes this |
1349 command. | 1146 command. |
1350 | 1147 |
1351 +++ | |
1352 *** New command quail-show-key shows what key (or key sequence) to type | 1148 *** New command quail-show-key shows what key (or key sequence) to type |
1353 in the current input method to input a character at point. | 1149 in the current input method to input a character at point. |
1354 | 1150 |
1355 +++ | |
1356 *** Limited support for character `unification' has been added. | 1151 *** Limited support for character `unification' has been added. |
1357 Emacs now knows how to translate between different representations of | 1152 Emacs now knows how to translate between different representations of |
1358 the same characters in various Emacs charsets according to standard | 1153 the same characters in various Emacs charsets according to standard |
1359 Unicode mappings. This applies mainly to characters in the ISO 8859 | 1154 Unicode mappings. This applies mainly to characters in the ISO 8859 |
1360 sets plus some other 8-bit sets, but can be extended. For instance, | 1155 sets plus some other 8-bit sets, but can be extended. For instance, |
1370 unify-8859-on-decoding-mode. That maps all the Latin-N character sets | 1165 unify-8859-on-decoding-mode. That maps all the Latin-N character sets |
1371 into Unicode characters (from the latin-iso8859-1 and | 1166 into Unicode characters (from the latin-iso8859-1 and |
1372 mule-unicode-0100-24ff charsets) on decoding. Note that this mode | 1167 mule-unicode-0100-24ff charsets) on decoding. Note that this mode |
1373 will often effectively clobber data with an iso-2022 encoding. | 1168 will often effectively clobber data with an iso-2022 encoding. |
1374 | 1169 |
1375 --- | 1170 *** New language environments (set up automatically according to the |
1171 locale): Belarusian, Bulgarian, Chinese-EUC-TW, Croatian, Esperanto, | |
1172 French, Georgian, Italian, Latin-7, Latvian, Lithuanian, Malayalam, | |
1173 Russian, Russian, Slovenian, Swedish, Tajik, Tamil, UTF-8,Ukrainian, | |
1174 Welsh,Latin-6, Windows-1255. | |
1175 | |
1176 *** New input methods: latin-alt-postfix, latin-postfix, latin-prefix, | |
1177 belarusian, bulgarian-bds, bulgarian-phonetic, chinese-sisheng (for | |
1178 Chinese Pinyin characters), croatian, dutch, georgian, latvian-keyboard, | |
1179 lithuanian-numeric, lithuanian-keyboard, malayalam-inscript, rfc1345, | |
1180 russian-computer, sgml, slovenian, tamil-inscript, ukrainian-computer, | |
1181 ucs, vietnamese-telex, welsh. | |
1182 | |
1376 *** There is support for decoding Greek and Cyrillic characters into | 1183 *** There is support for decoding Greek and Cyrillic characters into |
1377 either Unicode (the mule-unicode charsets) or the iso-8859 charsets, | 1184 either Unicode (the mule-unicode charsets) or the iso-8859 charsets, |
1378 when possible. The latter are more space-efficient. This is | 1185 when possible. The latter are more space-efficient. |
1379 controlled by user option utf-fragment-on-decoding. | 1186 This is controlled by user option utf-fragment-on-decoding. |
1380 | 1187 |
1381 --- | |
1382 *** New language environments: French, Ukrainian, Tajik, | |
1383 Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6, | |
1384 Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian, | |
1385 Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW, | |
1386 Esperanto. (Set up automatically according to the locale.) | |
1387 | |
1388 --- | |
1389 *** New input methods: latin-alt-postfix, latin-postfix, latin-prefix, | |
1390 ukrainian-computer, belarusian, bulgarian-bds, russian-computer, | |
1391 vietnamese-telex, lithuanian-numeric, lithuanian-keyboard, | |
1392 latvian-keyboard, welsh, georgian, rfc1345, ucs, sgml, | |
1393 bulgarian-phonetic, dutch, slovenian, croatian, malayalam-inscript, | |
1394 tamil-inscript. | |
1395 | |
1396 --- | |
1397 *** New input method chinese-sisheng for inputting Chinese Pinyin | |
1398 characters. | |
1399 | |
1400 --- | |
1401 *** Improved Thai support. A new minor mode `thai-word-mode' (which is | 1188 *** Improved Thai support. A new minor mode `thai-word-mode' (which is |
1402 automatically activated if you select Thai as a language | 1189 automatically activated if you select Thai as a language |
1403 environment) changes key bindings of most word-oriented commands to | 1190 environment) changes key bindings of most word-oriented commands to |
1404 versions which recognize Thai words. Affected commands are | 1191 versions which recognize Thai words. Affected commands are |
1405 M-f (forward-word) | 1192 M-f (forward-word) |
1407 M-d (kill-word) | 1194 M-d (kill-word) |
1408 M-DEL (backward-kill-word) | 1195 M-DEL (backward-kill-word) |
1409 M-t (transpose-words) | 1196 M-t (transpose-words) |
1410 M-q (fill-paragraph) | 1197 M-q (fill-paragraph) |
1411 | 1198 |
1412 --- | |
1413 *** Indian support has been updated. | 1199 *** Indian support has been updated. |
1414 The in-is13194 coding system is now Unicode-based. CDAC fonts are | 1200 The in-is13194 coding system is now Unicode-based. CDAC fonts are |
1415 assumed. There is a framework for supporting various | 1201 assumed. There is a framework for supporting various Indian scripts, |
1416 Indian scripts, but currently only Devanagari, Malayalam and Tamil are | 1202 but currently only Devanagari, Malayalam and Tamil are supported. |
1417 supported. | 1203 |
1418 | |
1419 --- | |
1420 *** A UTF-7 coding system is available in the library `utf-7'. | |
1421 | |
1422 --- | |
1423 *** The utf-8/16 coding systems have been enhanced. | 1204 *** The utf-8/16 coding systems have been enhanced. |
1424 By default, untranslatable utf-8 sequences are simply composed into | 1205 By default, untranslatable utf-8 sequences are simply composed into |
1425 single quasi-characters. User option `utf-translate-cjk-mode' (it is | 1206 single quasi-characters. User option `utf-translate-cjk-mode' (it is |
1426 turned on by default) arranges to translate many utf-8 CJK character | 1207 turned on by default) arranges to translate many utf-8 CJK character |
1427 sequences into real Emacs characters in a similar way to the Mule-UCS | 1208 sequences into real Emacs characters in a similar way to the Mule-UCS |
1431 `ucs-mule-cjk-to-unicode' and `ucs-unicode-to-mule-cjk'. The utf-8 | 1212 `ucs-mule-cjk-to-unicode' and `ucs-unicode-to-mule-cjk'. The utf-8 |
1432 coding system now also encodes characters from most of Emacs's | 1213 coding system now also encodes characters from most of Emacs's |
1433 one-dimensional internal charsets, specifically the ISO-8859 ones. | 1214 one-dimensional internal charsets, specifically the ISO-8859 ones. |
1434 The utf-16 coding system is affected similarly. | 1215 The utf-16 coding system is affected similarly. |
1435 | 1216 |
1436 --- | 1217 *** A UTF-7 coding system is available in the library `utf-7'. |
1218 | |
1437 *** A new coding system `euc-tw' has been added for traditional Chinese | 1219 *** A new coding system `euc-tw' has been added for traditional Chinese |
1438 in CNS encoding; it accepts both Big 5 and CNS as input; on saving, | 1220 in CNS encoding; it accepts both Big 5 and CNS as input; on saving, |
1439 Big 5 is then converted to CNS. | 1221 Big 5 is then converted to CNS. |
1440 | 1222 |
1441 --- | |
1442 *** Many new coding systems are available in the `code-pages' library. | 1223 *** Many new coding systems are available in the `code-pages' library. |
1443 These include complete versions of most of those in codepage.el, based | 1224 These include complete versions of most of those in codepage.el, based |
1444 on Unicode mappings. `codepage-setup' is now obsolete and is used | 1225 on Unicode mappings. `codepage-setup' is now obsolete and is used |
1445 only in the MS-DOS port of Emacs. All coding systems defined in | 1226 only in the MS-DOS port of Emacs. All coding systems defined in |
1446 `code-pages' are auto-loaded. | 1227 `code-pages' are auto-loaded. |
1447 | 1228 |
1448 --- | |
1449 *** New variable `utf-translate-cjk-unicode-range' controls which | 1229 *** New variable `utf-translate-cjk-unicode-range' controls which |
1450 Unicode characters to translate in `utf-translate-cjk-mode'. | 1230 Unicode characters to translate in `utf-translate-cjk-mode'. |
1451 | 1231 |
1452 --- | |
1453 *** iso-10646-1 (`Unicode') fonts can be used to display any range of | 1232 *** iso-10646-1 (`Unicode') fonts can be used to display any range of |
1454 characters encodable by the utf-8 coding system. Just specify the | 1233 characters encodable by the utf-8 coding system. Just specify the |
1455 fontset appropriately. | 1234 fontset appropriately. |
1456 | 1235 |
1457 ** Customize changes: | 1236 ** Customize changes: |
1458 | 1237 |
1459 +++ | |
1460 *** Custom themes are collections of customize options. Create a | 1238 *** Custom themes are collections of customize options. Create a |
1461 custom theme with M-x customize-create-theme. Use M-x load-theme to | 1239 custom theme with M-x customize-create-theme. Use M-x load-theme to |
1462 load and enable a theme, and M-x disable-theme to disable it. Use M-x | 1240 load and enable a theme, and M-x disable-theme to disable it. Use M-x |
1463 enable-theme to enable a disabled theme. | 1241 enable-theme to enable a disabled theme. |
1464 | 1242 |
1465 +++ | |
1466 *** The commands M-x customize-face and M-x customize-face-other-window | 1243 *** The commands M-x customize-face and M-x customize-face-other-window |
1467 now look at the character after point. If a face or faces are | 1244 now look at the character after point. If a face or faces are |
1468 specified for that character, the commands by default customize those | 1245 specified for that character, the commands by default customize those |
1469 faces. | 1246 faces. |
1470 | 1247 |
1471 --- | |
1472 *** The face-customization widget has been reworked to be less confusing. | 1248 *** The face-customization widget has been reworked to be less confusing. |
1473 In particular, when you enable a face attribute using the corresponding | 1249 In particular, when you enable a face attribute using the corresponding |
1474 check-box, there's no longer a redundant `*' option in value selection | 1250 check-box, there's no longer a redundant `*' option in value selection |
1475 for that attribute; the values you can choose are only those which make | 1251 for that attribute; the values you can choose are only those which make |
1476 sense for the attribute. When an attribute is de-selected by unchecking | 1252 sense for the attribute. When an attribute is de-selected by unchecking |
1477 its check-box, then the (now ignored, but still present temporarily in | 1253 its check-box, then the (now ignored, but still present temporarily in |
1478 case you re-select the attribute) value is hidden. | 1254 case you re-select the attribute) value is hidden. |
1479 | 1255 |
1480 +++ | |
1481 *** When you set or reset a variable's value in a Customize buffer, | 1256 *** When you set or reset a variable's value in a Customize buffer, |
1482 the previous value becomes the "backup value" of the variable. | 1257 the previous value becomes the "backup value" of the variable. |
1483 You can go back to that backup value by selecting "Use Backup Value" | 1258 You can go back to that backup value by selecting "Use Backup Value" |
1484 under the "[State]" button. | 1259 under the "[State]" button. |
1485 | 1260 |
1486 ** Buffer Menu changes: | 1261 ** Buffer Menu changes: |
1487 | 1262 |
1488 +++ | |
1489 *** New command `Buffer-menu-toggle-files-only' toggles display of file | 1263 *** New command `Buffer-menu-toggle-files-only' toggles display of file |
1490 buffers only in the Buffer Menu. It is bound to T in Buffer Menu | 1264 buffers only in the Buffer Menu. It is bound to T in Buffer Menu |
1491 mode. | 1265 mode. |
1492 | 1266 |
1493 +++ | |
1494 *** `buffer-menu' and `list-buffers' now list buffers whose names begin | 1267 *** `buffer-menu' and `list-buffers' now list buffers whose names begin |
1495 with a space, when those buffers are visiting files. Normally buffers | 1268 with a space, when those buffers are visiting files. Normally buffers |
1496 whose names begin with space are omitted. | 1269 whose names begin with space are omitted. |
1497 | 1270 |
1498 --- | |
1499 *** The new options `buffers-menu-show-directories' and | 1271 *** The new options `buffers-menu-show-directories' and |
1500 `buffers-menu-show-status' let you control how buffers are displayed | 1272 `buffers-menu-show-status' let you control how buffers are displayed |
1501 in the menu dropped down when you click "Buffers" from the menu bar. | 1273 in the menu dropped down when you click "Buffers" from the menu bar. |
1502 | 1274 |
1503 `buffers-menu-show-directories' controls whether the menu displays | 1275 `buffers-menu-show-directories' controls whether the menu displays |
1513 Setting these variables directly does not take effect until next time | 1285 Setting these variables directly does not take effect until next time |
1514 the Buffers menu is regenerated. | 1286 the Buffers menu is regenerated. |
1515 | 1287 |
1516 ** Dired mode: | 1288 ** Dired mode: |
1517 | 1289 |
1518 --- | |
1519 *** New faces dired-header, dired-mark, dired-marked, dired-flagged, | 1290 *** New faces dired-header, dired-mark, dired-marked, dired-flagged, |
1520 dired-ignored, dired-directory, dired-symlink, dired-warning | 1291 dired-ignored, dired-directory, dired-symlink, dired-warning |
1521 introduced for Dired mode instead of font-lock faces. | 1292 introduced for Dired mode instead of font-lock faces. |
1522 | 1293 |
1523 +++ | |
1524 *** New Dired command `dired-compare-directories' marks files | 1294 *** New Dired command `dired-compare-directories' marks files |
1525 with different file attributes in two dired buffers. | 1295 with different file attributes in two dired buffers. |
1526 | 1296 |
1527 +++ | |
1528 *** New Dired command `dired-do-touch' (bound to T) changes timestamps | 1297 *** New Dired command `dired-do-touch' (bound to T) changes timestamps |
1529 of marked files with the value entered in the minibuffer. | 1298 of marked files with the value entered in the minibuffer. |
1530 | 1299 |
1531 +++ | |
1532 *** The Dired command `dired-goto-file' is now bound to j, not M-g. | 1300 *** The Dired command `dired-goto-file' is now bound to j, not M-g. |
1533 This is to avoid hiding the global key binding of M-g. | 1301 This is to avoid hiding the global key binding of M-g. |
1534 | 1302 |
1535 +++ | |
1536 *** In Dired's ! command (dired-do-shell-command), `*' and `?' now | 1303 *** In Dired's ! command (dired-do-shell-command), `*' and `?' now |
1537 control substitution of the file names only when they are surrounded | 1304 control substitution of the file names only when they are surrounded |
1538 by whitespace. This means you can now use them as shell wildcards | 1305 by whitespace. This means you can now use them as shell wildcards |
1539 too. If you want to use just plain `*' as a wildcard, type `*""'; the | 1306 too. If you want to use just plain `*' as a wildcard, type `*""'; the |
1540 double quotes make no difference in the shell, but they prevent | 1307 double quotes make no difference in the shell, but they prevent |
1541 special treatment in `dired-do-shell-command'. | 1308 special treatment in `dired-do-shell-command'. |
1542 | 1309 |
1543 +++ | |
1544 *** In Dired, the w command now stores the current line's file name | 1310 *** In Dired, the w command now stores the current line's file name |
1545 into the kill ring. With a zero prefix arg, it stores the absolute file name. | 1311 into the kill ring. With a zero prefix arg, it stores the absolute file name. |
1546 | 1312 |
1547 +++ | |
1548 *** In Dired-x, Omitting files is now a minor mode, dired-omit-mode. | 1313 *** In Dired-x, Omitting files is now a minor mode, dired-omit-mode. |
1549 | 1314 |
1550 The mode toggling command is bound to M-o. A new command | 1315 The mode toggling command is bound to M-o. A new command |
1551 dired-mark-omitted, bound to * O, marks omitted files. The variable | 1316 dired-mark-omitted, bound to * O, marks omitted files. The variable |
1552 dired-omit-files-p is obsoleted, use the mode toggling function | 1317 dired-omit-files-p is obsoleted, use the mode toggling function |
1553 instead. | 1318 instead. |
1554 | 1319 |
1555 +++ | |
1556 *** The variables dired-free-space-program and dired-free-space-args | 1320 *** The variables dired-free-space-program and dired-free-space-args |
1557 have been renamed to directory-free-space-program and | 1321 have been renamed to directory-free-space-program and |
1558 directory-free-space-args, and they now apply whenever Emacs puts a | 1322 directory-free-space-args, and they now apply whenever Emacs puts a |
1559 directory listing into a buffer. | 1323 directory listing into a buffer. |
1560 | 1324 |
1561 ** Comint changes: | 1325 ** Comint changes: |
1562 | 1326 |
1563 --- | |
1564 *** The comint prompt can now be made read-only, using the new user | 1327 *** The comint prompt can now be made read-only, using the new user |
1565 option `comint-prompt-read-only'. This is not enabled by default, | 1328 option `comint-prompt-read-only'. This is not enabled by default, |
1566 except in IELM buffers. The read-only status of IELM prompts can be | 1329 except in IELM buffers. The read-only status of IELM prompts can be |
1567 controlled with the new user option `ielm-prompt-read-only', which | 1330 controlled with the new user option `ielm-prompt-read-only', which |
1568 overrides `comint-prompt-read-only'. | 1331 overrides `comint-prompt-read-only'. |
1580 and that all prompts must stay at the beginning of a line. If this is | 1343 and that all prompts must stay at the beginning of a line. If this is |
1581 not the case, then `comint-kill-region' behaves just like | 1344 not the case, then `comint-kill-region' behaves just like |
1582 `kill-region' if read-only properties are involved: it copies the text | 1345 `kill-region' if read-only properties are involved: it copies the text |
1583 to the kill-ring, but does not delete it. | 1346 to the kill-ring, but does not delete it. |
1584 | 1347 |
1585 +++ | |
1586 *** The new command `comint-insert-previous-argument' in comint-derived | 1348 *** The new command `comint-insert-previous-argument' in comint-derived |
1587 modes (shell-mode, etc.) inserts arguments from previous command lines, | 1349 modes (shell-mode, etc.) inserts arguments from previous command lines, |
1588 like bash's `ESC .' binding. It is bound by default to `C-c .', but | 1350 like bash's `ESC .' binding. It is bound by default to `C-c .', but |
1589 otherwise behaves quite similarly to the bash version. | 1351 otherwise behaves quite similarly to the bash version. |
1590 | 1352 |
1591 +++ | |
1592 *** `comint-use-prompt-regexp-instead-of-fields' has been renamed | 1353 *** `comint-use-prompt-regexp-instead-of-fields' has been renamed |
1593 `comint-use-prompt-regexp'. The old name has been kept as an alias, | 1354 `comint-use-prompt-regexp'. The old name has been kept as an alias, |
1594 but declared obsolete. | 1355 but declared obsolete. |
1595 | 1356 |
1596 +++ | 1357 *** The new INSIDE_EMACS environment variable is set to "t" in subshells |
1597 *** The new INSIDE_EMACS environment variable is set to "t" in | 1358 running inside Emacs. This supersedes the EMACS environment variable, |
1598 subshells running inside Emacs. This supersedes the EMACS environment | 1359 which will be removed in a future Emacs release. Programs that need |
1599 variable, which will be removed in a future Emacs release. Programs | 1360 to know whether they are started inside Emacs should check INSIDE_EMACS |
1600 that need to know whether they are started inside Emacs should check | 1361 instead of EMACS. |
1601 INSIDE_EMACS instead of EMACS. | |
1602 | 1362 |
1603 ** M-x Compile changes: | 1363 ** M-x Compile changes: |
1604 | 1364 |
1605 --- | |
1606 *** M-x compile has become more robust and reliable | 1365 *** M-x compile has become more robust and reliable |
1607 | 1366 |
1608 Quite a few more kinds of messages are recognized. Messages that are | 1367 Quite a few more kinds of messages are recognized. Messages that are |
1609 recognized as warnings or informational come in orange or green, instead of | 1368 recognized as warnings or informational come in orange or green, instead of |
1610 red. Informational messages are by default skipped with `next-error' | 1369 red. Informational messages are by default skipped with `next-error' |
1620 `compilation-mode-font-lock-keywords' and it nicely handles all the checks | 1379 `compilation-mode-font-lock-keywords' and it nicely handles all the checks |
1621 that configure outputs and -o options so you see at a glance where you are. | 1380 that configure outputs and -o options so you see at a glance where you are. |
1622 | 1381 |
1623 The new file etc/compilation.txt gives examples of each type of message. | 1382 The new file etc/compilation.txt gives examples of each type of message. |
1624 | 1383 |
1625 +++ | |
1626 *** New user option `compilation-environment'. | 1384 *** New user option `compilation-environment'. |
1627 This option allows you to specify environment variables for inferior | 1385 This option allows you to specify environment variables for inferior |
1628 compilation processes without affecting the environment that all | 1386 compilation processes without affecting the environment that all |
1629 subprocesses inherit. | 1387 subprocesses inherit. |
1630 | 1388 |
1631 +++ | |
1632 *** New user option `compilation-disable-input'. | 1389 *** New user option `compilation-disable-input'. |
1633 If this is non-nil, send end-of-file as compilation process input. | 1390 If this is non-nil, send end-of-file as compilation process input. |
1634 | 1391 |
1635 +++ | |
1636 *** New options `next-error-highlight' and `next-error-highlight-no-select' | 1392 *** New options `next-error-highlight' and `next-error-highlight-no-select' |
1637 specify the method of highlighting of the corresponding source line | 1393 specify the method of highlighting of the corresponding source line |
1638 in new face `next-error'. | 1394 in new face `next-error'. |
1639 | 1395 |
1640 +++ | |
1641 *** A new minor mode `next-error-follow-minor-mode' can be used in | 1396 *** A new minor mode `next-error-follow-minor-mode' can be used in |
1642 compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the | 1397 compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the |
1643 modes that can use `next-error'). In this mode, cursor motion in the | 1398 modes that can use `next-error'). In this mode, cursor motion in the |
1644 buffer causes automatic display in another window of the corresponding | 1399 buffer causes automatic display in another window of the corresponding |
1645 matches, compilation errors, etc. This minor mode can be toggled with | 1400 matches, compilation errors, etc. This minor mode can be toggled with |
1646 C-c C-f. | 1401 C-c C-f. |
1647 | 1402 |
1648 +++ | |
1649 *** When the left fringe is displayed, an arrow points to current message in | 1403 *** When the left fringe is displayed, an arrow points to current message in |
1650 the compilation buffer. | 1404 the compilation buffer. |
1651 | 1405 |
1652 +++ | |
1653 *** The new variable `compilation-context-lines' controls lines of leading | 1406 *** The new variable `compilation-context-lines' controls lines of leading |
1654 context before the current message. If nil and the left fringe is displayed, | 1407 context before the current message. If nil and the left fringe is displayed, |
1655 it doesn't scroll the compilation output window. If there is no left fringe, | 1408 it doesn't scroll the compilation output window. If there is no left fringe, |
1656 no arrow is displayed and a value of nil means display the message at the top | 1409 no arrow is displayed and a value of nil means display the message at the top |
1657 of the window. | 1410 of the window. |
1658 | 1411 |
1659 +++ | |
1660 *** The EMACS environment variable now defaults to Emacs's absolute | |
1661 file name, instead of to "t". | |
1662 | |
1663 ** Occur mode changes: | 1412 ** Occur mode changes: |
1664 | 1413 |
1665 +++ | |
1666 *** In the *Occur* buffer, `o' switches to it in another window, and | 1414 *** In the *Occur* buffer, `o' switches to it in another window, and |
1667 C-o displays the current line's occurrence in another window without | 1415 C-o displays the current line's occurrence in another window without |
1668 switching to it. | 1416 switching to it. |
1669 | 1417 |
1670 +++ | |
1671 *** You can now use next-error (C-x `) and previous-error to advance to | 1418 *** You can now use next-error (C-x `) and previous-error to advance to |
1672 the next/previous matching line found by M-x occur. | 1419 the next/previous matching line found by M-x occur. |
1673 | 1420 |
1674 +++ | |
1675 *** The new command `multi-occur' is just like `occur', except it can | 1421 *** The new command `multi-occur' is just like `occur', except it can |
1676 search multiple buffers. There is also a new command | 1422 search multiple buffers. There is also a new command |
1677 `multi-occur-in-matching-buffers' which allows you to specify the | 1423 `multi-occur-in-matching-buffers' which allows you to specify the |
1678 buffers to search by their filenames or buffer names. Internally, | 1424 buffers to search by their filenames or buffer names. Internally, |
1679 Occur mode has been rewritten, and now uses font-lock, among other | 1425 Occur mode has been rewritten, and now uses font-lock, among other |
1680 changes. | 1426 changes. |
1681 | 1427 |
1682 ** Grep changes: | 1428 ** Grep changes: |
1683 | 1429 |
1684 +++ | |
1685 *** Grep has been decoupled from compilation mode setup. | 1430 *** Grep has been decoupled from compilation mode setup. |
1686 | 1431 |
1687 There's a new separate package grep.el, with its own submenu and | 1432 There's a new separate package grep.el, with its own submenu and |
1688 customization group. | 1433 customization group. |
1689 | 1434 |
1690 +++ | |
1691 *** `grep-find' is now also available under the name `find-grep' where | 1435 *** `grep-find' is now also available under the name `find-grep' where |
1692 people knowing `find-grep-dired' would probably expect it. | 1436 people knowing `find-grep-dired' would probably expect it. |
1693 | 1437 |
1694 +++ | |
1695 *** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are | 1438 *** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are |
1696 more user-friendly versions of `grep' and `grep-find', which prompt | 1439 more user-friendly versions of `grep' and `grep-find', which prompt |
1697 separately for the regular expression to match, the files to search, | 1440 separately for the regular expression to match, the files to search, |
1698 and the base directory for the search. Case sensitivitivy of the | 1441 and the base directory for the search. Case sensitivity of the |
1699 search is controlled by the current value of `case-fold-search'. | 1442 search is controlled by the current value of `case-fold-search'. |
1700 | 1443 |
1701 These commands build the shell commands based on the new variables | 1444 These commands build the shell commands based on the new variables |
1702 `grep-template' (lgrep) and `grep-find-template' (rgrep). | 1445 `grep-template' (lgrep) and `grep-find-template' (rgrep). |
1703 | 1446 |
1705 | 1448 |
1706 Subdirectories listed in `grep-find-ignored-directories' such as those | 1449 Subdirectories listed in `grep-find-ignored-directories' such as those |
1707 typically used by various version control systems, like CVS and arch, | 1450 typically used by various version control systems, like CVS and arch, |
1708 are automatically skipped by `rgrep'. | 1451 are automatically skipped by `rgrep'. |
1709 | 1452 |
1710 --- | |
1711 *** The grep commands provide highlighting support. | 1453 *** The grep commands provide highlighting support. |
1712 | 1454 |
1713 Hits are fontified in green, and hits in binary files in orange. Grep buffers | 1455 Hits are fontified in green, and hits in binary files in orange. Grep buffers |
1714 can be saved and automatically revisited. | 1456 can be saved and automatically revisited. |
1715 | 1457 |
1716 --- | |
1717 *** The new variables `grep-window-height' and `grep-scroll-output' override | 1458 *** The new variables `grep-window-height' and `grep-scroll-output' override |
1718 the corresponding compilation mode settings, for grep commands only. | 1459 the corresponding compilation mode settings, for grep commands only. |
1719 | 1460 |
1720 +++ | |
1721 *** New option `grep-highlight-matches' highlights matches in *grep* | 1461 *** New option `grep-highlight-matches' highlights matches in *grep* |
1722 buffer. It uses a special feature of some grep programs which accept | 1462 buffer. It uses a special feature of some grep programs which accept |
1723 --color option to output markers around matches. When going to the next | 1463 --color option to output markers around matches. When going to the next |
1724 match with `next-error' the exact match is highlighted in the source | 1464 match with `next-error' the exact match is highlighted in the source |
1725 buffer. Otherwise, if `grep-highlight-matches' is nil, the whole | 1465 buffer. Otherwise, if `grep-highlight-matches' is nil, the whole |
1726 source line is highlighted. | 1466 source line is highlighted. |
1727 | 1467 |
1728 +++ | |
1729 *** New key bindings in grep output window: | 1468 *** New key bindings in grep output window: |
1730 SPC and DEL scrolls window up and down. C-n and C-p moves to next and | 1469 SPC and DEL scrolls window up and down. C-n and C-p moves to next and |
1731 previous match in the grep window. RET jumps to the source line of | 1470 previous match in the grep window. RET jumps to the source line of |
1732 the current match. `n' and `p' shows next and previous match in | 1471 the current match. `n' and `p' shows next and previous match in |
1733 other window, but does not switch buffer. `{' and `}' jumps to the | 1472 other window, but does not switch buffer. `{' and `}' jumps to the |
1734 previous or next file in the grep output. TAB also jumps to the next | 1473 previous or next file in the grep output. TAB also jumps to the next |
1735 file. | 1474 file. |
1736 | 1475 |
1737 +++ | |
1738 *** M-x grep now tries to avoid appending `/dev/null' to the command line | 1476 *** M-x grep now tries to avoid appending `/dev/null' to the command line |
1739 by using GNU grep `-H' option instead. M-x grep automatically | 1477 by using GNU grep `-H' option instead. M-x grep automatically |
1740 detects whether this is possible or not the first time it is invoked. | 1478 detects whether this is possible or not the first time it is invoked. |
1741 When `-H' is used, the grep command line supplied by the user is passed | 1479 When `-H' is used, the grep command line supplied by the user is passed |
1742 unchanged to the system to execute, which allows more complicated | 1480 unchanged to the system to execute, which allows more complicated |
1743 command lines to be used than was possible before. | 1481 command lines to be used than was possible before. |
1744 | 1482 |
1745 ** X Windows Support: | 1483 ** X Windows Support: |
1746 | 1484 |
1747 +++ | |
1748 *** Emacs now supports drag and drop for X. Dropping a file on a window | 1485 *** Emacs now supports drag and drop for X. Dropping a file on a window |
1749 opens it, dropping text inserts the text. Dropping a file on a dired | 1486 opens it, dropping text inserts the text. Dropping a file on a dired |
1750 buffer copies or moves the file to that directory. | 1487 buffer copies or moves the file to that directory. |
1751 | 1488 |
1752 +++ | |
1753 *** Under X11, it is possible to swap Alt and Meta (and Super and Hyper). | 1489 *** Under X11, it is possible to swap Alt and Meta (and Super and Hyper). |
1754 The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', | 1490 The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym', |
1755 and `x-super-keysym' can be used to choose which keysyms Emacs should | 1491 and `x-super-keysym' can be used to choose which keysyms Emacs should |
1756 use for the modifiers. For example, the following two lines swap | 1492 use for the modifiers. For example, the following two lines swap |
1757 Meta and Alt: | 1493 Meta and Alt: |
1758 (setq x-alt-keysym 'meta) | 1494 (setq x-alt-keysym 'meta) |
1759 (setq x-meta-keysym 'alt) | 1495 (setq x-meta-keysym 'alt) |
1760 | 1496 |
1761 +++ | |
1762 *** The X resource useXIM can be used to turn off use of XIM, which can | 1497 *** The X resource useXIM can be used to turn off use of XIM, which can |
1763 speed up Emacs with slow networking to the X server. | 1498 speed up Emacs with slow networking to the X server. |
1764 | 1499 |
1765 If the configure option `--without-xim' was used to turn off use of | 1500 If the configure option `--without-xim' was used to turn off use of |
1766 XIM by default, the X resource useXIM can be used to turn it on. | 1501 XIM by default, the X resource useXIM can be used to turn it on. |
1767 | 1502 |
1768 --- | |
1769 *** The new variable `x-select-request-type' controls how Emacs | 1503 *** The new variable `x-select-request-type' controls how Emacs |
1770 requests X selection. The default value is nil, which means that | 1504 requests X selection. The default value is nil, which means that |
1771 Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING, | 1505 Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING, |
1772 and use the more appropriately result. | 1506 and use the more appropriately result. |
1773 | 1507 |
1774 --- | |
1775 *** The scrollbar under LessTif or Motif has a smoother drag-scrolling. | 1508 *** The scrollbar under LessTif or Motif has a smoother drag-scrolling. |
1776 On the other hand, the size of the thumb does not represent the actual | 1509 On the other hand, the size of the thumb does not represent the actual |
1777 amount of text shown any more (only a crude approximation of it). | 1510 amount of text shown any more (only a crude approximation of it). |
1778 | 1511 |
1779 ** Xterm support: | 1512 ** Xterm support: |
1780 | 1513 |
1781 --- | |
1782 *** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks | 1514 *** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks |
1783 on the mode line, header line and display margin, when run in an xterm. | 1515 on the mode line, header line and display margin, when run in an xterm. |
1784 | 1516 |
1785 --- | |
1786 *** Improved key bindings support when running in an xterm. | 1517 *** Improved key bindings support when running in an xterm. |
1787 When Emacs is running in an xterm more key bindings are available. | 1518 When Emacs is running in an xterm more key bindings are available. |
1788 The following should work: | 1519 The following should work: |
1789 {C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}. | 1520 {C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}. |
1790 These key bindings work on xterm from X.org 6.8 (and later versions), | 1521 These key bindings work on xterm from X.org 6.8 (and later versions), |
1793 The various keys generated by xterm when the "modifyOtherKeys" | 1524 The various keys generated by xterm when the "modifyOtherKeys" |
1794 resource is set are also supported. | 1525 resource is set are also supported. |
1795 | 1526 |
1796 ** Character terminal color support changes: | 1527 ** Character terminal color support changes: |
1797 | 1528 |
1798 +++ | |
1799 *** The new command-line option --color=MODE lets you specify a standard | 1529 *** The new command-line option --color=MODE lets you specify a standard |
1800 mode for a tty color support. It is meant to be used on character | 1530 mode for a tty color support. It is meant to be used on character |
1801 terminals whose capabilities are not set correctly in the terminal | 1531 terminals whose capabilities are not set correctly in the terminal |
1802 database, or with terminal emulators which support colors, but don't | 1532 database, or with terminal emulators which support colors, but don't |
1803 set the TERM environment variable to a name of a color-capable | 1533 set the TERM environment variable to a name of a color-capable |
1804 terminal. "emacs --color" uses the same color commands as GNU `ls' | 1534 terminal. "emacs --color" uses the same color commands as GNU `ls' |
1805 when invoked with "ls --color", so if your terminal can support colors | 1535 when invoked with "ls --color", so if your terminal can support colors |
1806 in "ls --color", it will support "emacs --color" as well. See the | 1536 in "ls --color", it will support "emacs --color" as well. See the |
1807 user manual for the possible values of the MODE parameter. | 1537 user manual for the possible values of the MODE parameter. |
1808 | 1538 |
1809 --- | |
1810 *** Emacs now supports several character terminals which provide more | 1539 *** Emacs now supports several character terminals which provide more |
1811 than 8 colors. For example, for `xterm', 16-color, 88-color, and | 1540 than 8 colors. For example, for `xterm', 16-color, 88-color, and |
1812 256-color modes are supported. Emacs automatically notes at startup | 1541 256-color modes are supported. Emacs automatically notes at startup |
1813 the extended number of colors, and defines the appropriate entries for | 1542 the extended number of colors, and defines the appropriate entries for |
1814 all of these colors. | 1543 all of these colors. |
1815 | 1544 |
1816 +++ | |
1817 *** Emacs now uses the full range of available colors for the default | 1545 *** Emacs now uses the full range of available colors for the default |
1818 faces when running on a color terminal, including 16-, 88-, and | 1546 faces when running on a color terminal, including 16-, 88-, and |
1819 256-color xterms. This means that when you run "emacs -nw" on an | 1547 256-color xterms. This means that when you run "emacs -nw" on an |
1820 88-color or 256-color xterm, you will see essentially the same face | 1548 88-color or 256-color xterm, you will see essentially the same face |
1821 colors as on X. | 1549 colors as on X. |
1822 | 1550 |
1823 --- | |
1824 *** There's a new support for colors on `rxvt' terminal emulator. | 1551 *** There's a new support for colors on `rxvt' terminal emulator. |
1552 | |
1553 ** ebnf2ps changes: | |
1554 | |
1555 *** New option `ebnf-arrow-extra-width' which specify extra width for arrow | |
1556 shape drawing. | |
1557 The extra width is used to avoid that the arrowhead and the terminal border | |
1558 overlap. It depends on `ebnf-arrow-shape' and `ebnf-line-width'. | |
1559 | |
1560 *** New option `ebnf-arrow-scale' which specify the arrow scale. | |
1561 Values lower than 1.0, shrink the arrow. | |
1562 Values greater than 1.0, expand the arrow. | |
1825 | 1563 |
1826 * New Modes and Packages in Emacs 22.1 | 1564 * New Modes and Packages in Emacs 22.1 |
1827 | 1565 |
1828 --- | |
1829 ** ERC is now part of the Emacs distribution. | 1566 ** ERC is now part of the Emacs distribution. |
1830 | 1567 |
1831 ERC is a powerful, modular, and extensible IRC client for Emacs. | 1568 ERC is a powerful, modular, and extensible IRC client for Emacs. |
1832 | 1569 |
1833 To see what modules are available, type | 1570 To see what modules are available, type |
1834 M-x customize-option erc-modules RET. | 1571 M-x customize-option erc-modules RET. |
1835 | 1572 |
1836 To start an IRC session with ERC, type M-x erc, and follow the prompts | 1573 To start an IRC session with ERC, type M-x erc, and follow the prompts |
1837 for server, port, and nick. | 1574 for server, port, and nick. |
1838 | 1575 |
1839 --- | |
1840 ** Rcirc is now part of the Emacs distribution. | 1576 ** Rcirc is now part of the Emacs distribution. |
1841 | 1577 |
1842 Rcirc is an Internet relay chat (IRC) client. It supports | 1578 Rcirc is an Internet relay chat (IRC) client. It supports |
1843 simultaneous connections to multiple IRC servers. Each discussion | 1579 simultaneous connections to multiple IRC servers. Each discussion |
1844 takes place in its own buffer. For each connection you can join | 1580 takes place in its own buffer. For each connection you can join |
1848 | 1584 |
1849 To start an IRC session using the default parameters, type M-x irc. | 1585 To start an IRC session using the default parameters, type M-x irc. |
1850 If you type C-u M-x irc, it prompts you for the server, nick, port and | 1586 If you type C-u M-x irc, it prompts you for the server, nick, port and |
1851 startup channel parameters before connecting. | 1587 startup channel parameters before connecting. |
1852 | 1588 |
1853 --- | |
1854 ** Newsticker is now part of the Emacs distribution. | 1589 ** Newsticker is now part of the Emacs distribution. |
1855 | 1590 |
1856 Newsticker asynchronously retrieves headlines (RSS) from a list of news | 1591 Newsticker asynchronously retrieves headlines (RSS) from a list of news |
1857 sites, prepares these headlines for reading, and allows for loading the | 1592 sites, prepares these headlines for reading, and allows for loading the |
1858 corresponding articles in a web browser. Its documentation is in a | 1593 corresponding articles in a web browser. Its documentation is in a |
1859 separate manual. | 1594 separate manual. |
1860 | 1595 |
1861 +++ | |
1862 ** savehist saves minibuffer histories between sessions. | 1596 ** savehist saves minibuffer histories between sessions. |
1863 To use this feature, turn on savehist-mode in your `.emacs' file. | 1597 To use this feature, turn on savehist-mode in your `.emacs' file. |
1864 | 1598 |
1865 +++ | |
1866 ** Filesets are collections of files. You can define a fileset in | 1599 ** Filesets are collections of files. You can define a fileset in |
1867 various ways, such as based on a directory tree or based on | 1600 various ways, such as based on a directory tree or based on |
1868 program files that include other program files. | 1601 program files that include other program files. |
1869 | 1602 |
1870 Once you have defined a fileset, you can perform various operations on | 1603 Once you have defined a fileset, you can perform various operations on |
1871 all the files in it, such as visiting them or searching and replacing | 1604 all the files in it, such as visiting them or searching and replacing |
1872 in them. | 1605 in them. |
1873 | 1606 |
1874 +++ | |
1875 ** Calc is now part of the Emacs distribution. | 1607 ** Calc is now part of the Emacs distribution. |
1876 | 1608 |
1877 Calc is an advanced desk calculator and mathematical tool written in | 1609 Calc is an advanced desk calculator and mathematical tool written in |
1878 Emacs Lisp. The prefix for Calc has been changed to `C-x *' and Calc | 1610 Emacs Lisp. The prefix for Calc has been changed to `C-x *' and Calc |
1879 can be started with `C-x * *'. The Calc manual is separate from the | 1611 can be started with `C-x * *'. The Calc manual is separate from the |
1880 Emacs manual; within Emacs, type "C-h i m calc RET" to read the | 1612 Emacs manual; within Emacs, type "C-h i m calc RET" to read the |
1881 manual. A reference card is available in `etc/calccard.tex' and | 1613 manual. A reference card is available in `etc/calccard.tex' and |
1882 `etc/calccard.ps'. | 1614 `etc/calccard.ps'. |
1883 | 1615 |
1884 --- | |
1885 ** The new package ibuffer provides a powerful, completely | 1616 ** The new package ibuffer provides a powerful, completely |
1886 customizable replacement for buff-menu.el. | 1617 customizable replacement for buff-menu.el. |
1887 | 1618 |
1888 --- | |
1889 ** Ido mode is now part of the Emacs distribution. | 1619 ** Ido mode is now part of the Emacs distribution. |
1890 | 1620 |
1891 The ido (interactively do) package is an extension of the iswitchb | 1621 The ido (interactively do) package is an extension of the iswitchb |
1892 package to do interactive opening of files and directories in addition | 1622 package to do interactive opening of files and directories in addition |
1893 to interactive buffer switching. Ido is a superset of iswitchb (with | 1623 to interactive buffer switching. Ido is a superset of iswitchb (with |
1894 a few exceptions), so don't enable both packages. | 1624 a few exceptions), so don't enable both packages. |
1895 | 1625 |
1896 +++ | |
1897 ** Image files are normally visited in Image mode, which lets you toggle | 1626 ** Image files are normally visited in Image mode, which lets you toggle |
1898 between viewing the image and viewing the text using C-c C-c. | 1627 between viewing the image and viewing the text using C-c C-c. |
1899 | 1628 |
1900 --- | |
1901 ** CUA mode is now part of the Emacs distribution. | 1629 ** CUA mode is now part of the Emacs distribution. |
1902 | 1630 |
1903 The new cua package provides CUA-like keybindings using C-x for | 1631 The new cua package provides CUA-like keybindings using C-x for |
1904 cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo. | 1632 cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo. |
1905 With cua, the region can be set and extended using shifted movement | 1633 With cua, the region can be set and extended using shifted movement |
1944 Note: This version of cua mode is not backwards compatible with older | 1672 Note: This version of cua mode is not backwards compatible with older |
1945 versions of cua.el and cua-mode.el. To ensure proper operation, you | 1673 versions of cua.el and cua-mode.el. To ensure proper operation, you |
1946 must remove older versions of cua.el or cua-mode.el as well as the | 1674 must remove older versions of cua.el or cua-mode.el as well as the |
1947 loading and customization of those packages from the .emacs file. | 1675 loading and customization of those packages from the .emacs file. |
1948 | 1676 |
1949 +++ | |
1950 ** Org mode is now part of the Emacs distribution | 1677 ** Org mode is now part of the Emacs distribution |
1951 | 1678 |
1952 Org mode is a mode for keeping notes, maintaining ToDo lists, and | 1679 Org mode is a mode for keeping notes, maintaining ToDo lists, and |
1953 doing project planning with a fast and effective plain-text system. | 1680 doing project planning with a fast and effective plain-text system. |
1954 It also contains a plain-text table editor with spreadsheet-like | 1681 It also contains a plain-text table editor with spreadsheet-like |
1959 | 1686 |
1960 The documentation for org-mode is in a separate manual; within Emacs, | 1687 The documentation for org-mode is in a separate manual; within Emacs, |
1961 type "C-h i m org RET" to read that manual. A reference card is | 1688 type "C-h i m org RET" to read that manual. A reference card is |
1962 available in `etc/orgcard.tex' and `etc/orgcard.ps'. | 1689 available in `etc/orgcard.tex' and `etc/orgcard.ps'. |
1963 | 1690 |
1964 +++ | |
1965 ** The new package dns-mode.el adds syntax highlighting of DNS master files. | 1691 ** The new package dns-mode.el adds syntax highlighting of DNS master files. |
1966 It is a modern replacement for zone-mode.el, which is now obsolete. | 1692 It is a modern replacement for zone-mode.el, which is now obsolete. |
1967 | 1693 |
1968 --- | |
1969 ** The new global minor mode `file-name-shadow-mode' modifies the way | 1694 ** The new global minor mode `file-name-shadow-mode' modifies the way |
1970 filenames being entered by the user in the minibuffer are displayed, so | 1695 filenames being entered by the user in the minibuffer are displayed, so |
1971 that it's clear when part of the entered filename will be ignored due to | 1696 that it's clear when part of the entered filename will be ignored due to |
1972 Emacs' filename parsing rules. The ignored portion can be made dim, | 1697 Emacs' filename parsing rules. The ignored portion can be made dim, |
1973 invisible, or otherwise less visually noticeable. The display method can | 1698 invisible, or otherwise less visually noticeable. The display method can |
1974 be displayed by customizing the variable `file-name-shadow-properties'. | 1699 be displayed by customizing the variable `file-name-shadow-properties'. |
1975 | 1700 |
1976 +++ | |
1977 ** The new package flymake.el does on-the-fly syntax checking of program | 1701 ** The new package flymake.el does on-the-fly syntax checking of program |
1978 source files. See the Flymake's Info manual for more details. | 1702 source files. See the Flymake's Info manual for more details. |
1979 | 1703 |
1980 +++ | |
1981 ** The new keypad setup package provides several common bindings for | 1704 ** The new keypad setup package provides several common bindings for |
1982 the numeric keypad which is available on most keyboards. The numeric | 1705 the numeric keypad which is available on most keyboards. The numeric |
1983 keypad typically has the digits 0 to 9, a decimal point, keys marked | 1706 keypad typically has the digits 0 to 9, a decimal point, keys marked |
1984 +, -, /, and *, an Enter key, and a NumLock toggle key. The keypad | 1707 +, -, /, and *, an Enter key, and a NumLock toggle key. The keypad |
1985 package only controls the use of the digit and decimal keys. | 1708 package only controls the use of the digit and decimal keys. |
2000 where the keys work like (shifted) arrow keys, home/end, etc., and | 1723 where the keys work like (shifted) arrow keys, home/end, etc., and |
2001 `Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.) | 1724 `Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.) |
2002 are left unspecified and can be bound individually through the global | 1725 are left unspecified and can be bound individually through the global |
2003 or local keymaps. | 1726 or local keymaps. |
2004 | 1727 |
2005 +++ | |
2006 ** Emacs' keyboard macro facilities have been enhanced by the new | 1728 ** Emacs' keyboard macro facilities have been enhanced by the new |
2007 kmacro package. | 1729 kmacro package. |
2008 | 1730 |
2009 Keyboard macros are now defined and executed via the F3 and F4 keys: | 1731 Keyboard macros are now defined and executed via the F3 and F4 keys: |
2010 F3 starts a macro, F4 ends the macro, and pressing F4 again executes | 1732 F3 starts a macro, F4 ends the macro, and pressing F4 again executes |
2034 | 1756 |
2035 Keyboard macros can now be debugged and edited interactively. | 1757 Keyboard macros can now be debugged and edited interactively. |
2036 C-x C-k SPC steps through the last keyboard macro one key sequence | 1758 C-x C-k SPC steps through the last keyboard macro one key sequence |
2037 at a time, prompting for the actions to take. | 1759 at a time, prompting for the actions to take. |
2038 | 1760 |
2039 --- | |
2040 ** New minor mode, Visible mode, toggles invisibility in the current buffer. | 1761 ** New minor mode, Visible mode, toggles invisibility in the current buffer. |
2041 When enabled, it makes all invisible text visible. When disabled, it | 1762 When enabled, it makes all invisible text visible. When disabled, it |
2042 restores the previous value of `buffer-invisibility-spec'. | 1763 restores the previous value of `buffer-invisibility-spec'. |
2043 | 1764 |
2044 +++ | |
2045 ** The wdired.el package allows you to use normal editing commands on Dired | 1765 ** The wdired.el package allows you to use normal editing commands on Dired |
2046 buffers to change filenames, permissions, etc... | 1766 buffers to change filenames, permissions, etc... |
2047 | 1767 |
2048 +++ | |
2049 ** The new package longlines.el provides a minor mode for editing text | 1768 ** The new package longlines.el provides a minor mode for editing text |
2050 files composed of long lines, based on the `use-hard-newlines' | 1769 files composed of long lines, based on the `use-hard-newlines' |
2051 mechanism. The long lines are broken up by inserting soft newlines, | 1770 mechanism. The long lines are broken up by inserting soft newlines, |
2052 which are automatically removed when saving the file to disk or | 1771 which are automatically removed when saving the file to disk or |
2053 copying into the kill ring, clipboard, etc. By default, Longlines | 1772 copying into the kill ring, clipboard, etc. By default, Longlines |
2054 mode inserts soft newlines automatically during editing, a behavior | 1773 mode inserts soft newlines automatically during editing, a behavior |
2055 referred to as "soft word wrap" in other text editors. This is | 1774 referred to as "soft word wrap" in other text editors. This is |
2056 similar to Refill mode, but more reliable. To turn the word wrap | 1775 similar to Refill mode, but more reliable. To turn the word wrap |
2057 feature off, set `longlines-auto-wrap' to nil. | 1776 feature off, set `longlines-auto-wrap' to nil. |
2058 | 1777 |
2059 +++ | |
2060 ** The printing package is now part of the Emacs distribution. | 1778 ** The printing package is now part of the Emacs distribution. |
2061 | 1779 |
2062 If you enable the printing package by including (require 'printing) in | 1780 If you enable the printing package by including (require 'printing) in |
2063 the .emacs file, the normal Print item on the File menu is replaced | 1781 the .emacs file, the normal Print item on the File menu is replaced |
2064 with a Print sub-menu which allows you to preview output through | 1782 with a Print sub-menu which allows you to preview output through |
2065 ghostview, use ghostscript to print (if you don't have a PostScript | 1783 ghostview, use ghostscript to print (if you don't have a PostScript |
2066 printer) or send directly to printer a PostScript code generated by | 1784 printer) or send directly to printer a PostScript code generated by |
2067 `ps-print' package. Use M-x pr-help for more information. | 1785 `ps-print' package. Use M-x pr-help for more information. |
2068 | 1786 |
2069 --- | |
2070 ** The minor mode Reveal mode makes text visible on the fly as you | 1787 ** The minor mode Reveal mode makes text visible on the fly as you |
2071 move your cursor into hidden regions of the buffer. | 1788 move your cursor into hidden regions of the buffer. |
2072 It should work with any package that uses overlays to hide parts | 1789 It should work with any package that uses overlays to hide parts |
2073 of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ... | 1790 of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ... |
2074 | 1791 |
2075 There is also Global Reveal mode which affects all buffers. | 1792 There is also Global Reveal mode which affects all buffers. |
2076 | 1793 |
2077 --- | |
2078 ** The ruler-mode.el library provides a minor mode for displaying an | 1794 ** The ruler-mode.el library provides a minor mode for displaying an |
2079 "active" ruler in the header line. You can use the mouse to visually | 1795 "active" ruler in the header line. You can use the mouse to visually |
2080 change the `fill-column', `window-margins' and `tab-stop-list' | 1796 change the `fill-column', `window-margins' and `tab-stop-list' |
2081 settings. | 1797 settings. |
2082 | 1798 |
2083 +++ | |
2084 ** SES mode (ses-mode) is a new major mode for creating and editing | 1799 ** SES mode (ses-mode) is a new major mode for creating and editing |
2085 spreadsheet files. Besides the usual Emacs features (intuitive command | 1800 spreadsheet files. Besides the usual Emacs features (intuitive command |
2086 letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers | 1801 letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers |
2087 viral immunity and import/export of tab-separated values. | 1802 viral immunity and import/export of tab-separated values. |
2088 | 1803 |
2089 +++ | |
2090 ** The new global minor mode `size-indication-mode' (off by default) | 1804 ** The new global minor mode `size-indication-mode' (off by default) |
2091 shows the size of accessible part of the buffer on the mode line. | 1805 shows the size of accessible part of the buffer on the mode line. |
2092 | 1806 |
2093 +++ | |
2094 ** The new package table.el implements editable, WYSIWYG, embedded | 1807 ** The new package table.el implements editable, WYSIWYG, embedded |
2095 `text tables' in Emacs buffers. It simulates the effect of putting | 1808 `text tables' in Emacs buffers. It simulates the effect of putting |
2096 these tables in a special major mode. The package emulates WYSIWYG | 1809 these tables in a special major mode. The package emulates WYSIWYG |
2097 table editing available in modern word processors. The package also | 1810 table editing available in modern word processors. The package also |
2098 can generate a table source in typesetting and markup languages such | 1811 can generate a table source in typesetting and markup languages such |
2099 as latex and html from the visually laid out text table. | 1812 as latex and html from the visually laid out text table. |
2100 | 1813 |
2101 +++ | 1814 ** The image-dired.el package allows you to easily view, tag and in |
2102 ** The tumme.el package allows you to easily view, tag and in other ways | 1815 other ways manipulate image files and their thumbnails, using dired as |
2103 manipulate image files and their thumbnails, using dired as the main interface. | 1816 the main interface. Image-Dired provides functionality to generate |
2104 Tumme provides functionality to generate simple image galleries. | 1817 simple image galleries. |
2105 | 1818 |
2106 +++ | |
2107 ** Tramp is now part of the distribution. | 1819 ** Tramp is now part of the distribution. |
2108 | 1820 |
2109 This package is similar to Ange-FTP: it allows you to edit remote | 1821 This package is similar to Ange-FTP: it allows you to edit remote |
2110 files. But whereas Ange-FTP uses FTP to access the remote host, | 1822 files. But whereas Ange-FTP uses FTP to access the remote host, |
2111 Tramp uses a shell connection. The shell connection is always used | 1823 Tramp uses a shell connection. The shell connection is always used |
2124 (setq tramp-default-method "ftp") | 1836 (setq tramp-default-method "ftp") |
2125 | 1837 |
2126 Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x | 1838 Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x |
2127 tramp-unload-tramp. | 1839 tramp-unload-tramp. |
2128 | 1840 |
2129 --- | |
2130 ** The URL package (which had been part of W3) is now part of Emacs. | 1841 ** The URL package (which had been part of W3) is now part of Emacs. |
2131 | 1842 |
2132 --- | |
2133 ** `cfengine-mode' is a major mode for editing GNU Cfengine | 1843 ** `cfengine-mode' is a major mode for editing GNU Cfengine |
2134 configuration files. | 1844 configuration files. |
2135 | 1845 |
2136 +++ | |
2137 ** The new package conf-mode.el handles thousands of configuration files, with | 1846 ** The new package conf-mode.el handles thousands of configuration files, with |
2138 varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, | 1847 varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value, |
2139 var : value, var value or keyword var value) and sections ([section] or | 1848 var : value, var value or keyword var value) and sections ([section] or |
2140 section { }). Many files under /etc/, or with suffixes like .cf through | 1849 section { }). Many files under /etc/, or with suffixes like .cf through |
2141 .config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are | 1850 .config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are |
2142 recognized. | 1851 recognized. |
2143 | 1852 |
2144 --- | |
2145 ** GDB-Script-mode is used for files like .gdbinit. | 1853 ** GDB-Script-mode is used for files like .gdbinit. |
2146 | 1854 |
2147 +++ | |
2148 ** The new python.el package is used to edit Python and Jython programs. | 1855 ** The new python.el package is used to edit Python and Jython programs. |
2149 | 1856 |
2150 --- | |
2151 ** The TCL package tcl-mode.el was replaced by tcl.el. | 1857 ** The TCL package tcl-mode.el was replaced by tcl.el. |
2152 This was actually done in Emacs-21.1, and was not documented. | 1858 This was actually done in Emacs-21.1, and was not documented. |
2153 | 1859 |
2154 --- | |
2155 ** The new package scroll-lock.el provides the Scroll Lock minor mode | 1860 ** The new package scroll-lock.el provides the Scroll Lock minor mode |
2156 for pager-like scrolling. Keys which normally move point by line or | 1861 for pager-like scrolling. Keys which normally move point by line or |
2157 paragraph will scroll the buffer by the respective amount of lines | 1862 paragraph will scroll the buffer by the respective amount of lines |
2158 instead and point will be kept vertically fixed relative to window | 1863 instead and point will be kept vertically fixed relative to window |
2159 boundaries during scrolling. | 1864 boundaries during scrolling. |
2160 | 1865 |
2161 +++ | |
2162 ** The file t-mouse.el is now part of Emacs and provides access to mouse | 1866 ** The file t-mouse.el is now part of Emacs and provides access to mouse |
2163 events from the console. It still requires gpm to work but has been updated | 1867 events from the console. It still requires gpm to work but has been updated |
2164 for Emacs 22. In particular, the mode-line is now position sensitive. | 1868 for Emacs 22. In particular, the mode-line is now position sensitive. |
2165 | 1869 |
2166 * Changes in Specialized Modes and Packages in Emacs 22.1: | 1870 * Changes in Specialized Modes and Packages in Emacs 22.1: |
2167 | 1871 |
2168 ** Changes in Shell Mode | 1872 ** Changes in Shell Mode |
2169 | 1873 |
2170 --- | |
2171 *** Shell output normally scrolls so that the input line is at the | 1874 *** Shell output normally scrolls so that the input line is at the |
2172 bottom of the window -- thus showing the maximum possible text. (This | 1875 bottom of the window -- thus showing the maximum possible text. (This |
2173 is similar to the way sequential output to a terminal works.) | 1876 is similar to the way sequential output to a terminal works.) |
2174 | 1877 |
2175 ** Changes in Dired | 1878 ** Changes in Dired |
2176 | 1879 |
2177 +++ | 1880 *** Bindings for Image-Dired added |
2178 *** Bindings for Tumme added | |
2179 Several new keybindings, all starting with the C-t prefix, have been | 1881 Several new keybindings, all starting with the C-t prefix, have been |
2180 added to Dired. They are all bound to commands in Tumme. As a starting | 1882 added to Dired. They are all bound to commands in Image-Dired. As a |
2181 point, mark some image files in a dired buffer and do C-t d to display | 1883 starting point, mark some image files in a dired buffer and do C-t d |
2182 thumbnails of them in a separate buffer. | 1884 to display thumbnails of them in a separate buffer. |
2183 | 1885 |
2184 ** Changes in Hi Lock | 1886 ** Changes in Hi Lock |
2185 | 1887 |
2186 +++ | |
2187 *** hi-lock-mode now only affects a single buffer, and a new function | 1888 *** hi-lock-mode now only affects a single buffer, and a new function |
2188 `global-hi-lock-mode' enables Hi Lock in all buffers. By default, if | 1889 `global-hi-lock-mode' enables Hi Lock in all buffers. By default, if |
2189 hi-lock-mode is used in what appears to be the initialization file, a | 1890 hi-lock-mode is used in what appears to be the initialization file, a |
2190 warning message suggests to use global-hi-lock-mode instead. However, | 1891 warning message suggests to use global-hi-lock-mode instead. However, |
2191 if the new variable `hi-lock-archaic-interface-deduce' is non-nil, | 1892 if the new variable `hi-lock-archaic-interface-deduce' is non-nil, |
2192 using hi-lock-mode in an initialization file will turn on Hi Lock in all | 1893 using hi-lock-mode in an initialization file will turn on Hi Lock in all |
2193 buffers and no warning will be issued (for compatibility with the | 1894 buffers and no warning will be issued (for compatibility with the |
2194 behavior in older versions of Emacs). | 1895 behavior in older versions of Emacs). |
2195 | 1896 |
2196 --- | |
2197 ** Changes in Allout | 1897 ** Changes in Allout |
2198 | 1898 |
2199 *** Some previously rough topic-header format edge cases are reconciled. | 1899 *** Some previously rough topic-header format edge cases are reconciled. |
2200 Level 1 topics use the mode's comment format, and lines starting with the | 1900 Level 1 topics use the mode's comment format, and lines starting with the |
2201 asterisk - for instance, the comment close of some languages (eg, c's "*/" | 1901 asterisk - for instance, the comment close of some languages (eg, c's "*/" |
2202 or mathematica's "*)") - at the beginning of line are no longer are | 1902 or mathematica's "*)") - at the beginning of line are no longer are |
2203 interpreted as level 1 topics in those modes. | 1903 interpreted as level 1 topics in those modes. |
2204 | 1904 |
2205 *** Many or most commonly occuring "accidental" topics are disqualified. | 1905 *** Many or most commonly occurring "accidental" topics are disqualified. |
2206 Text in item bodies that looks like a low-depth topic is no longer mistaken | 1906 Text in item bodies that looks like a low-depth topic is no longer mistaken |
2207 for one unless its first offspring (or that of its next sibling with | 1907 for one unless its first offspring (or that of its next sibling with |
2208 offspring) is only one level deeper. | 1908 offspring) is only one level deeper. |
2209 | 1909 |
2210 For example, pasting some text with a bunch of leading asterisks into a | 1910 For example, pasting some text with a bunch of leading asterisks into a |
2290 have them automatically run at the end of module load by customizing | 1990 have them automatically run at the end of module load by customizing |
2291 the option `allout-run-unit-tests-on-load'. | 1991 the option `allout-run-unit-tests-on-load'. |
2292 - many, many other, more minor tweaks, fixes, and refinements. | 1992 - many, many other, more minor tweaks, fixes, and refinements. |
2293 - version number incremented to 2.2 | 1993 - version number incremented to 2.2 |
2294 | 1994 |
2295 +++ | 1995 ** The variable `woman-topic-at-point' is renamed |
2296 ** The variable `woman-topic-at-point' was renamed | |
2297 to `woman-use-topic-at-point' and behaves differently: if this | 1996 to `woman-use-topic-at-point' and behaves differently: if this |
2298 variable is non-nil, the `woman' command uses the word at point | 1997 variable is non-nil, the `woman' command uses the word at point |
2299 automatically, without asking for a confirmation. Otherwise, the word | 1998 automatically, without asking for a confirmation. Otherwise, the word |
2300 at point is suggested as default, but not inserted at the prompt. | 1999 at point is suggested as default, but not inserted at the prompt. |
2301 | 2000 |
2302 --- | |
2303 ** Changes to cmuscheme | 2001 ** Changes to cmuscheme |
2304 | 2002 |
2305 *** Emacs now offers to start Scheme if the user tries to | 2003 *** Emacs now offers to start Scheme if the user tries to |
2306 evaluate a Scheme expression but no Scheme subprocess is running. | 2004 evaluate a Scheme expression but no Scheme subprocess is running. |
2307 | 2005 |
2313 procedure calls (`scheme-trace-procedure') and to expand syntactic forms | 2011 procedure calls (`scheme-trace-procedure') and to expand syntactic forms |
2314 (`scheme-expand-current-form'). The commands actually sent to the Scheme | 2012 (`scheme-expand-current-form'). The commands actually sent to the Scheme |
2315 subprocess are controlled by the user options `scheme-trace-command', | 2013 subprocess are controlled by the user options `scheme-trace-command', |
2316 `scheme-untrace-command' and `scheme-expand-current-form'. | 2014 `scheme-untrace-command' and `scheme-expand-current-form'. |
2317 | 2015 |
2318 --- | |
2319 ** Changes in Makefile mode | 2016 ** Changes in Makefile mode |
2320 | 2017 |
2321 *** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. | 2018 *** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake. |
2322 | 2019 |
2323 The former two couldn't be differentiated before, and the latter three | 2020 The former two couldn't be differentiated before, and the latter three |
2326 | 2023 |
2327 *** The variable `makefile-query-one-target-method' has been renamed | 2024 *** The variable `makefile-query-one-target-method' has been renamed |
2328 to `makefile-query-one-target-method-function'. The old name is still | 2025 to `makefile-query-one-target-method-function'. The old name is still |
2329 available as alias. | 2026 available as alias. |
2330 | 2027 |
2331 +++ | |
2332 ** In Outline mode, `hide-body' no longer hides lines at the top | 2028 ** In Outline mode, `hide-body' no longer hides lines at the top |
2333 of the file that precede the first header line. | 2029 of the file that precede the first header line. |
2334 | 2030 |
2335 +++ | |
2336 ** Telnet now prompts you for a port number with C-u M-x telnet. | 2031 ** Telnet now prompts you for a port number with C-u M-x telnet. |
2337 | 2032 |
2338 --- | |
2339 ** The terminal emulation code in term.el has been improved; it can | 2033 ** The terminal emulation code in term.el has been improved; it can |
2340 run most curses applications now. | 2034 run most curses applications now. |
2341 | 2035 |
2342 +++ | |
2343 ** M-x diff uses Diff mode instead of Compilation mode. | 2036 ** M-x diff uses Diff mode instead of Compilation mode. |
2344 | 2037 |
2345 +++ | |
2346 ** Diff mode key bindings changed. | 2038 ** Diff mode key bindings changed. |
2347 | 2039 |
2348 These are the new bindings: | 2040 These are the new bindings: |
2349 | 2041 |
2350 C-c C-e diff-ediff-patch (old M-A) | 2042 C-c C-e diff-ediff-patch (old M-A) |
2355 | 2047 |
2356 To convert unified to context format, use C-u C-c C-u. | 2048 To convert unified to context format, use C-u C-c C-u. |
2357 In addition, C-c C-u now operates on the region | 2049 In addition, C-c C-u now operates on the region |
2358 in Transient Mark mode when the mark is active. | 2050 in Transient Mark mode when the mark is active. |
2359 | 2051 |
2360 +++ | |
2361 ** You can now customize `fill-nobreak-predicate' to control where | 2052 ** You can now customize `fill-nobreak-predicate' to control where |
2362 filling can break lines. The value is now normally a list of | 2053 filling can break lines. The value is now normally a list of |
2363 functions, but it can also be a single function, for compatibility. | 2054 functions, but it can also be a single function, for compatibility. |
2364 | 2055 |
2365 Emacs provide two predicates, `fill-single-word-nobreak-p' and | 2056 Emacs provide two predicates, `fill-single-word-nobreak-p' and |
2366 `fill-french-nobreak-p', for use as the value of | 2057 `fill-french-nobreak-p', for use as the value of |
2367 `fill-nobreak-predicate'. | 2058 `fill-nobreak-predicate'. |
2368 | 2059 |
2369 --- | |
2370 ** M-x view-file and commands that use it now avoid interfering | 2060 ** M-x view-file and commands that use it now avoid interfering |
2371 with special modes such as Tar mode. | 2061 with special modes such as Tar mode. |
2372 | 2062 |
2373 --- | |
2374 ** Commands `winner-redo' and `winner-undo', from winner.el, are now | 2063 ** Commands `winner-redo' and `winner-undo', from winner.el, are now |
2375 bound to C-c <left> and C-c <right>, respectively. This is an | 2064 bound to C-c <left> and C-c <right>, respectively. This is an |
2376 incompatible change. | 2065 incompatible change. |
2377 | 2066 |
2378 --- | |
2379 ** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. | 2067 ** `global-whitespace-mode' is a new alias for `whitespace-global-mode'. |
2380 | 2068 |
2381 +++ | |
2382 ** M-x compare-windows now can automatically skip non-matching text to | 2069 ** M-x compare-windows now can automatically skip non-matching text to |
2383 resync points in both windows. | 2070 resync points in both windows. |
2384 | 2071 |
2385 +++ | |
2386 ** New user option `add-log-always-start-new-record'. | 2072 ** New user option `add-log-always-start-new-record'. |
2387 | 2073 |
2388 When this option is enabled, M-x add-change-log-entry always | 2074 When this option is enabled, M-x add-change-log-entry always |
2389 starts a new record regardless of when the last record is. | 2075 starts a new record regardless of when the last record is. |
2390 | 2076 |
2391 --- | |
2392 ** PO translation files are decoded according to their MIME headers | 2077 ** PO translation files are decoded according to their MIME headers |
2393 when Emacs visits them. | 2078 when Emacs visits them. |
2394 | 2079 |
2395 ** Info mode changes: | 2080 ** Info mode changes: |
2396 | 2081 |
2397 +++ | |
2398 *** A numeric prefix argument of `info' selects an Info buffer | 2082 *** A numeric prefix argument of `info' selects an Info buffer |
2399 with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). | 2083 with the number appended to the `*info*' buffer name (e.g. "*info*<2>"). |
2400 | 2084 |
2401 +++ | |
2402 *** isearch in Info uses Info-search and searches through multiple nodes. | 2085 *** isearch in Info uses Info-search and searches through multiple nodes. |
2403 | 2086 |
2404 Before leaving the initial Info node isearch fails once with the error | 2087 Before leaving the initial Info node isearch fails once with the error |
2405 message [initial node], and with subsequent C-s/C-r continues through | 2088 message [initial node], and with subsequent C-s/C-r continues through |
2406 other nodes. When isearch fails for the rest of the manual, it wraps | 2089 other nodes. When isearch fails for the rest of the manual, it wraps |
2407 around the whole manual to the top/final node. The user option | 2090 around the whole manual to the top/final node. The user option |
2408 `Info-isearch-search' controls whether to use Info-search for isearch, | 2091 `Info-isearch-search' controls whether to use Info-search for isearch, |
2409 or the default isearch search function that wraps around the current | 2092 or the default isearch search function that wraps around the current |
2410 Info node. | 2093 Info node. |
2411 | 2094 |
2412 --- | |
2413 *** New search commands: `Info-search-case-sensitively' (bound to S), | 2095 *** New search commands: `Info-search-case-sensitively' (bound to S), |
2414 `Info-search-backward', and `Info-search-next' which repeats the last | 2096 `Info-search-backward', and `Info-search-next' which repeats the last |
2415 search without prompting for a new search string. | 2097 search without prompting for a new search string. |
2416 | 2098 |
2417 +++ | |
2418 *** New command `Info-history-forward' (bound to r and new toolbar icon) | 2099 *** New command `Info-history-forward' (bound to r and new toolbar icon) |
2419 moves forward in history to the node you returned from after using | 2100 moves forward in history to the node you returned from after using |
2420 `Info-history-back' (renamed from `Info-last'). | 2101 `Info-history-back' (renamed from `Info-last'). |
2421 | 2102 |
2422 --- | |
2423 *** New command `Info-history' (bound to L) displays a menu of visited nodes. | 2103 *** New command `Info-history' (bound to L) displays a menu of visited nodes. |
2424 | 2104 |
2425 --- | |
2426 *** New command `Info-toc' (bound to T) creates a node with table of contents | 2105 *** New command `Info-toc' (bound to T) creates a node with table of contents |
2427 from the tree structure of menus of the current Info file. | 2106 from the tree structure of menus of the current Info file. |
2428 | 2107 |
2429 +++ | |
2430 *** New command `info-apropos' searches the indices of the known | 2108 *** New command `info-apropos' searches the indices of the known |
2431 Info files on your system for a string, and builds a menu of the | 2109 Info files on your system for a string, and builds a menu of the |
2432 possible matches. | 2110 possible matches. |
2433 | 2111 |
2434 --- | |
2435 *** New command `Info-copy-current-node-name' (bound to w) copies | 2112 *** New command `Info-copy-current-node-name' (bound to w) copies |
2436 the current Info node name into the kill ring. With a zero prefix | 2113 the current Info node name into the kill ring. With a zero prefix |
2437 arg, puts the node name inside the `info' function call. | 2114 arg, puts the node name inside the `info' function call. |
2438 | 2115 |
2439 +++ | |
2440 *** New face `info-xref-visited' distinguishes visited nodes from unvisited | 2116 *** New face `info-xref-visited' distinguishes visited nodes from unvisited |
2441 and a new option `Info-fontify-visited-nodes' to control this. | 2117 and a new option `Info-fontify-visited-nodes' to control this. |
2442 | 2118 |
2443 --- | |
2444 *** http and ftp links in Info are now operational: they look like cross | 2119 *** http and ftp links in Info are now operational: they look like cross |
2445 references and following them calls `browse-url'. | 2120 references and following them calls `browse-url'. |
2446 | 2121 |
2447 +++ | |
2448 *** Info now hides node names in menus and cross references by default. | 2122 *** Info now hides node names in menus and cross references by default. |
2449 | 2123 |
2450 If you prefer the old behavior, you can set the new user option | 2124 If you prefer the old behavior, you can set the new user option |
2451 `Info-hide-note-references' to nil. | 2125 `Info-hide-note-references' to nil. |
2452 | 2126 |
2453 --- | |
2454 *** Images in Info pages are supported. | 2127 *** Images in Info pages are supported. |
2455 | 2128 |
2456 Info pages show embedded images, in Emacs frames with image support. | 2129 Info pages show embedded images, in Emacs frames with image support. |
2457 Info documentation that includes images, processed with makeinfo | 2130 Info documentation that includes images, processed with makeinfo |
2458 version 4.7 or newer, compiles to Info pages with embedded images. | 2131 version 4.7 or newer, compiles to Info pages with embedded images. |
2459 | 2132 |
2460 +++ | |
2461 *** The default value for `Info-scroll-prefer-subnodes' is now nil. | 2133 *** The default value for `Info-scroll-prefer-subnodes' is now nil. |
2462 | 2134 |
2463 --- | |
2464 *** `Info-index' offers completion. | 2135 *** `Info-index' offers completion. |
2465 | 2136 |
2466 ** Lisp mode changes: | 2137 ** Lisp mode changes: |
2467 | 2138 |
2468 --- | |
2469 *** Lisp mode now uses `font-lock-doc-face' for doc strings. | 2139 *** Lisp mode now uses `font-lock-doc-face' for doc strings. |
2470 | 2140 |
2471 +++ | |
2472 *** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point. | 2141 *** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point. |
2473 | 2142 |
2474 *** New features in evaluation commands | 2143 *** New features in evaluation commands |
2475 | 2144 |
2476 +++ | |
2477 **** The function `eval-defun' (C-M-x) called on defface reinitializes | 2145 **** The function `eval-defun' (C-M-x) called on defface reinitializes |
2478 the face to the value specified in the defface expression. | 2146 the face to the value specified in the defface expression. |
2479 | 2147 |
2480 +++ | |
2481 **** Typing C-x C-e twice prints the value of the integer result | 2148 **** Typing C-x C-e twice prints the value of the integer result |
2482 in additional formats (octal, hexadecimal, character) specified | 2149 in additional formats (octal, hexadecimal, character) specified |
2483 by the new function `eval-expression-print-format'. The same | 2150 by the new function `eval-expression-print-format'. The same |
2484 function also defines the result format for `eval-expression' (M-:), | 2151 function also defines the result format for `eval-expression' (M-:), |
2485 `eval-print-last-sexp' (C-j) and some edebug evaluation functions. | 2152 `eval-print-last-sexp' (C-j) and some edebug evaluation functions. |
2486 | 2153 |
2487 +++ | |
2488 ** CC mode changes. | 2154 ** CC mode changes. |
2489 | 2155 |
2490 *** The CC Mode manual has been extensively revised. | 2156 *** The CC Mode manual has been extensively revised. |
2491 The information about using CC Mode has been separated from the larger | 2157 The information about using CC Mode has been separated from the larger |
2492 and more difficult chapters about configuration. | 2158 and more difficult chapters about configuration. |
2810 | 2476 |
2811 *** Added toggle for syntactic indentation. | 2477 *** Added toggle for syntactic indentation. |
2812 The function `c-toggle-syntactic-indentation' can be used to toggle | 2478 The function `c-toggle-syntactic-indentation' can be used to toggle |
2813 syntactic indentation. | 2479 syntactic indentation. |
2814 | 2480 |
2815 --- | |
2816 ** In sh-script, a continuation line is only indented if the backslash was | 2481 ** In sh-script, a continuation line is only indented if the backslash was |
2817 preceded by a SPC or a TAB. | 2482 preceded by a SPC or a TAB. |
2818 | 2483 |
2819 --- | |
2820 ** Perl mode has a new variable `perl-indent-continued-arguments'. | 2484 ** Perl mode has a new variable `perl-indent-continued-arguments'. |
2821 | 2485 |
2822 --- | |
2823 ** The old Octave mode bindings C-c f and C-c i have been changed | 2486 ** The old Octave mode bindings C-c f and C-c i have been changed |
2824 to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate | 2487 to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate |
2825 bindings on control characters--thus, C-c C-i C-b is the same as | 2488 bindings on control characters--thus, C-c C-i C-b is the same as |
2826 C-c C-i b, and so on. | 2489 C-c C-i b, and so on. |
2827 | 2490 |
2828 ** Fortran mode changes: | 2491 ** Fortran mode changes: |
2829 | 2492 |
2830 --- | |
2831 *** Fortran mode does more font-locking by default. Use level 3 | 2493 *** Fortran mode does more font-locking by default. Use level 3 |
2832 highlighting for the old default. | 2494 highlighting for the old default. |
2833 | 2495 |
2834 +++ | |
2835 *** Fortran mode has a new variable `fortran-directive-re'. | 2496 *** Fortran mode has a new variable `fortran-directive-re'. |
2836 Adapt this to match the format of any compiler directives you use. | 2497 Adapt this to match the format of any compiler directives you use. |
2837 Lines that match are never indented, and are given distinctive font-locking. | 2498 Lines that match are never indented, and are given distinctive font-locking. |
2838 | 2499 |
2839 +++ | |
2840 *** F90 mode and Fortran mode have new navigation commands | 2500 *** F90 mode and Fortran mode have new navigation commands |
2841 `f90-end-of-block', `f90-beginning-of-block', `f90-next-block', | 2501 `f90-end-of-block', `f90-beginning-of-block', `f90-next-block', |
2842 `f90-previous-block', `fortran-end-of-block', | 2502 `f90-previous-block', `fortran-end-of-block', |
2843 `fortran-beginning-of-block'. | 2503 `fortran-beginning-of-block'. |
2844 | 2504 |
2845 --- | |
2846 *** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). | 2505 *** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow). |
2847 It cannot deal with every code format, but ought to handle a sizeable | 2506 It cannot deal with every code format, but ought to handle a sizeable |
2848 majority. | 2507 majority. |
2849 | 2508 |
2850 --- | |
2851 *** The new function `f90-backslash-not-special' can be used to change | 2509 *** The new function `f90-backslash-not-special' can be used to change |
2852 the syntax of backslashes in F90 buffers. | 2510 the syntax of backslashes in F90 buffers. |
2853 | 2511 |
2854 --- | |
2855 ** Reftex mode changes | 2512 ** Reftex mode changes |
2856 | 2513 |
2857 +++ | |
2858 *** Changes to RefTeX's table of contents | 2514 *** Changes to RefTeX's table of contents |
2859 | 2515 |
2860 The new command keys "<" and ">" in the TOC buffer promote/demote the | 2516 The new command keys "<" and ">" in the TOC buffer promote/demote the |
2861 section at point or all sections in the current region, with full | 2517 section at point or all sections in the current region, with full |
2862 support for multifile documents. | 2518 support for multifile documents. |
2877 key `M-%'. | 2533 key `M-%'. |
2878 | 2534 |
2879 The new command `reftex-goto-label' jumps directly to a label | 2535 The new command `reftex-goto-label' jumps directly to a label |
2880 location. | 2536 location. |
2881 | 2537 |
2882 +++ | |
2883 *** Changes related to citations and BibTeX database files | 2538 *** Changes related to citations and BibTeX database files |
2884 | 2539 |
2885 Commands that insert a citation now prompt for optional arguments when | 2540 Commands that insert a citation now prompt for optional arguments when |
2886 called with a prefix argument. Related new options are | 2541 called with a prefix argument. Related new options are |
2887 `reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'. | 2542 `reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'. |
2900 The macros which specify the bibliography file (like \bibliography) | 2555 The macros which specify the bibliography file (like \bibliography) |
2901 can be configured with the new option `reftex-bibliography-commands'. | 2556 can be configured with the new option `reftex-bibliography-commands'. |
2902 | 2557 |
2903 Support for jurabib has been added. | 2558 Support for jurabib has been added. |
2904 | 2559 |
2905 +++ | |
2906 *** Global index matched may be verified with a user function | 2560 *** Global index matched may be verified with a user function |
2907 | 2561 |
2908 During global indexing, a user function can verify an index match. | 2562 During global indexing, a user function can verify an index match. |
2909 See new option `reftex-index-verify-function'. | 2563 See new option `reftex-index-verify-function'. |
2910 | 2564 |
2911 +++ | |
2912 *** Parsing documents with many labels can be sped up. | 2565 *** Parsing documents with many labels can be sped up. |
2913 | 2566 |
2914 Operating in a document with thousands of labels can be sped up | 2567 Operating in a document with thousands of labels can be sped up |
2915 considerably by allowing RefTeX to derive the type of a label directly | 2568 considerably by allowing RefTeX to derive the type of a label directly |
2916 from the label prefix like `eq:' or `fig:'. The option | 2569 from the label prefix like `eq:' or `fig:'. The option |
2917 `reftex-trust-label-prefix' needs to be configured in order to enable | 2570 `reftex-trust-label-prefix' needs to be configured in order to enable |
2918 this feature. While the speed-up is significant, this may reduce the | 2571 this feature. While the speed-up is significant, this may reduce the |
2919 quality of the context offered by RefTeX to describe a label. | 2572 quality of the context offered by RefTeX to describe a label. |
2920 | 2573 |
2921 +++ | |
2922 *** Miscellaneous changes | 2574 *** Miscellaneous changes |
2923 | 2575 |
2924 The macros which input a file in LaTeX (like \input, \include) can be | 2576 The macros which input a file in LaTeX (like \input, \include) can be |
2925 configured in the new option `reftex-include-file-commands'. | 2577 configured in the new option `reftex-include-file-commands'. |
2926 | 2578 |
2927 RefTeX supports global incremental search. | 2579 RefTeX supports global incremental search. |
2928 | 2580 |
2929 +++ | |
2930 ** Prolog mode has a new variable `prolog-font-lock-keywords' | 2581 ** Prolog mode has a new variable `prolog-font-lock-keywords' |
2931 to support use of font-lock. | 2582 to support use of font-lock. |
2932 | 2583 |
2933 ** HTML/SGML changes: | 2584 ** HTML/SGML changes: |
2934 | 2585 |
2935 --- | |
2936 *** Emacs now tries to set up buffer coding systems for HTML/XML files | 2586 *** Emacs now tries to set up buffer coding systems for HTML/XML files |
2937 automatically. | 2587 automatically. |
2938 | 2588 |
2939 +++ | |
2940 *** SGML mode has indentation and supports XML syntax. | 2589 *** SGML mode has indentation and supports XML syntax. |
2941 The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. | 2590 The new variable `sgml-xml-mode' tells SGML mode to use XML syntax. |
2942 When this option is enabled, SGML tags are inserted in XML style, | 2591 When this option is enabled, SGML tags are inserted in XML style, |
2943 i.e., there is always a closing tag. | 2592 i.e., there is always a closing tag. |
2944 By default, its setting is inferred on a buffer-by-buffer basis | 2593 By default, its setting is inferred on a buffer-by-buffer basis |
2945 from the file name or buffer contents. | 2594 from the file name or buffer contents. |
2946 | 2595 |
2947 --- | |
2948 *** The variable `sgml-transformation' has been renamed to | 2596 *** The variable `sgml-transformation' has been renamed to |
2949 `sgml-transformation-function'. The old name is still available as | 2597 `sgml-transformation-function'. The old name is still available as |
2950 alias. | 2598 alias. |
2951 | 2599 |
2952 +++ | |
2953 *** `xml-mode' is now an alias for `sgml-mode', which has XML support. | 2600 *** `xml-mode' is now an alias for `sgml-mode', which has XML support. |
2954 | 2601 |
2955 ** TeX modes: | 2602 ** TeX modes: |
2956 | 2603 |
2957 +++ | |
2958 *** C-c C-c prompts for a command to run, and tries to offer a good default. | 2604 *** C-c C-c prompts for a command to run, and tries to offer a good default. |
2959 | 2605 |
2960 +++ | |
2961 *** The user option `tex-start-options-string' has been replaced | 2606 *** The user option `tex-start-options-string' has been replaced |
2962 by two new user options: `tex-start-options', which should hold | 2607 by two new user options: `tex-start-options', which should hold |
2963 command-line options to feed to TeX, and `tex-start-commands' which should hold | 2608 command-line options to feed to TeX, and `tex-start-commands' which should hold |
2964 TeX commands to use at startup. | 2609 TeX commands to use at startup. |
2965 | 2610 |
2966 --- | |
2967 *** verbatim environments are now highlighted in courier by font-lock | 2611 *** verbatim environments are now highlighted in courier by font-lock |
2968 and super/sub-scripts are made into super/sub-scripts. | 2612 and super/sub-scripts are made into super/sub-scripts. |
2969 | 2613 |
2970 +++ | |
2971 *** New major mode Doctex mode, for *.dtx files. | 2614 *** New major mode Doctex mode, for *.dtx files. |
2972 | 2615 |
2973 --- | |
2974 ** BibTeX mode: | 2616 ** BibTeX mode: |
2975 | 2617 |
2976 *** The new command `bibtex-url' browses a URL for the BibTeX entry at | 2618 *** The new command `bibtex-url' browses a URL for the BibTeX entry at |
2977 point (bound to C-c C-l and mouse-2, RET on clickable fields). | 2619 point (bound to C-c C-l and mouse-2, RET on clickable fields). |
2978 | 2620 |
3025 `bibtex-autokey-titleword-case-convert' have been renamed to | 2667 `bibtex-autokey-titleword-case-convert' have been renamed to |
3026 `bibtex-autokey-name-case-convert-function' and | 2668 `bibtex-autokey-name-case-convert-function' and |
3027 `bibtex-autokey-titleword-case-convert-function'. The old names are | 2669 `bibtex-autokey-titleword-case-convert-function'. The old names are |
3028 still available as aliases. | 2670 still available as aliases. |
3029 | 2671 |
3030 +++ | |
3031 ** In Artist mode the variable `artist-text-renderer' has been | 2672 ** In Artist mode the variable `artist-text-renderer' has been |
3032 renamed to `artist-text-renderer-function'. The old name is still | 2673 renamed to `artist-text-renderer-function'. The old name is still |
3033 available as alias. | 2674 available as alias. |
3034 | 2675 |
3035 +++ | |
3036 ** In Enriched mode, `set-left-margin' and `set-right-margin' are now | 2676 ** In Enriched mode, `set-left-margin' and `set-right-margin' are now |
3037 by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' | 2677 by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l' |
3038 and `C-c C-r'. | 2678 and `C-c C-r'. |
3039 | 2679 |
3040 ** GUD changes: | 2680 ** GUD changes: |
3041 | 2681 |
3042 +++ | |
3043 *** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program | 2682 *** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program |
3044 counter to the specified source line (the one where point is). | 2683 counter to the specified source line (the one where point is). |
3045 | 2684 |
3046 --- | |
3047 *** GUD mode has its own tool bar for controlling execution of the inferior | 2685 *** GUD mode has its own tool bar for controlling execution of the inferior |
3048 and other common debugger commands. | 2686 and other common debugger commands. |
3049 | 2687 |
3050 +++ | |
3051 *** The new package gdb-ui.el provides an enhanced graphical interface to | 2688 *** The new package gdb-ui.el provides an enhanced graphical interface to |
3052 GDB. You can interact with GDB through the GUD buffer in the usual way, but | 2689 GDB. You can interact with GDB through the GUD buffer in the usual way, but |
3053 there are also further buffers which control the execution and describe the | 2690 there are also further buffers which control the execution and describe the |
3054 state of your program. It can separate the input/output of your program from | 2691 state of your program. It can separate the input/output of your program from |
3055 that of GDB and watches expressions in the speedbar. It also uses features of | 2692 that of GDB and watches expressions in the speedbar. It also uses features of |
3057 breakpoints. | 2694 breakpoints. |
3058 | 2695 |
3059 To use this package just type M-x gdb. See the Emacs manual if you want the | 2696 To use this package just type M-x gdb. See the Emacs manual if you want the |
3060 old behaviour. | 2697 old behaviour. |
3061 | 2698 |
3062 --- | |
3063 *** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be | 2699 *** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be |
3064 toggled independently of normal tooltips with the minor mode | 2700 toggled independently of normal tooltips with the minor mode |
3065 `gud-tooltip-mode'. | 2701 `gud-tooltip-mode'. |
3066 | 2702 |
3067 +++ | |
3068 *** In graphical mode, with a C program, GUD Tooltips have been extended to | 2703 *** In graphical mode, with a C program, GUD Tooltips have been extended to |
3069 display the #define directive associated with an identifier when program is | 2704 display the #define directive associated with an identifier when program is |
3070 not executing. | 2705 not executing. |
3071 | 2706 |
3072 --- | |
3073 ** GUD mode improvements for jdb: | 2707 ** GUD mode improvements for jdb: |
3074 | 2708 |
3075 *** Search for source files using jdb classpath and class information. | 2709 *** Search for source files using jdb classpath and class information. |
3076 Fast startup since there is no need to scan all source files up front. | 2710 Fast startup since there is no need to scan all source files up front. |
3077 There is also no need to create and maintain lists of source | 2711 There is also no need to create and maintain lists of source |
3112 | 2746 |
3113 **** Do not allow debugger output history variable to grow without bounds. | 2747 **** Do not allow debugger output history variable to grow without bounds. |
3114 | 2748 |
3115 ** Auto-Revert changes: | 2749 ** Auto-Revert changes: |
3116 | 2750 |
3117 +++ | |
3118 *** You can now use Auto Revert mode to `tail' a file. | 2751 *** You can now use Auto Revert mode to `tail' a file. |
3119 | 2752 |
3120 If point is at the end of a file buffer before reverting, Auto Revert | 2753 If point is at the end of a file buffer before reverting, Auto Revert |
3121 mode keeps it at the end after reverting. Similarly if point is | 2754 mode keeps it at the end after reverting. Similarly if point is |
3122 displayed at the end of a file buffer in any window, it stays at | 2755 displayed at the end of a file buffer in any window, it stays at |
3128 If you are sure that the file will only change by growing at the end, | 2761 If you are sure that the file will only change by growing at the end, |
3129 then you can tail the file more efficiently by using the new minor | 2762 then you can tail the file more efficiently by using the new minor |
3130 mode Auto Revert Tail mode. The function `auto-revert-tail-mode' | 2763 mode Auto Revert Tail mode. The function `auto-revert-tail-mode' |
3131 toggles this mode. | 2764 toggles this mode. |
3132 | 2765 |
3133 +++ | |
3134 *** Auto Revert mode is now more careful to avoid excessive reverts and | 2766 *** Auto Revert mode is now more careful to avoid excessive reverts and |
3135 other potential problems when deciding which non-file buffers to | 2767 other potential problems when deciding which non-file buffers to |
3136 revert. This matters especially if Global Auto Revert mode is enabled | 2768 revert. This matters especially if Global Auto Revert mode is enabled |
3137 and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert | 2769 and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert |
3138 mode only reverts a non-file buffer if the buffer has a non-nil | 2770 mode only reverts a non-file buffer if the buffer has a non-nil |
3139 `revert-buffer-function' and a non-nil `buffer-stale-function', which | 2771 `revert-buffer-function' and a non-nil `buffer-stale-function', which |
3140 decides whether the buffer should be reverted. Currently, this means | 2772 decides whether the buffer should be reverted. Currently, this means |
3141 that auto reverting works for Dired buffers (although this may not | 2773 that auto reverting works for Dired buffers (although this may not |
3142 work properly on all operating systems) and for the Buffer Menu. | 2774 work properly on all operating systems) and for the Buffer Menu. |
3143 | 2775 |
3144 +++ | |
3145 *** If the new user option `auto-revert-check-vc-info' is non-nil, Auto | 2776 *** If the new user option `auto-revert-check-vc-info' is non-nil, Auto |
3146 Revert mode reliably updates version control info (such as the version | 2777 Revert mode reliably updates version control info (such as the version |
3147 control number in the mode line), in all version controlled buffers in | 2778 control number in the mode line), in all version controlled buffers in |
3148 which it is active. If the option is nil, the default, then this info | 2779 which it is active. If the option is nil, the default, then this info |
3149 only gets updated whenever the buffer gets reverted. | 2780 only gets updated whenever the buffer gets reverted. |
3150 | 2781 |
3151 --- | |
3152 ** recentf changes. | 2782 ** recentf changes. |
3153 | 2783 |
3154 The recent file list is now automatically cleaned up when recentf mode is | 2784 The recent file list is now automatically cleaned up when recentf mode is |
3155 enabled. The new option `recentf-auto-cleanup' controls when to do | 2785 enabled. The new option `recentf-auto-cleanup' controls when to do |
3156 automatic cleanup. | 2786 automatic cleanup. |
3171 | 2801 |
3172 To follow naming convention, `recentf-menu-append-commands-flag' | 2802 To follow naming convention, `recentf-menu-append-commands-flag' |
3173 replaces the misnamed option `recentf-menu-append-commands-p'. The | 2803 replaces the misnamed option `recentf-menu-append-commands-p'. The |
3174 old name remains available as alias, but has been marked obsolete. | 2804 old name remains available as alias, but has been marked obsolete. |
3175 | 2805 |
3176 +++ | |
3177 ** Desktop package | 2806 ** Desktop package |
3178 | 2807 |
3179 +++ | |
3180 *** Desktop saving is now a minor mode, `desktop-save-mode'. | 2808 *** Desktop saving is now a minor mode, `desktop-save-mode'. |
3181 | 2809 |
3182 +++ | |
3183 *** The variable `desktop-enable' is obsolete. | 2810 *** The variable `desktop-enable' is obsolete. |
3184 | 2811 |
3185 Customize `desktop-save-mode' to enable desktop saving. | 2812 Customize `desktop-save-mode' to enable desktop saving. |
3186 | 2813 |
3187 --- | |
3188 *** Buffers are saved in the desktop file in the same order as that in the | 2814 *** Buffers are saved in the desktop file in the same order as that in the |
3189 buffer list. | 2815 buffer list. |
3190 | 2816 |
3191 +++ | |
3192 *** The desktop package can be customized to restore only some buffers | 2817 *** The desktop package can be customized to restore only some buffers |
3193 immediately, remaining buffers are restored lazily (when Emacs is | 2818 immediately, remaining buffers are restored lazily (when Emacs is |
3194 idle). | 2819 idle). |
3195 | 2820 |
3196 +++ | |
3197 *** New commands: | 2821 *** New commands: |
3198 - desktop-revert reverts to the last loaded desktop. | 2822 - desktop-revert reverts to the last loaded desktop. |
3199 - desktop-change-dir kills current desktop and loads a new. | 2823 - desktop-change-dir kills current desktop and loads a new. |
3200 - desktop-save-in-desktop-dir saves desktop in the directory from which | 2824 - desktop-save-in-desktop-dir saves desktop in the directory from which |
3201 it was loaded. | 2825 it was loaded. |
3202 - desktop-lazy-complete runs the desktop load to completion. | 2826 - desktop-lazy-complete runs the desktop load to completion. |
3203 - desktop-lazy-abort aborts lazy loading of the desktop. | 2827 - desktop-lazy-abort aborts lazy loading of the desktop. |
3204 | 2828 |
3205 --- | |
3206 *** New customizable variables: | 2829 *** New customizable variables: |
3207 - desktop-save. Determines whether the desktop should be saved when it is | 2830 - desktop-save. Determines whether the desktop should be saved when it is |
3208 killed. | 2831 killed. |
3209 - desktop-file-name-format. Format in which desktop file names should be saved. | 2832 - desktop-file-name-format. Format in which desktop file names should be saved. |
3210 - desktop-path. List of directories in which to lookup the desktop file. | 2833 - desktop-path. List of directories in which to lookup the desktop file. |
3215 - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are | 2838 - desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are |
3216 restored lazily (when Emacs is idle). | 2839 restored lazily (when Emacs is idle). |
3217 - desktop-lazy-verbose. Verbose reporting of lazily created buffers. | 2840 - desktop-lazy-verbose. Verbose reporting of lazily created buffers. |
3218 - desktop-lazy-idle-delay. Idle delay before starting to create buffers. | 2841 - desktop-lazy-idle-delay. Idle delay before starting to create buffers. |
3219 | 2842 |
3220 +++ | |
3221 *** New command line option --no-desktop | 2843 *** New command line option --no-desktop |
3222 | 2844 |
3223 --- | |
3224 *** New hooks: | 2845 *** New hooks: |
3225 - desktop-after-read-hook run after a desktop is loaded. | 2846 - desktop-after-read-hook run after a desktop is loaded. |
3226 - desktop-no-desktop-file-hook run when no desktop file is found. | 2847 - desktop-no-desktop-file-hook run when no desktop file is found. |
3227 | 2848 |
3228 --- | |
3229 ** The saveplace.el package now filters out unreadable files. | 2849 ** The saveplace.el package now filters out unreadable files. |
3230 | 2850 |
3231 When you exit Emacs, the saved positions in visited files no longer | 2851 When you exit Emacs, the saved positions in visited files no longer |
3232 include files that aren't readable, e.g. files that don't exist. | 2852 include files that aren't readable, e.g. files that don't exist. |
3233 Customize the new option `save-place-forget-unreadable-files' to nil | 2853 Customize the new option `save-place-forget-unreadable-files' to nil |
3235 and `save-place-skip-check-regexp' allow further fine-tuning of this | 2855 and `save-place-skip-check-regexp' allow further fine-tuning of this |
3236 feature. | 2856 feature. |
3237 | 2857 |
3238 ** EDiff changes. | 2858 ** EDiff changes. |
3239 | 2859 |
3240 +++ | |
3241 *** When comparing directories. | 2860 *** When comparing directories. |
3242 Typing D brings up a buffer that lists the differences between the contents of | 2861 Typing D brings up a buffer that lists the differences between the contents of |
3243 directories. Now it is possible to use this buffer to copy the missing files | 2862 directories. Now it is possible to use this buffer to copy the missing files |
3244 from one directory to another. | 2863 from one directory to another. |
3245 | 2864 |
3246 +++ | |
3247 *** When comparing files or buffers. | 2865 *** When comparing files or buffers. |
3248 Typing the = key now offers to perform the word-by-word comparison of the | 2866 Typing the = key now offers to perform the word-by-word comparison of the |
3249 currently highlighted regions in an inferior Ediff session. If you answer 'n' | 2867 currently highlighted regions in an inferior Ediff session. If you answer 'n' |
3250 then it reverts to the old behavior and asks the user to select regions for | 2868 then it reverts to the old behavior and asks the user to select regions for |
3251 comparison. | 2869 comparison. |
3252 | 2870 |
3253 +++ | |
3254 *** The new command `ediff-backup' compares a file with its most recent | 2871 *** The new command `ediff-backup' compares a file with its most recent |
3255 backup using `ediff'. If you specify the name of a backup file, | 2872 backup using `ediff'. If you specify the name of a backup file, |
3256 `ediff-backup' compares it with the file of which it is a backup. | 2873 `ediff-backup' compares it with the file of which it is a backup. |
3257 | 2874 |
3258 +++ | |
3259 ** Etags changes. | 2875 ** Etags changes. |
3260 | 2876 |
3261 *** New regular expressions features | 2877 *** New regular expressions features |
3262 | 2878 |
3263 **** New syntax for regular expressions, multi-line regular expressions. | 2879 **** New syntax for regular expressions, multi-line regular expressions. |
3356 | 2972 |
3357 *** Ctags now allows duplicate tags | 2973 *** Ctags now allows duplicate tags |
3358 | 2974 |
3359 ** VC Changes | 2975 ** VC Changes |
3360 | 2976 |
3361 +++ | |
3362 *** The key C-x C-q only changes the read-only state of the buffer | 2977 *** The key C-x C-q only changes the read-only state of the buffer |
3363 (toggle-read-only). It no longer checks files in or out. | 2978 (toggle-read-only). It no longer checks files in or out. |
3364 | 2979 |
3365 We made this change because we held a poll and found that many users | 2980 We made this change because we held a poll and found that many users |
3366 were unhappy with the previous behavior. If you do prefer this | 2981 were unhappy with the previous behavior. If you do prefer this |
3369 | 2984 |
3370 (global-set-key "\C-x\C-q" 'vc-toggle-read-only) | 2985 (global-set-key "\C-x\C-q" 'vc-toggle-read-only) |
3371 | 2986 |
3372 The function `vc-toggle-read-only' will continue to exist. | 2987 The function `vc-toggle-read-only' will continue to exist. |
3373 | 2988 |
3374 +++ | |
3375 *** The new variable `vc-cvs-global-switches' specifies switches that | 2989 *** The new variable `vc-cvs-global-switches' specifies switches that |
3376 are passed to any CVS command invoked by VC. | 2990 are passed to any CVS command invoked by VC. |
3377 | 2991 |
3378 These switches are used as "global options" for CVS, which means they | 2992 These switches are used as "global options" for CVS, which means they |
3379 are inserted before the command name. For example, this allows you to | 2993 are inserted before the command name. For example, this allows you to |
3380 specify a compression level using the `-z#' option for CVS. | 2994 specify a compression level using the `-z#' option for CVS. |
3381 | 2995 |
3382 +++ | |
3383 *** New backends for Subversion and Meta-CVS. | 2996 *** New backends for Subversion and Meta-CVS. |
3384 | 2997 |
3385 +++ | |
3386 *** VC-Annotate mode enhancements | 2998 *** VC-Annotate mode enhancements |
3387 | 2999 |
3388 In VC-Annotate mode, you can now use the following key bindings for | 3000 In VC-Annotate mode, you can now use the following key bindings for |
3389 enhanced functionality to browse the annotations of past revisions, or | 3001 enhanced functionality to browse the annotations of past revisions, or |
3390 to view diffs or log entries directly from vc-annotate-mode: | 3002 to view diffs or log entries directly from vc-annotate-mode: |
3397 L: shows the log of the revision at line | 3009 L: shows the log of the revision at line |
3398 W: annotates the workfile (most up to date) version | 3010 W: annotates the workfile (most up to date) version |
3399 | 3011 |
3400 ** pcl-cvs changes: | 3012 ** pcl-cvs changes: |
3401 | 3013 |
3402 +++ | |
3403 *** In pcl-cvs mode, there is a new `d y' command to view the diffs | 3014 *** In pcl-cvs mode, there is a new `d y' command to view the diffs |
3404 between the local version of the file and yesterday's head revision | 3015 between the local version of the file and yesterday's head revision |
3405 in the repository. | 3016 in the repository. |
3406 | 3017 |
3407 +++ | |
3408 *** In pcl-cvs mode, there is a new `d r' command to view the changes | 3018 *** In pcl-cvs mode, there is a new `d r' command to view the changes |
3409 anyone has committed to the repository since you last executed | 3019 anyone has committed to the repository since you last executed |
3410 `checkout', `update' or `commit'. That means using cvs diff options | 3020 `checkout', `update' or `commit'. That means using cvs diff options |
3411 -rBASE -rHEAD. | 3021 -rBASE -rHEAD. |
3412 | 3022 |
3413 +++ | |
3414 ** The new variable `mail-default-directory' specifies | 3023 ** The new variable `mail-default-directory' specifies |
3415 `default-directory' for mail buffers. This directory is used for | 3024 `default-directory' for mail buffers. This directory is used for |
3416 auto-save files of mail buffers. It defaults to "~/". | 3025 auto-save files of mail buffers. It defaults to "~/". |
3417 | 3026 |
3418 +++ | |
3419 ** The mode line can indicate new mail in a directory or file. | 3027 ** The mode line can indicate new mail in a directory or file. |
3420 | 3028 |
3421 See the documentation of the user option | 3029 See the documentation of the user option |
3422 `display-time-mail-directory'. | 3030 `display-time-mail-directory'. |
3423 | 3031 |
3424 ** Rmail changes: | 3032 ** Rmail changes: |
3425 | 3033 |
3426 --- | |
3427 *** Rmail now displays 5-digit message ids in its summary buffer. | 3034 *** Rmail now displays 5-digit message ids in its summary buffer. |
3428 | 3035 |
3429 +++ | |
3430 *** The new commands rmail-end-of-message and rmail-summary end-of-message, | 3036 *** The new commands rmail-end-of-message and rmail-summary end-of-message, |
3431 by default bound to `/', go to the end of the current mail message in | 3037 by default bound to `/', go to the end of the current mail message in |
3432 Rmail and Rmail summary buffers. | 3038 Rmail and Rmail summary buffers. |
3433 | 3039 |
3434 +++ | |
3435 *** Support for `movemail' from GNU mailutils was added to Rmail. | 3040 *** Support for `movemail' from GNU mailutils was added to Rmail. |
3436 | 3041 |
3437 This version of `movemail' allows to read mail from a wide range of | 3042 This version of `movemail' allows to read mail from a wide range of |
3438 mailbox formats, including remote POP3 and IMAP4 mailboxes with or | 3043 mailbox formats, including remote POP3 and IMAP4 mailboxes with or |
3439 without TLS encryption. If GNU mailutils is installed on the system | 3044 without TLS encryption. If GNU mailutils is installed on the system |
3440 and its version of `movemail' can be found in exec-path, it will be | 3045 and its version of `movemail' can be found in exec-path, it will be |
3441 used instead of the native one. | 3046 used instead of the native one. |
3442 | 3047 |
3443 ** Gnus package | 3048 ** Gnus package |
3444 | 3049 |
3445 --- | |
3446 *** Gnus now includes Sieve and PGG | 3050 *** Gnus now includes Sieve and PGG |
3447 | 3051 |
3448 Sieve is a library for managing Sieve scripts. PGG is a library to handle | 3052 Sieve is a library for managing Sieve scripts. PGG is a library to handle |
3449 PGP/MIME. | 3053 PGP/MIME. |
3450 | 3054 |
3451 --- | |
3452 *** There are many news features, bug fixes and improvements. | 3055 *** There are many news features, bug fixes and improvements. |
3453 | 3056 |
3454 See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. | 3057 See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details. |
3455 | 3058 |
3456 --- | |
3457 ** MH-E changes. | 3059 ** MH-E changes. |
3458 | 3060 |
3459 Upgraded to MH-E version 8.0.3. There have been major changes since | 3061 Upgraded to MH-E version 8.0.3. There have been major changes since |
3460 version 5.0.2; see MH-E-NEWS for details. | 3062 version 5.0.2; see MH-E-NEWS for details. |
3461 | 3063 |
3462 ** Calendar changes: | 3064 ** Calendar changes: |
3463 | 3065 |
3464 +++ | |
3465 *** The meanings of C-x < and C-x > have been interchanged. | 3066 *** The meanings of C-x < and C-x > have been interchanged. |
3466 < means to scroll backward in time, and > means to scroll forward. | 3067 < means to scroll backward in time, and > means to scroll forward. |
3467 | 3068 |
3468 +++ | |
3469 *** You can now use < and >, instead of C-x < and C-x >, to scroll | 3069 *** You can now use < and >, instead of C-x < and C-x >, to scroll |
3470 the calendar left or right. | 3070 the calendar left or right. |
3471 | 3071 |
3472 +++ | |
3473 *** There is a new calendar package, icalendar.el, that can be used to | 3072 *** There is a new calendar package, icalendar.el, that can be used to |
3474 convert Emacs diary entries to/from the iCalendar format. | 3073 convert Emacs diary entries to/from the iCalendar format. |
3475 | 3074 |
3476 +++ | |
3477 *** The new package cal-html.el writes HTML files with calendar and | 3075 *** The new package cal-html.el writes HTML files with calendar and |
3478 diary entries. | 3076 diary entries. |
3479 | 3077 |
3480 +++ | |
3481 *** Diary sexp entries can have custom marking in the calendar. | 3078 *** Diary sexp entries can have custom marking in the calendar. |
3482 Diary sexp functions which only apply to certain days (such as | 3079 Diary sexp functions which only apply to certain days (such as |
3483 `diary-block' or `diary-cyclic') now take an optional parameter MARK, | 3080 `diary-block' or `diary-cyclic') now take an optional parameter MARK, |
3484 which is the name of a face or a single-character string indicating | 3081 which is the name of a face or a single-character string indicating |
3485 how to highlight the day in the calendar display. Specifying a | 3082 how to highlight the day in the calendar display. Specifying a |
3486 single-character string as @var{mark} places the character next to the | 3083 single-character string as @var{mark} places the character next to the |
3487 day in the calendar. Specifying a face highlights the day with that | 3084 day in the calendar. Specifying a face highlights the day with that |
3488 face. This lets you have different colors or markings for vacations, | 3085 face. This lets you have different colors or markings for vacations, |
3489 appointments, paydays or anything else using a sexp. | 3086 appointments, paydays or anything else using a sexp. |
3490 | 3087 |
3491 +++ | |
3492 *** The new function `calendar-goto-day-of-year' (g D) prompts for a | 3088 *** The new function `calendar-goto-day-of-year' (g D) prompts for a |
3493 year and day number, and moves to that date. Negative day numbers | 3089 year and day number, and moves to that date. Negative day numbers |
3494 count backward from the end of the year. | 3090 count backward from the end of the year. |
3495 | 3091 |
3496 +++ | |
3497 *** The new Calendar function `calendar-goto-iso-week' (g w) | 3092 *** The new Calendar function `calendar-goto-iso-week' (g w) |
3498 prompts for a year and a week number, and moves to the first | 3093 prompts for a year and a week number, and moves to the first |
3499 day of that ISO week. | 3094 day of that ISO week. |
3500 | 3095 |
3501 --- | |
3502 *** The new variable `calendar-minimum-window-height' affects the | 3096 *** The new variable `calendar-minimum-window-height' affects the |
3503 window generated by the function `generate-calendar-window'. | 3097 window generated by the function `generate-calendar-window'. |
3504 | 3098 |
3505 --- | |
3506 *** The functions `holiday-easter-etc' and `holiday-advent' now take | 3099 *** The functions `holiday-easter-etc' and `holiday-advent' now take |
3507 optional arguments, in order to only report on the specified holiday | 3100 optional arguments, in order to only report on the specified holiday |
3508 rather than all. This makes customization of variables such as | 3101 rather than all. This makes customization of variables such as |
3509 `christian-holidays' simpler. | 3102 `christian-holidays' simpler. |
3510 | 3103 |
3511 --- | |
3512 *** The function `simple-diary-display' now by default sets a header line. | 3104 *** The function `simple-diary-display' now by default sets a header line. |
3513 This can be controlled through the variables `diary-header-line-flag' | 3105 This can be controlled through the variables `diary-header-line-flag' |
3514 and `diary-header-line-format'. | 3106 and `diary-header-line-format'. |
3515 | 3107 |
3516 +++ | |
3517 *** The procedure for activating appointment reminders has changed: | 3108 *** The procedure for activating appointment reminders has changed: |
3518 use the new function `appt-activate'. The new variable | 3109 use the new function `appt-activate'. The new variable |
3519 `appt-display-format' controls how reminders are displayed, replacing | 3110 `appt-display-format' controls how reminders are displayed, replacing |
3520 `appt-issue-message', `appt-visible', and `appt-msg-window'. | 3111 `appt-issue-message', `appt-visible', and `appt-msg-window'. |
3521 | 3112 |
3522 +++ | |
3523 *** The new functions `diary-from-outlook', `diary-from-outlook-gnus', | 3113 *** The new functions `diary-from-outlook', `diary-from-outlook-gnus', |
3524 and `diary-from-outlook-rmail' can be used to import diary entries | 3114 and `diary-from-outlook-rmail' can be used to import diary entries |
3525 from Outlook-format appointments in mail messages. The variable | 3115 from Outlook-format appointments in mail messages. The variable |
3526 `diary-outlook-formats' can be customized to recognize additional | 3116 `diary-outlook-formats' can be customized to recognize additional |
3527 formats. | 3117 formats. |
3528 | 3118 |
3529 +++ | |
3530 ** Speedbar changes: | 3119 ** Speedbar changes: |
3531 | 3120 |
3532 *** Speedbar items can now be selected by clicking mouse-1, based on | 3121 *** Speedbar items can now be selected by clicking mouse-1, based on |
3533 the `mouse-1-click-follows-link' mechanism. | 3122 the `mouse-1-click-follows-link' mechanism. |
3534 | 3123 |
3568 `dframe-activity-change-focus-flag' instead of | 3157 `dframe-activity-change-focus-flag' instead of |
3569 `speedbar-activity-change-focus-flag'. The variables | 3158 `speedbar-activity-change-focus-flag'. The variables |
3570 `speedbar-update-speed' and `speedbar-navigating-speed' are also | 3159 `speedbar-update-speed' and `speedbar-navigating-speed' are also |
3571 obsolete; use `dframe-update-speed' instead. | 3160 obsolete; use `dframe-update-speed' instead. |
3572 | 3161 |
3573 --- | |
3574 ** sql changes. | 3162 ** sql changes. |
3575 | 3163 |
3576 *** The variable `sql-product' controls the highlighting of different | 3164 *** The variable `sql-product' controls the highlighting of different |
3577 SQL dialects. This variable can be set globally via Customize, on a | 3165 SQL dialects. This variable can be set globally via Customize, on a |
3578 buffer-specific basis via local variable settings, or for the current | 3166 buffer-specific basis via local variable settings, or for the current |
3642 | 3230 |
3643 *** Added SQL->Start SQLi Session menu entry which calls the | 3231 *** Added SQL->Start SQLi Session menu entry which calls the |
3644 appropriate `sql-interactive-mode' wrapper for the current setting of | 3232 appropriate `sql-interactive-mode' wrapper for the current setting of |
3645 `sql-product'. | 3233 `sql-product'. |
3646 | 3234 |
3647 --- | |
3648 *** sql.el supports the SQLite interpreter--call 'sql-sqlite'. | 3235 *** sql.el supports the SQLite interpreter--call 'sql-sqlite'. |
3649 | 3236 |
3650 ** FFAP changes: | 3237 ** FFAP changes: |
3651 | 3238 |
3652 +++ | |
3653 *** New ffap commands and keybindings: | 3239 *** New ffap commands and keybindings: |
3654 | 3240 |
3655 C-x C-r (`ffap-read-only'), | 3241 C-x C-r (`ffap-read-only'), |
3656 C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), | 3242 C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'), |
3657 C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), | 3243 C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'), |
3658 C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). | 3244 C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame'). |
3659 | 3245 |
3660 --- | |
3661 *** FFAP accepts wildcards in a file name by default. | 3246 *** FFAP accepts wildcards in a file name by default. |
3662 | 3247 |
3663 C-x C-f passes the file name to `find-file' with non-nil WILDCARDS | 3248 C-x C-f passes the file name to `find-file' with non-nil WILDCARDS |
3664 argument, which visits multiple files, and C-x d passes it to `dired'. | 3249 argument, which visits multiple files, and C-x d passes it to `dired'. |
3665 | 3250 |
3666 --- | |
3667 ** Changes in Skeleton | 3251 ** Changes in Skeleton |
3668 | 3252 |
3669 *** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. | 3253 *** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction. |
3670 | 3254 |
3671 `@' has reverted to only setting `skeleton-positions' and no longer | 3255 `@' has reverted to only setting `skeleton-positions' and no longer |
3678 `skeleton-pair-filter' have been renamed to | 3262 `skeleton-pair-filter' have been renamed to |
3679 `skeleton-transformation-function', `skeleton-filter-function', and | 3263 `skeleton-transformation-function', `skeleton-filter-function', and |
3680 `skeleton-pair-filter-function'. The old names are still available | 3264 `skeleton-pair-filter-function'. The old names are still available |
3681 as aliases. | 3265 as aliases. |
3682 | 3266 |
3683 --- | |
3684 ** Hideshow mode changes | 3267 ** Hideshow mode changes |
3685 | 3268 |
3686 *** New variable `hs-set-up-overlay' allows customization of the overlay | 3269 *** New variable `hs-set-up-overlay' allows customization of the overlay |
3687 used to effect hiding for hideshow minor mode. Integration with isearch | 3270 used to effect hiding for hideshow minor mode. Integration with isearch |
3688 handles the overlay property `display' specially, preserving it during | 3271 handles the overlay property `display' specially, preserving it during |
3690 | 3273 |
3691 *** New variable `hs-allow-nesting' non-nil means that hiding a block does | 3274 *** New variable `hs-allow-nesting' non-nil means that hiding a block does |
3692 not discard the hidden state of any "internal" blocks; when the parent | 3275 not discard the hidden state of any "internal" blocks; when the parent |
3693 block is later shown, the internal blocks remain hidden. Default is nil. | 3276 block is later shown, the internal blocks remain hidden. Default is nil. |
3694 | 3277 |
3695 +++ | |
3696 ** `hide-ifdef-mode' now uses overlays rather than selective-display | 3278 ** `hide-ifdef-mode' now uses overlays rather than selective-display |
3697 to hide its text. This should be mostly transparent but slightly | 3279 to hide its text. This should be mostly transparent but slightly |
3698 changes the behavior of motion commands like C-e and C-p. | 3280 changes the behavior of motion commands like C-e and C-p. |
3699 | 3281 |
3700 --- | |
3701 ** `partial-completion-mode' now handles partial completion on directory names. | 3282 ** `partial-completion-mode' now handles partial completion on directory names. |
3702 | 3283 |
3703 --- | |
3704 ** The type-break package now allows `type-break-file-name' to be nil | 3284 ** The type-break package now allows `type-break-file-name' to be nil |
3705 and if so, doesn't store any data across sessions. This is handy if | 3285 and if so, doesn't store any data across sessions. This is handy if |
3706 you don't want the `.type-break' file in your home directory or are | 3286 you don't want the `.type-break' file in your home directory or are |
3707 annoyed by the need for interaction when you kill Emacs. | 3287 annoyed by the need for interaction when you kill Emacs. |
3708 | 3288 |
3709 --- | |
3710 ** `ps-print' can now print characters from the mule-unicode charsets. | 3289 ** `ps-print' can now print characters from the mule-unicode charsets. |
3711 | 3290 |
3712 Printing text with characters from the mule-unicode-* sets works with | 3291 Printing text with characters from the mule-unicode-* sets works with |
3713 `ps-print', provided that you have installed the appropriate BDF | 3292 `ps-print', provided that you have installed the appropriate BDF |
3714 fonts. See the file INSTALL for URLs where you can find these fonts. | 3293 fonts. See the file INSTALL for URLs where you can find these fonts. |
3715 | 3294 |
3716 --- | |
3717 ** New command `strokes-global-set-stroke-string'. | 3295 ** New command `strokes-global-set-stroke-string'. |
3718 This is like `strokes-global-set-stroke', but it allows you to bind | 3296 This is like `strokes-global-set-stroke', but it allows you to bind |
3719 the stroke directly to a string to insert. This is convenient for | 3297 the stroke directly to a string to insert. This is convenient for |
3720 using strokes as an input method. | 3298 using strokes as an input method. |
3721 | 3299 |
3722 ** Emacs server changes: | 3300 ** Emacs server changes: |
3723 | 3301 |
3724 +++ | |
3725 *** You can have several Emacs servers on the same machine. | 3302 *** You can have several Emacs servers on the same machine. |
3726 | 3303 |
3727 % emacs --eval '(setq server-name "foo")' -f server-start & | 3304 % emacs --eval '(setq server-name "foo")' -f server-start & |
3728 % emacs --eval '(setq server-name "bar")' -f server-start & | 3305 % emacs --eval '(setq server-name "bar")' -f server-start & |
3729 % emacsclient -s foo file1 | 3306 % emacsclient -s foo file1 |
3730 % emacsclient -s bar file2 | 3307 % emacsclient -s bar file2 |
3731 | 3308 |
3732 +++ | |
3733 *** The `emacsclient' command understands the options `--eval' and | 3309 *** The `emacsclient' command understands the options `--eval' and |
3734 `--display' which tell Emacs respectively to evaluate the given Lisp | 3310 `--display' which tell Emacs respectively to evaluate the given Lisp |
3735 expression and to use the given display when visiting files. | 3311 expression and to use the given display when visiting files. |
3736 | 3312 |
3737 +++ | |
3738 *** User option `server-mode' can be used to start a server process. | 3313 *** User option `server-mode' can be used to start a server process. |
3739 | 3314 |
3740 --- | |
3741 ** LDAP support now defaults to ldapsearch from OpenLDAP version 2. | 3315 ** LDAP support now defaults to ldapsearch from OpenLDAP version 2. |
3742 | 3316 |
3743 +++ | |
3744 ** You can now disable pc-selection-mode after enabling it. | 3317 ** You can now disable pc-selection-mode after enabling it. |
3745 | 3318 |
3746 M-x pc-selection-mode behaves like a proper minor mode, and with no | 3319 M-x pc-selection-mode behaves like a proper minor mode, and with no |
3747 argument it toggles the mode. Turning off PC-Selection mode restores | 3320 argument it toggles the mode. Turning off PC-Selection mode restores |
3748 the global key bindings that were replaced by turning on the mode. | 3321 the global key bindings that were replaced by turning on the mode. |
3749 | 3322 |
3750 --- | |
3751 ** `uniquify-strip-common-suffix' tells uniquify to prefer | 3323 ** `uniquify-strip-common-suffix' tells uniquify to prefer |
3752 `file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. | 3324 `file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'. |
3753 | 3325 |
3754 --- | |
3755 ** Support for `magic cookie' standout modes has been removed. | 3326 ** Support for `magic cookie' standout modes has been removed. |
3756 | 3327 |
3757 Emacs still works on terminals that require magic cookies in order to | 3328 Emacs still works on terminals that require magic cookies in order to |
3758 use standout mode, but they can no longer display mode-lines in | 3329 use standout mode, but they can no longer display mode-lines in |
3759 inverse-video. | 3330 inverse-video. |
3760 | 3331 |
3761 --- | |
3762 ** The game `mpuz' is enhanced. | 3332 ** The game `mpuz' is enhanced. |
3763 | 3333 |
3764 `mpuz' now allows the 2nd factor not to have two identical digits. By | 3334 `mpuz' now allows the 2nd factor not to have two identical digits. By |
3765 default, all trivial operations involving whole lines are performed | 3335 default, all trivial operations involving whole lines are performed |
3766 automatically. The game uses faces for better visual feedback. | 3336 automatically. The game uses faces for better visual feedback. |
3767 | 3337 |
3768 ** battery.el changes: | 3338 ** battery.el changes: |
3769 | 3339 |
3770 --- | |
3771 *** display-battery-mode replaces display-battery. | 3340 *** display-battery-mode replaces display-battery. |
3772 | 3341 |
3773 --- | |
3774 *** battery.el now works on recent versions of OS X. | 3342 *** battery.el now works on recent versions of OS X. |
3775 | 3343 |
3776 --- | |
3777 ** calculator.el now has radix grouping mode. | 3344 ** calculator.el now has radix grouping mode. |
3778 | 3345 |
3779 To enable this, set `calculator-output-radix' non-nil. In this mode a | 3346 To enable this, set `calculator-output-radix' non-nil. In this mode a |
3780 separator character is used every few digits, making it easier to see | 3347 separator character is used every few digits, making it easier to see |
3781 byte boundaries etc. For more info, see the documentation of the | 3348 byte boundaries etc. For more info, see the documentation of the |
3782 variable `calculator-radix-grouping-mode'. | 3349 variable `calculator-radix-grouping-mode'. |
3783 | 3350 |
3784 --- | |
3785 ** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. | 3351 ** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead. |
3786 | 3352 |
3787 --- | |
3788 ** iso-acc.el is now obsolete. Use one of the latin input methods instead. | 3353 ** iso-acc.el is now obsolete. Use one of the latin input methods instead. |
3789 | 3354 |
3790 --- | |
3791 ** zone-mode.el is now obsolete. Use dns-mode.el instead. | 3355 ** zone-mode.el is now obsolete. Use dns-mode.el instead. |
3792 | 3356 |
3793 --- | |
3794 ** cplus-md.el has been deleted. | 3357 ** cplus-md.el has been deleted. |
3795 | 3358 |
3796 --- | |
3797 ** Ewoc changes | 3359 ** Ewoc changes |
3798 | 3360 |
3799 *** The new function `ewoc-delete' deletes specified nodes. | 3361 *** The new function `ewoc-delete' deletes specified nodes. |
3800 | 3362 |
3801 *** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of | 3363 *** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of |
3814 (defun PP (data) (insert (format "%S\n" data))) | 3376 (defun PP (data) (insert (format "%S\n" data))) |
3815 (ewoc-create 'PP "start\n\n" "\n" t) | 3377 (ewoc-create 'PP "start\n\n" "\n" t) |
3816 | 3378 |
3817 ** Locate changes | 3379 ** Locate changes |
3818 | 3380 |
3819 --- | |
3820 *** By default, reverting the *Locate* buffer now just runs the last | 3381 *** By default, reverting the *Locate* buffer now just runs the last |
3821 `locate' command back over again without offering to update the locate | 3382 `locate' command back over again without offering to update the locate |
3822 database (which normally only works if you have root privileges). If | 3383 database (which normally only works if you have root privileges). If |
3823 you prefer the old behavior, set the new customizable option | 3384 you prefer the old behavior, set the new customizable option |
3824 `locate-update-when-revert' to t. | 3385 `locate-update-when-revert' to t. |
3825 | 3386 |
3826 | 3387 |
3827 * Changes in Emacs 22.1 on non-free operating systems | 3388 * Changes in Emacs 22.1 on non-free operating systems |
3828 | 3389 |
3829 +++ | |
3830 ** The HOME directory defaults to Application Data under the user profile. | 3390 ** The HOME directory defaults to Application Data under the user profile. |
3831 | 3391 |
3832 If you used a previous version of Emacs without setting the HOME | 3392 If you used a previous version of Emacs without setting the HOME |
3833 environment variable and a `.emacs' was saved, then Emacs will continue | 3393 environment variable and a `.emacs' was saved, then Emacs will continue |
3834 using C:/ as the default HOME. But if you are installing Emacs afresh, | 3394 using C:/ as the default HOME. But if you are installing Emacs afresh, |
3839 | 3399 |
3840 This change means that users can now have their own `.emacs' files on | 3400 This change means that users can now have their own `.emacs' files on |
3841 shared computers, and the default HOME directory is less likely to be | 3401 shared computers, and the default HOME directory is less likely to be |
3842 read-only on computers that are administered by someone else. | 3402 read-only on computers that are administered by someone else. |
3843 | 3403 |
3844 +++ | |
3845 ** Passing resources on the command line now works on MS Windows. | 3404 ** Passing resources on the command line now works on MS Windows. |
3846 | 3405 |
3847 You can use --xrm to pass resource settings to Emacs, overriding any | 3406 You can use --xrm to pass resource settings to Emacs, overriding any |
3848 existing values. For example: | 3407 existing values. For example: |
3849 | 3408 |
3850 emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20" | 3409 emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20" |
3851 | 3410 |
3852 will start up Emacs on an initial frame of 100x20 with red background, | 3411 will start up Emacs on an initial frame of 100x20 with red background, |
3853 irrespective of geometry or background setting on the Windows registry. | 3412 irrespective of geometry or background setting on the Windows registry. |
3854 | 3413 |
3855 --- | |
3856 ** On MS Windows, the "system caret" now follows the cursor. | 3414 ** On MS Windows, the "system caret" now follows the cursor. |
3857 | 3415 |
3858 This enables Emacs to work better with programs that need to track the | 3416 This enables Emacs to work better with programs that need to track the |
3859 cursor, for example screen magnifiers and text to speech programs. | 3417 cursor, for example screen magnifiers and text to speech programs. |
3860 When such a program is in use, the system caret is made visible | 3418 When such a program is in use, the system caret is made visible |
3861 instead of Emacs drawing its own cursor. This seems to be required by | 3419 instead of Emacs drawing its own cursor. This seems to be required by |
3862 some programs. The new variable w32-use-visible-system-caret allows | 3420 some programs. The new variable w32-use-visible-system-caret allows |
3863 the caret visibility to be manually toggled. | 3421 the caret visibility to be manually toggled. |
3864 | 3422 |
3865 --- | |
3866 ** Tooltips now work on MS Windows. | 3423 ** Tooltips now work on MS Windows. |
3867 | 3424 |
3868 See the Emacs 21.1 NEWS entry for tooltips for details. | 3425 See the Emacs 21.1 NEWS entry for tooltips for details. |
3869 | 3426 |
3870 --- | |
3871 ** Images are now supported on MS Windows. | 3427 ** Images are now supported on MS Windows. |
3872 | 3428 |
3873 PBM and XBM images are supported out of the box. Other image formats | 3429 PBM and XBM images are supported out of the box. Other image formats |
3874 depend on external libraries. All of these libraries have been ported | 3430 depend on external libraries. All of these libraries have been ported |
3875 to Windows, and can be found in both source and binary form at | 3431 to Windows, and can be found in both source and binary form at |
3876 http://gnuwin32.sourceforge.net/. Note that libpng also depends on | 3432 http://gnuwin32.sourceforge.net/. Note that libpng also depends on |
3877 zlib, and tiff depends on the version of jpeg that it was compiled | 3433 zlib, and tiff depends on the version of jpeg that it was compiled |
3878 against. For additional information, see nt/INSTALL. | 3434 against. For additional information, see nt/INSTALL. |
3879 | 3435 |
3880 --- | |
3881 ** Sound is now supported on MS Windows. | 3436 ** Sound is now supported on MS Windows. |
3882 | 3437 |
3883 WAV format is supported on all versions of Windows, other formats such | 3438 WAV format is supported on all versions of Windows, other formats such |
3884 as AU, AIFF and MP3 may be supported in the more recent versions of | 3439 as AU, AIFF and MP3 may be supported in the more recent versions of |
3885 Windows, or when other software provides hooks into the system level | 3440 Windows, or when other software provides hooks into the system level |
3886 sound support for those formats. | 3441 sound support for those formats. |
3887 | 3442 |
3888 --- | |
3889 ** Different shaped mouse pointers are supported on MS Windows. | 3443 ** Different shaped mouse pointers are supported on MS Windows. |
3890 | 3444 |
3891 The mouse pointer changes shape depending on what is under the pointer. | 3445 The mouse pointer changes shape depending on what is under the pointer. |
3892 | 3446 |
3893 --- | |
3894 ** Pointing devices with more than 3 buttons are now supported on MS Windows. | 3447 ** Pointing devices with more than 3 buttons are now supported on MS Windows. |
3895 | 3448 |
3896 The new variable `w32-pass-extra-mouse-buttons-to-system' controls | 3449 The new variable `w32-pass-extra-mouse-buttons-to-system' controls |
3897 whether Emacs should handle the extra buttons itself (the default), or | 3450 whether Emacs should handle the extra buttons itself (the default), or |
3898 pass them to Windows to be handled with system-wide functions. | 3451 pass them to Windows to be handled with system-wide functions. |
3899 | 3452 |
3900 --- | |
3901 ** Emacs takes note of colors defined in Control Panel on MS-Windows. | 3453 ** Emacs takes note of colors defined in Control Panel on MS-Windows. |
3902 | 3454 |
3903 The Control Panel defines some default colors for applications in much | 3455 The Control Panel defines some default colors for applications in much |
3904 the same way as wildcard X Resources do on X. Emacs now adds these | 3456 the same way as wildcard X Resources do on X. Emacs now adds these |
3905 colors to the colormap prefixed by System (eg SystemMenu for the | 3457 colors to the colormap prefixed by System (eg SystemMenu for the |
3906 default Menu background, SystemMenuText for the foreground), and uses | 3458 default Menu background, SystemMenuText for the foreground), and uses |
3907 some of them to initialize some of the default faces. | 3459 some of them to initialize some of the default faces. |
3908 `list-colors-display' shows the list of System color names, in case | 3460 `list-colors-display' shows the list of System color names, in case |
3909 you wish to use them in other faces. | 3461 you wish to use them in other faces. |
3910 | 3462 |
3911 --- | |
3912 ** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. | 3463 ** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations. |
3913 | 3464 |
3914 Those systems use Unicode internally, so this allows Emacs to share | 3465 Those systems use Unicode internally, so this allows Emacs to share |
3915 multilingual text with other applications. On other versions of | 3466 multilingual text with other applications. On other versions of |
3916 MS Windows, Emacs now uses the appropriate locale coding-system, so | 3467 MS Windows, Emacs now uses the appropriate locale coding-system, so |
3917 the clipboard should work correctly for your local language without | 3468 the clipboard should work correctly for your local language without |
3918 any customizations. | 3469 any customizations. |
3919 | 3470 |
3920 --- | |
3921 ** Running in a console window in Windows now uses the console size. | 3471 ** Running in a console window in Windows now uses the console size. |
3922 | 3472 |
3923 Previous versions of Emacs erred on the side of having a usable Emacs | 3473 Previous versions of Emacs erred on the side of having a usable Emacs |
3924 through telnet, even though that was inconvenient if you use Emacs in | 3474 through telnet, even though that was inconvenient if you use Emacs in |
3925 a local console window with a scrollback buffer. The default value of | 3475 a local console window with a scrollback buffer. The default value of |
3929 that the console window dimensions that are reported are not sane, and | 3479 that the console window dimensions that are reported are not sane, and |
3930 defaults to 80x25. If you use such a telnet server regularly at a size | 3480 defaults to 80x25. If you use such a telnet server regularly at a size |
3931 other than 80x25, you can still manually set | 3481 other than 80x25, you can still manually set |
3932 w32-use-full-screen-buffer to t. | 3482 w32-use-full-screen-buffer to t. |
3933 | 3483 |
3934 --- | |
3935 ** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. | 3484 ** On Mac OS, `keyboard-coding-system' changes based on the keyboard script. |
3936 | 3485 |
3937 --- | |
3938 ** The variable `mac-keyboard-text-encoding' and the constants | 3486 ** The variable `mac-keyboard-text-encoding' and the constants |
3939 `kTextEncodingMacRoman', `kTextEncodingISOLatin1', and | 3487 `kTextEncodingMacRoman', `kTextEncodingISOLatin1', and |
3940 `kTextEncodingISOLatin2' are obsolete. | 3488 `kTextEncodingISOLatin2' are obsolete. |
3941 | 3489 |
3942 +++ | |
3943 ** The variable `mac-command-key-is-meta' is obsolete. Use | 3490 ** The variable `mac-command-key-is-meta' is obsolete. Use |
3944 `mac-command-modifier' and `mac-option-modifier' instead. | 3491 `mac-command-modifier' and `mac-option-modifier' instead. |
3945 | 3492 |
3946 * Incompatible Lisp Changes in Emacs 22.1 | 3493 * Incompatible Lisp Changes in Emacs 22.1 |
3947 | 3494 |
3948 +++ | |
3949 ** The `read-file-name' function now returns a null string if the | 3495 ** The `read-file-name' function now returns a null string if the |
3950 user just types RET. | 3496 user just types RET. |
3951 | 3497 |
3952 +++ | |
3953 ** The function find-operation-coding-system may be called with a cons | 3498 ** The function find-operation-coding-system may be called with a cons |
3954 (FILENAME . BUFFER) in the second argument if the first argument | 3499 (FILENAME . BUFFER) in the second argument if the first argument |
3955 OPERATION is `insert-file-contents', and thus a function registered in | 3500 OPERATION is `insert-file-contents', and thus a function registered in |
3956 `file-coding-system-alist' is also called with such an argument. | 3501 `file-coding-system-alist' is also called with such an argument. |
3957 | 3502 |
3958 --- | |
3959 ** The variables post-command-idle-hook and post-command-idle-delay have | 3503 ** The variables post-command-idle-hook and post-command-idle-delay have |
3960 been removed. Use run-with-idle-timer instead. | 3504 been removed. Use run-with-idle-timer instead. |
3961 | 3505 |
3962 +++ | |
3963 ** `suppress-keymap' now works by remapping `self-insert-command' to | 3506 ** `suppress-keymap' now works by remapping `self-insert-command' to |
3964 the command `undefined'. (In earlier Emacs versions, it used | 3507 the command `undefined'. (In earlier Emacs versions, it used |
3965 `substitute-key-definition' to rebind self inserting characters to | 3508 `substitute-key-definition' to rebind self inserting characters to |
3966 `undefined'.) | 3509 `undefined'.) |
3967 | 3510 |
3968 +++ | |
3969 ** Mode line display ignores text properties as well as the | 3511 ** Mode line display ignores text properties as well as the |
3970 :propertize and :eval forms in the value of a variable whose | 3512 :propertize and :eval forms in the value of a variable whose |
3971 `risky-local-variable' property is nil. | 3513 `risky-local-variable' property is nil. |
3972 | 3514 |
3973 --- | |
3974 The function `comint-send-input' now accepts 3 optional arguments: | 3515 The function `comint-send-input' now accepts 3 optional arguments: |
3975 | 3516 |
3976 (comint-send-input &optional no-newline artificial) | 3517 (comint-send-input &optional no-newline artificial) |
3977 | 3518 |
3978 Callers sending input not from the user should use bind the 3rd | 3519 Callers sending input not from the user should use bind the 3rd |
3979 argument `artificial' to a non-nil value, to prevent Emacs from | 3520 argument `artificial' to a non-nil value, to prevent Emacs from |
3980 deleting the part of subprocess output that matches the input. | 3521 deleting the part of subprocess output that matches the input. |
3981 | 3522 |
3982 --- | |
3983 ** Support for Mocklisp has been removed. | 3523 ** Support for Mocklisp has been removed. |
3984 | 3524 |
3985 +++ | |
3986 ** The variable `memory-full' now remains t until | 3525 ** The variable `memory-full' now remains t until |
3987 there is no longer a shortage of memory. | 3526 there is no longer a shortage of memory. |
3988 | 3527 |
3989 +++ | |
3990 ** When Emacs receives a USR1 or USR2 signal, this generates | 3528 ** When Emacs receives a USR1 or USR2 signal, this generates |
3991 input events: sigusr1 or sigusr2. Use special-event-map to | 3529 input events: sigusr1 or sigusr2. Use special-event-map to |
3992 handle these events. | 3530 handle these events. |
3993 | 3531 |
3994 +++ | |
3995 ** A hex or octal escape in a string constant forces the string to | 3532 ** A hex or octal escape in a string constant forces the string to |
3996 be multibyte or unibyte, respectively. | 3533 be multibyte or unibyte, respectively. |
3997 | 3534 |
3998 +++ | |
3999 ** The explicit method of creating a display table element by | 3535 ** The explicit method of creating a display table element by |
4000 combining a face number and a character code into a numeric | 3536 combining a face number and a character code into a numeric |
4001 glyph code is deprecated. | 3537 glyph code is deprecated. |
4002 | 3538 |
4003 Instead, the new functions `make-glyph-code', `glyph-char', and | 3539 Instead, the new functions `make-glyph-code', `glyph-char', and |
4007 | 3543 |
4008 * Lisp Changes in Emacs 22.1 | 3544 * Lisp Changes in Emacs 22.1 |
4009 | 3545 |
4010 ** General Lisp changes: | 3546 ** General Lisp changes: |
4011 | 3547 |
4012 +++ | |
4013 *** The function `expt' handles negative exponents differently. | 3548 *** The function `expt' handles negative exponents differently. |
4014 The value for `(expt A B)', if both A and B are integers and B is | 3549 The value for `(expt A B)', if both A and B are integers and B is |
4015 negative, is now a float. For example: (expt 2 -2) => 0.25. | 3550 negative, is now a float. For example: (expt 2 -2) => 0.25. |
4016 | 3551 |
4017 +++ | |
4018 *** The function `eql' is now available without requiring the CL package. | 3552 *** The function `eql' is now available without requiring the CL package. |
4019 | 3553 |
4020 +++ | |
4021 *** The new function `memql' is like `memq', but uses `eql' for comparison, | 3554 *** The new function `memql' is like `memq', but uses `eql' for comparison, |
4022 that is, floats are compared by value and other elements with `eq'. | 3555 that is, floats are compared by value and other elements with `eq'. |
4023 | 3556 |
4024 +++ | |
4025 *** `makehash' is now obsolete. Use `make-hash-table' instead. | 3557 *** `makehash' is now obsolete. Use `make-hash-table' instead. |
4026 | 3558 |
4027 +++ | |
4028 *** `add-to-list' takes an optional third argument, APPEND. | 3559 *** `add-to-list' takes an optional third argument, APPEND. |
4029 | 3560 |
4030 If APPEND is non-nil, the new element gets added at the end of the | 3561 If APPEND is non-nil, the new element gets added at the end of the |
4031 list instead of at the beginning. This change actually occurred in | 3562 list instead of at the beginning. This change actually occurred in |
4032 Emacs 21.1, but was not documented then. | 3563 Emacs 21.1, but was not documented then. |
4033 | 3564 |
4034 +++ | |
4035 *** New function `add-to-ordered-list' is like `add-to-list' but | 3565 *** New function `add-to-ordered-list' is like `add-to-list' but |
4036 associates a numeric ordering of each element added to the list. | 3566 associates a numeric ordering of each element added to the list. |
4037 | 3567 |
4038 +++ | |
4039 *** New function `copy-tree' makes a copy of a tree. | 3568 *** New function `copy-tree' makes a copy of a tree. |
4040 | 3569 |
4041 It recursively copies through both CARs and CDRs. | 3570 It recursively copies through both CARs and CDRs. |
4042 | 3571 |
4043 +++ | |
4044 *** New function `delete-dups' deletes `equal' duplicate elements from a list. | 3572 *** New function `delete-dups' deletes `equal' duplicate elements from a list. |
4045 | 3573 |
4046 It modifies the list destructively, like `delete'. Of several `equal' | 3574 It modifies the list destructively, like `delete'. Of several `equal' |
4047 occurrences of an element in the list, the one that's kept is the | 3575 occurrences of an element in the list, the one that's kept is the |
4048 first one. | 3576 first one. |
4049 | 3577 |
4050 +++ | |
4051 *** New function `add-to-history' adds an element to a history list. | 3578 *** New function `add-to-history' adds an element to a history list. |
4052 | 3579 |
4053 Lisp packages should use this function to add elements to their | 3580 Lisp packages should use this function to add elements to their |
4054 history lists. | 3581 history lists. |
4055 | 3582 |
4056 If `history-delete-duplicates' is non-nil, it removes duplicates of | 3583 If `history-delete-duplicates' is non-nil, it removes duplicates of |
4057 the new element from the history list it updates. | 3584 the new element from the history list it updates. |
4058 | 3585 |
4059 +++ | |
4060 *** New function `rassq-delete-all'. | 3586 *** New function `rassq-delete-all'. |
4061 | 3587 |
4062 (rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose | 3588 (rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose |
4063 CDR is `eq' to the specified value. | 3589 CDR is `eq' to the specified value. |
4064 | 3590 |
4065 +++ | |
4066 *** The function `number-sequence' makes a list of equally-separated numbers. | 3591 *** The function `number-sequence' makes a list of equally-separated numbers. |
4067 | 3592 |
4068 For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By | 3593 For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By |
4069 default, the separation is 1, but you can specify a different | 3594 default, the separation is 1, but you can specify a different |
4070 separation as the third argument. (number-sequence 1.5 6 2) returns | 3595 separation as the third argument. (number-sequence 1.5 6 2) returns |
4071 (1.5 3.5 5.5). | 3596 (1.5 3.5 5.5). |
4072 | 3597 |
4073 +++ | |
4074 *** New variables `most-positive-fixnum' and `most-negative-fixnum'. | 3598 *** New variables `most-positive-fixnum' and `most-negative-fixnum'. |
4075 | 3599 |
4076 They hold the largest and smallest possible integer values. | 3600 They hold the largest and smallest possible integer values. |
4077 | 3601 |
4078 +++ | |
4079 *** Minor change in the function `format'. | 3602 *** Minor change in the function `format'. |
4080 | 3603 |
4081 Some flags that were accepted but not implemented (such as "*") are no | 3604 Some flags that were accepted but not implemented (such as "*") are no |
4082 longer accepted. | 3605 longer accepted. |
4083 | 3606 |
4084 +++ | |
4085 *** Functions `get' and `plist-get' no longer give errors for bad plists. | 3607 *** Functions `get' and `plist-get' no longer give errors for bad plists. |
4086 | 3608 |
4087 They return nil for a malformed property list or if the list is | 3609 They return nil for a malformed property list or if the list is |
4088 cyclic. | 3610 cyclic. |
4089 | 3611 |
4090 +++ | |
4091 *** New functions `lax-plist-get' and `lax-plist-put'. | 3612 *** New functions `lax-plist-get' and `lax-plist-put'. |
4092 | 3613 |
4093 They are like `plist-get' and `plist-put', except that they compare | 3614 They are like `plist-get' and `plist-put', except that they compare |
4094 the property name using `equal' rather than `eq'. | 3615 the property name using `equal' rather than `eq'. |
4095 | 3616 |
4096 +++ | |
4097 *** New variable `print-continuous-numbering'. | 3617 *** New variable `print-continuous-numbering'. |
4098 | 3618 |
4099 When this is non-nil, successive calls to print functions use a single | 3619 When this is non-nil, successive calls to print functions use a single |
4100 numbering scheme for circular structure references. This is only | 3620 numbering scheme for circular structure references. This is only |
4101 relevant when `print-circle' is non-nil. | 3621 relevant when `print-circle' is non-nil. |
4102 | 3622 |
4103 When you bind `print-continuous-numbering' to t, you should | 3623 When you bind `print-continuous-numbering' to t, you should |
4104 also bind `print-number-table' to nil. | 3624 also bind `print-number-table' to nil. |
4105 | 3625 |
4106 +++ | |
4107 *** New function `macroexpand-all' expands all macros in a form. | 3626 *** New function `macroexpand-all' expands all macros in a form. |
4108 | 3627 |
4109 It is similar to the Common-Lisp function of the same name. | 3628 It is similar to the Common-Lisp function of the same name. |
4110 One difference is that it guarantees to return the original argument | 3629 One difference is that it guarantees to return the original argument |
4111 if no expansion is done, which can be tested using `eq'. | 3630 if no expansion is done, which can be tested using `eq'. |
4112 | 3631 |
4113 +++ | |
4114 *** The function `atan' now accepts an optional second argument. | 3632 *** The function `atan' now accepts an optional second argument. |
4115 | 3633 |
4116 When called with 2 arguments, as in `(atan Y X)', `atan' returns the | 3634 When called with 2 arguments, as in `(atan Y X)', `atan' returns the |
4117 angle in radians between the vector [X, Y] and the X axis. (This is | 3635 angle in radians between the vector [X, Y] and the X axis. (This is |
4118 equivalent to the standard C library function `atan2'.) | 3636 equivalent to the standard C library function `atan2'.) |
4119 | 3637 |
4120 +++ | |
4121 *** A function or macro's doc string can now specify the calling pattern. | 3638 *** A function or macro's doc string can now specify the calling pattern. |
4122 | 3639 |
4123 You put this info in the doc string's last line. It should be | 3640 You put this info in the doc string's last line. It should be |
4124 formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't | 3641 formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't |
4125 specify this explicitly, Emacs determines it from the actual argument | 3642 specify this explicitly, Emacs determines it from the actual argument |
4126 names. Usually that default is right, but not always. | 3643 names. Usually that default is right, but not always. |
4127 | 3644 |
4128 +++ | |
4129 *** New macro `with-local-quit' temporarily allows quitting. | 3645 *** New macro `with-local-quit' temporarily allows quitting. |
4130 | 3646 |
4131 A quit inside the body of `with-local-quit' is caught by the | 3647 A quit inside the body of `with-local-quit' is caught by the |
4132 `with-local-quit' form itself, but another quit will happen later once | 3648 `with-local-quit' form itself, but another quit will happen later once |
4133 the code that has inhibited quitting exits. | 3649 the code that has inhibited quitting exits. |
4134 | 3650 |
4135 This is for use around potentially blocking or long-running code | 3651 This is for use around potentially blocking or long-running code |
4136 inside timer functions and `post-command-hook' functions. | 3652 inside timer functions and `post-command-hook' functions. |
4137 | 3653 |
4138 +++ | |
4139 *** New macro `define-obsolete-function-alias'. | 3654 *** New macro `define-obsolete-function-alias'. |
4140 | 3655 |
4141 This combines `defalias' and `make-obsolete'. | 3656 This combines `defalias' and `make-obsolete'. |
4142 | 3657 |
4143 +++ | |
4144 *** New macro `with-case-table' | 3658 *** New macro `with-case-table' |
4145 | 3659 |
4146 This executes the body with the case table temporarily set to a given | 3660 This executes the body with the case table temporarily set to a given |
4147 case table. | 3661 case table. |
4148 | 3662 |
4149 +++ | |
4150 *** New function `unsafep' determines whether a Lisp form is safe. | 3663 *** New function `unsafep' determines whether a Lisp form is safe. |
4151 | 3664 |
4152 It returns nil if the given Lisp form can't possibly do anything | 3665 It returns nil if the given Lisp form can't possibly do anything |
4153 dangerous; otherwise it returns a reason why the form might be unsafe | 3666 dangerous; otherwise it returns a reason why the form might be unsafe |
4154 (calls unknown function, alters global variable, etc.). | 3667 (calls unknown function, alters global variable, etc.). |
4155 | 3668 |
4156 +++ | |
4157 *** New macro `eval-at-startup' specifies expressions to | 3669 *** New macro `eval-at-startup' specifies expressions to |
4158 evaluate when Emacs starts up. If this is done after startup, | 3670 evaluate when Emacs starts up. If this is done after startup, |
4159 it evaluates those expressions immediately. | 3671 it evaluates those expressions immediately. |
4160 | 3672 |
4161 This is useful in packages that can be preloaded. | 3673 This is useful in packages that can be preloaded. |
4162 | 3674 |
4163 +++ | |
4164 *** `list-faces-display' takes an optional argument, REGEXP. | 3675 *** `list-faces-display' takes an optional argument, REGEXP. |
4165 | 3676 |
4166 If it is non-nil, the function lists only faces matching this regexp. | 3677 If it is non-nil, the function lists only faces matching this regexp. |
4167 | 3678 |
4168 +++ | |
4169 *** New functions `string-or-null-p' and `booleanp'. | 3679 *** New functions `string-or-null-p' and `booleanp'. |
4170 | 3680 |
4171 `string-or-null-p' returns non-nil iff OBJECT is a string or nil. | 3681 `string-or-null-p' returns non-nil iff OBJECT is a string or nil. |
4172 `booleanp' returns non-nil iff OBJECT is t or nil. | 3682 `booleanp' returns non-nil iff OBJECT is t or nil. |
4173 | 3683 |
4174 +++ | |
4175 *** New hook `command-error-function'. | 3684 *** New hook `command-error-function'. |
4176 | 3685 |
4177 By setting this variable to a function, you can control | 3686 By setting this variable to a function, you can control |
4178 how the editor command loop shows the user an error message. | 3687 how the editor command loop shows the user an error message. |
4179 | 3688 |
4180 +++ | 3689 *** `debug-on-entry' accepts primitive functions that are not special forms. |
4181 *** `debug-on-entry' accepts primitive functions that are not special forms | |
4182 now. | |
4183 | 3690 |
4184 ** Lisp code indentation features: | 3691 ** Lisp code indentation features: |
4185 | 3692 |
4186 +++ | |
4187 *** The `defmacro' form can contain indentation and edebug declarations. | 3693 *** The `defmacro' form can contain indentation and edebug declarations. |
4188 | 3694 |
4189 These declarations specify how to indent the macro calls in Lisp mode | 3695 These declarations specify how to indent the macro calls in Lisp mode |
4190 and how to debug them with Edebug. You write them like this: | 3696 and how to debug them with Edebug. You write them like this: |
4191 | 3697 |
4200 (edebug DEBUG) | 3706 (edebug DEBUG) |
4201 Set NAME's `edebug-form-spec' property to DEBUG. (This is | 3707 Set NAME's `edebug-form-spec' property to DEBUG. (This is |
4202 equivalent to writing a `def-edebug-spec' for the macro, | 3708 equivalent to writing a `def-edebug-spec' for the macro, |
4203 but this is cleaner.) | 3709 but this is cleaner.) |
4204 | 3710 |
4205 --- | |
4206 *** cl-indent now allows customization of Indentation of backquoted forms. | 3711 *** cl-indent now allows customization of Indentation of backquoted forms. |
4207 | 3712 |
4208 See the new user option `lisp-backquote-indentation'. | 3713 See the new user option `lisp-backquote-indentation'. |
4209 | 3714 |
4210 --- | |
4211 *** cl-indent now handles indentation of simple and extended `loop' forms. | 3715 *** cl-indent now handles indentation of simple and extended `loop' forms. |
4212 | 3716 |
4213 The new user options `lisp-loop-keyword-indentation', | 3717 The new user options `lisp-loop-keyword-indentation', |
4214 `lisp-loop-forms-indentation', and `lisp-simple-loop-indentation' can | 3718 `lisp-loop-forms-indentation', and `lisp-simple-loop-indentation' can |
4215 be used to customize the indentation of keywords and forms in loop | 3719 be used to customize the indentation of keywords and forms in loop |
4216 forms. | 3720 forms. |
4217 | 3721 |
4218 +++ | |
4219 ** Variable aliases: | 3722 ** Variable aliases: |
4220 | 3723 |
4221 *** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING] | 3724 *** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING] |
4222 | 3725 |
4223 This function defines the symbol ALIAS-VAR as a variable alias for | 3726 This function defines the symbol ALIAS-VAR as a variable alias for |
4235 defined as an alias, the function returns VARIABLE. | 3738 defined as an alias, the function returns VARIABLE. |
4236 | 3739 |
4237 It might be noteworthy that variables aliases work for all kinds of | 3740 It might be noteworthy that variables aliases work for all kinds of |
4238 variables, including buffer-local and frame-local variables. | 3741 variables, including buffer-local and frame-local variables. |
4239 | 3742 |
4240 +++ | |
4241 *** The macro `define-obsolete-variable-alias' combines `defvaralias' and | 3743 *** The macro `define-obsolete-variable-alias' combines `defvaralias' and |
4242 `make-obsolete-variable'. | 3744 `make-obsolete-variable'. |
4243 | 3745 |
4244 ** defcustom changes: | 3746 ** defcustom changes: |
4245 | 3747 |
4246 +++ | |
4247 *** The package-version keyword has been added to provide | 3748 *** The package-version keyword has been added to provide |
4248 `customize-changed-options' functionality to packages in the future. | 3749 `customize-changed-options' functionality to packages in the future. |
4249 Developers who make use of this keyword must also update the new | 3750 Developers who make use of this keyword must also update the new |
4250 variable `customize-package-emacs-version-alist'. | 3751 variable `customize-package-emacs-version-alist'. |
4251 | 3752 |
4252 +++ | |
4253 *** The new customization type `float' requires a floating point number. | 3753 *** The new customization type `float' requires a floating point number. |
4254 | 3754 |
4255 ** String changes: | 3755 ** String changes: |
4256 | 3756 |
4257 +++ | |
4258 *** The escape sequence \s is now interpreted as a SPACE character. | 3757 *** The escape sequence \s is now interpreted as a SPACE character. |
4259 | 3758 |
4260 Exception: In a character constant, if it is followed by a `-' in a | 3759 Exception: In a character constant, if it is followed by a `-' in a |
4261 character constant (e.g. ?\s-A), it is still interpreted as the super | 3760 character constant (e.g. ?\s-A), it is still interpreted as the super |
4262 modifier. In strings, \s is always interpreted as a space. | 3761 modifier. In strings, \s is always interpreted as a space. |
4263 | 3762 |
4264 +++ | |
4265 *** A hex escape in a string constant forces the string to be multibyte. | 3763 *** A hex escape in a string constant forces the string to be multibyte. |
4266 | 3764 |
4267 +++ | |
4268 *** An octal escape in a string constant forces the string to be unibyte. | 3765 *** An octal escape in a string constant forces the string to be unibyte. |
4269 | 3766 |
4270 +++ | |
4271 *** `split-string' now includes null substrings in the returned list if | 3767 *** `split-string' now includes null substrings in the returned list if |
4272 the optional argument SEPARATORS is non-nil and there are matches for | 3768 the optional argument SEPARATORS is non-nil and there are matches for |
4273 SEPARATORS at the beginning or end of the string. If SEPARATORS is | 3769 SEPARATORS at the beginning or end of the string. If SEPARATORS is |
4274 nil, or if the new optional third argument OMIT-NULLS is non-nil, all | 3770 nil, or if the new optional third argument OMIT-NULLS is non-nil, all |
4275 empty matches are omitted from the returned list. | 3771 empty matches are omitted from the returned list. |
4276 | 3772 |
4277 +++ | |
4278 *** New function `string-to-multibyte' converts a unibyte string to a | 3773 *** New function `string-to-multibyte' converts a unibyte string to a |
4279 multibyte string with the same individual character codes. | 3774 multibyte string with the same individual character codes. |
4280 | 3775 |
4281 +++ | |
4282 *** New function `substring-no-properties' returns a substring without | 3776 *** New function `substring-no-properties' returns a substring without |
4283 text properties. | 3777 text properties. |
4284 | 3778 |
4285 +++ | |
4286 *** The new function `assoc-string' replaces `assoc-ignore-case' and | 3779 *** The new function `assoc-string' replaces `assoc-ignore-case' and |
4287 `assoc-ignore-representation', which are still available, but have | 3780 `assoc-ignore-representation', which are still available, but have |
4288 been declared obsolete. | 3781 been declared obsolete. |
4289 | 3782 |
4290 +++ | |
4291 *** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex. | 3783 *** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex. |
4292 Use "\u0428" to specify a string consisting of CYRILLIC CAPITAL LETTER SHA, | 3784 Use "\u0428" to specify a string consisting of CYRILLIC CAPITAL LETTER SHA, |
4293 or "\U0001D6E2" to specify one consisting of MATHEMATICAL ITALIC CAPITAL | 3785 or "\U0001D6E2" to specify one consisting of MATHEMATICAL ITALIC CAPITAL |
4294 ALPHA (the latter is greater than #xFFFF and thus needs the longer | 3786 ALPHA (the latter is greater than #xFFFF and thus needs the longer |
4295 syntax). Also available for characters. | 3787 syntax). Also available for characters. |
4296 | 3788 |
4297 +++ | |
4298 ** Displaying warnings to the user. | 3789 ** Displaying warnings to the user. |
4299 | 3790 |
4300 See the functions `warn' and `display-warning', or the Lisp Manual. | 3791 See the functions `warn' and `display-warning', or the Lisp Manual. |
4301 If you want to be sure the warning will not be overlooked, this | 3792 If you want to be sure the warning will not be overlooked, this |
4302 facility is much better than using `message', since it displays | 3793 facility is much better than using `message', since it displays |
4303 warnings in a separate window. | 3794 warnings in a separate window. |
4304 | 3795 |
4305 +++ | |
4306 ** Progress reporters. | 3796 ** Progress reporters. |
4307 | 3797 |
4308 These provide a simple and uniform way for commands to present | 3798 These provide a simple and uniform way for commands to present |
4309 progress messages for the user. | 3799 progress messages for the user. |
4310 | 3800 |
4312 `progress-reporter-update', `progress-reporter-force-update', | 3802 `progress-reporter-update', `progress-reporter-force-update', |
4313 `progress-reporter-done', and `dotimes-with-progress-reporter'. | 3803 `progress-reporter-done', and `dotimes-with-progress-reporter'. |
4314 | 3804 |
4315 ** Buffer positions: | 3805 ** Buffer positions: |
4316 | 3806 |
4317 +++ | |
4318 *** Function `compute-motion' now calculates the usable window | 3807 *** Function `compute-motion' now calculates the usable window |
4319 width if the WIDTH argument is nil. If the TOPOS argument is nil, | 3808 width if the WIDTH argument is nil. If the TOPOS argument is nil, |
4320 the usable window height and width is used. | 3809 the usable window height and width is used. |
4321 | 3810 |
4322 +++ | |
4323 *** The `line-move', `scroll-up', and `scroll-down' functions will now | 3811 *** The `line-move', `scroll-up', and `scroll-down' functions will now |
4324 modify the window vscroll to scroll through display rows that are | 3812 modify the window vscroll to scroll through display rows that are |
4325 taller that the height of the window, for example in the presence of | 3813 taller that the height of the window, for example in the presence of |
4326 large images. To disable this feature, bind the new variable | 3814 large images. To disable this feature, bind the new variable |
4327 `auto-window-vscroll' to nil. | 3815 `auto-window-vscroll' to nil. |
4328 | 3816 |
4329 +++ | |
4330 *** The argument to `forward-word', `backward-word' is optional. | 3817 *** The argument to `forward-word', `backward-word' is optional. |
4331 | 3818 |
4332 It defaults to 1. | 3819 It defaults to 1. |
4333 | 3820 |
4334 +++ | |
4335 *** Argument to `forward-to-indentation' and `backward-to-indentation' is optional. | 3821 *** Argument to `forward-to-indentation' and `backward-to-indentation' is optional. |
4336 | 3822 |
4337 It defaults to 1. | 3823 It defaults to 1. |
4338 | 3824 |
4339 +++ | |
4340 *** New function `mouse-on-link-p' tests if a position is in a clickable link. | 3825 *** New function `mouse-on-link-p' tests if a position is in a clickable link. |
4341 | 3826 |
4342 This is the function used by the new `mouse-1-click-follows-link' | 3827 This is the function used by the new `mouse-1-click-follows-link' |
4343 functionality. | 3828 functionality. |
4344 | 3829 |
4345 +++ | |
4346 *** New function `line-number-at-pos' returns the line number of a position. | 3830 *** New function `line-number-at-pos' returns the line number of a position. |
4347 | 3831 |
4348 It an optional buffer position argument that defaults to point. | 3832 It an optional buffer position argument that defaults to point. |
4349 | 3833 |
4350 +++ | |
4351 *** `field-beginning' and `field-end' take new optional argument, LIMIT. | 3834 *** `field-beginning' and `field-end' take new optional argument, LIMIT. |
4352 | 3835 |
4353 This argument tells them not to search beyond LIMIT. Instead they | 3836 This argument tells them not to search beyond LIMIT. Instead they |
4354 give up and return LIMIT. | 3837 give up and return LIMIT. |
4355 | 3838 |
4356 +++ | |
4357 *** Function `pos-visible-in-window-p' now returns the pixel coordinates | 3839 *** Function `pos-visible-in-window-p' now returns the pixel coordinates |
4358 and partial visibility state of the corresponding row, if the PARTIALLY | 3840 and partial visibility state of the corresponding row, if the PARTIALLY |
4359 arg is non-nil. | 3841 arg is non-nil. |
4360 | 3842 |
4361 +++ | |
4362 *** New function `window-line-height' is an efficient way to get | 3843 *** New function `window-line-height' is an efficient way to get |
4363 information about a specific text line in a window provided that the | 3844 information about a specific text line in a window provided that the |
4364 window's display is up-to-date. | 3845 window's display is up-to-date. |
4365 | 3846 |
4366 +++ | |
4367 *** New functions `posn-at-point' and `posn-at-x-y' return | 3847 *** New functions `posn-at-point' and `posn-at-x-y' return |
4368 click-event-style position information for a given visible buffer | 3848 click-event-style position information for a given visible buffer |
4369 position or for a given window pixel coordinate. | 3849 position or for a given window pixel coordinate. |
4370 | 3850 |
4371 ** Text modification: | 3851 ** Text modification: |
4372 | 3852 |
4373 +++ | |
4374 *** The new function `buffer-chars-modified-tick' returns a buffer's | 3853 *** The new function `buffer-chars-modified-tick' returns a buffer's |
4375 tick counter for changes to characters. Each time text in that buffer | 3854 tick counter for changes to characters. Each time text in that buffer |
4376 is inserted or deleted, the character-change counter is updated to the | 3855 is inserted or deleted, the character-change counter is updated to the |
4377 tick counter (`buffer-modified-tick'). Text property changes leave it | 3856 tick counter (`buffer-modified-tick'). Text property changes leave it |
4378 unchanged. | 3857 unchanged. |
4379 | 3858 |
4380 +++ | |
4381 *** The new function `insert-for-yank' normally works like `insert', but | 3859 *** The new function `insert-for-yank' normally works like `insert', but |
4382 removes the text properties in the `yank-excluded-properties' list | 3860 removes the text properties in the `yank-excluded-properties' list |
4383 and handles the `yank-handler' text property. | 3861 and handles the `yank-handler' text property. |
4384 | 3862 |
4385 +++ | |
4386 *** The new function `insert-buffer-substring-as-yank' is like | 3863 *** The new function `insert-buffer-substring-as-yank' is like |
4387 `insert-for-yank' except that it gets the text from another buffer as | 3864 `insert-for-yank' except that it gets the text from another buffer as |
4388 in `insert-buffer-substring'. | 3865 in `insert-buffer-substring'. |
4389 | 3866 |
4390 +++ | |
4391 *** The new function `insert-buffer-substring-no-properties' is like | 3867 *** The new function `insert-buffer-substring-no-properties' is like |
4392 `insert-buffer-substring', but removes all text properties from the | 3868 `insert-buffer-substring', but removes all text properties from the |
4393 inserted substring. | 3869 inserted substring. |
4394 | 3870 |
4395 +++ | |
4396 *** The new function `filter-buffer-substring' extracts a buffer | 3871 *** The new function `filter-buffer-substring' extracts a buffer |
4397 substring, passes it through a set of filter functions, and returns | 3872 substring, passes it through a set of filter functions, and returns |
4398 the filtered substring. Use it instead of `buffer-substring' or | 3873 the filtered substring. Use it instead of `buffer-substring' or |
4399 `delete-and-extract-region' when copying text into a user-accessible | 3874 `delete-and-extract-region' when copying text into a user-accessible |
4400 data structure, such as the kill-ring, X clipboard, or a register. | 3875 data structure, such as the kill-ring, X clipboard, or a register. |
4402 The list of filter function is specified by the new variable | 3877 The list of filter function is specified by the new variable |
4403 `buffer-substring-filters'. For example, Longlines mode adds to | 3878 `buffer-substring-filters'. For example, Longlines mode adds to |
4404 `buffer-substring-filters' to remove soft newlines from the copied | 3879 `buffer-substring-filters' to remove soft newlines from the copied |
4405 text. | 3880 text. |
4406 | 3881 |
4407 +++ | |
4408 *** Function `translate-region' accepts also a char-table as TABLE | 3882 *** Function `translate-region' accepts also a char-table as TABLE |
4409 argument. | 3883 argument. |
4410 | 3884 |
4411 +++ | |
4412 *** The new translation table `translation-table-for-input' | 3885 *** The new translation table `translation-table-for-input' |
4413 is used for customizing self-insertion. The character to | 3886 is used for customizing self-insertion. The character to |
4414 be inserted is translated through it. | 3887 be inserted is translated through it. |
4415 | 3888 |
4416 --- | |
4417 *** Text clones. | 3889 *** Text clones. |
4418 | 3890 |
4419 The new function `text-clone-create'. Text clones are chunks of text | 3891 The new function `text-clone-create'. Text clones are chunks of text |
4420 that are kept identical by transparently propagating changes from one | 3892 that are kept identical by transparently propagating changes from one |
4421 clone to the other. | 3893 clone to the other. |
4422 | 3894 |
4423 --- | |
4424 *** The function `insert-string' is now obsolete. | 3895 *** The function `insert-string' is now obsolete. |
4425 | 3896 |
4426 ** Filling changes. | 3897 ** Filling changes. |
4427 | 3898 |
4428 +++ | |
4429 *** In determining an adaptive fill prefix, Emacs now tries the function in | 3899 *** In determining an adaptive fill prefix, Emacs now tries the function in |
4430 `adaptive-fill-function' _before_ matching the buffer line against | 3900 `adaptive-fill-function' _before_ matching the buffer line against |
4431 `adaptive-fill-regexp' rather than _after_ it. | 3901 `adaptive-fill-regexp' rather than _after_ it. |
4432 | 3902 |
4433 +++ | |
4434 ** Atomic change groups. | 3903 ** Atomic change groups. |
4435 | 3904 |
4436 To perform some changes in the current buffer "atomically" so that | 3905 To perform some changes in the current buffer "atomically" so that |
4437 they either all succeed or are all undone, use `atomic-change-group' | 3906 they either all succeed or are all undone, use `atomic-change-group' |
4438 around the code that makes changes. For instance: | 3907 around the code that makes changes. For instance: |
4488 change group you start for any given buffer should be the last one | 3957 change group you start for any given buffer should be the last one |
4489 finished. | 3958 finished. |
4490 | 3959 |
4491 ** Buffer-related changes: | 3960 ** Buffer-related changes: |
4492 | 3961 |
4493 --- | |
4494 *** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. | 3962 *** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST. |
4495 | 3963 |
4496 If it is non-nil, it specifies which buffers to list. | 3964 If it is non-nil, it specifies which buffers to list. |
4497 | 3965 |
4498 +++ | |
4499 *** `kill-buffer-hook' is now a permanent local. | 3966 *** `kill-buffer-hook' is now a permanent local. |
4500 | 3967 |
4501 +++ | |
4502 *** The new function `buffer-local-value' returns the buffer-local | 3968 *** The new function `buffer-local-value' returns the buffer-local |
4503 binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not | 3969 binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not |
4504 have a buffer-local binding in buffer BUFFER, it returns the default | 3970 have a buffer-local binding in buffer BUFFER, it returns the default |
4505 value of VARIABLE instead. | 3971 value of VARIABLE instead. |
4506 | 3972 |
4507 --- | |
4508 *** The function `frame-or-buffer-changed-p' now lets you maintain | 3973 *** The function `frame-or-buffer-changed-p' now lets you maintain |
4509 various status records in parallel. | 3974 various status records in parallel. |
4510 | 3975 |
4511 It takes a variable (a symbol) as argument. If the variable is non-nil, | 3976 It takes a variable (a symbol) as argument. If the variable is non-nil, |
4512 then its value should be a vector installed previously by | 3977 then its value should be a vector installed previously by |
4522 | 3987 |
4523 If the variable is itself nil, then `frame-or-buffer-changed-p' uses, | 3988 If the variable is itself nil, then `frame-or-buffer-changed-p' uses, |
4524 for compatibility, an internal variable which exists only for this | 3989 for compatibility, an internal variable which exists only for this |
4525 purpose. | 3990 purpose. |
4526 | 3991 |
4527 +++ | |
4528 *** The function `read-buffer' follows the convention for reading from | 3992 *** The function `read-buffer' follows the convention for reading from |
4529 the minibuffer with a default value: if DEF is non-nil, the minibuffer | 3993 the minibuffer with a default value: if DEF is non-nil, the minibuffer |
4530 prompt provided in PROMPT is edited to show the default value provided | 3994 prompt provided in PROMPT is edited to show the default value provided |
4531 in DEF before the terminal colon and space. | 3995 in DEF before the terminal colon and space. |
4532 | 3996 |
4533 ** Searching and matching changes: | 3997 ** Searching and matching changes: |
4534 | 3998 |
4535 +++ | |
4536 *** New function `looking-back' checks whether a regular expression matches | 3999 *** New function `looking-back' checks whether a regular expression matches |
4537 the text before point. Specifying the LIMIT argument bounds how far | 4000 the text before point. Specifying the LIMIT argument bounds how far |
4538 back the match can start; this is a way to keep it from taking too long. | 4001 back the match can start; this is a way to keep it from taking too long. |
4539 | 4002 |
4540 +++ | |
4541 *** The new variable `search-spaces-regexp' controls how to search | 4003 *** The new variable `search-spaces-regexp' controls how to search |
4542 for spaces in a regular expression. If it is non-nil, it should be a | 4004 for spaces in a regular expression. If it is non-nil, it should be a |
4543 regular expression, and any series of spaces stands for that regular | 4005 regular expression, and any series of spaces stands for that regular |
4544 expression. If it is nil, spaces stand for themselves. | 4006 expression. If it is nil, spaces stand for themselves. |
4545 | 4007 |
4546 Spaces inside of constructs such as `[..]' and inside loops such as | 4008 Spaces inside of constructs such as `[..]' and inside loops such as |
4547 `*', `+', and `?' are never replaced with `search-spaces-regexp'. | 4009 `*', `+', and `?' are never replaced with `search-spaces-regexp'. |
4548 | 4010 |
4549 +++ | |
4550 *** New regular expression operators, `\_<' and `\_>'. | 4011 *** New regular expression operators, `\_<' and `\_>'. |
4551 | 4012 |
4552 These match the beginning and end of a symbol. A symbol is a | 4013 These match the beginning and end of a symbol. A symbol is a |
4553 non-empty sequence of either word or symbol constituent characters, as | 4014 non-empty sequence of either word or symbol constituent characters, as |
4554 specified by the syntax table. | 4015 specified by the syntax table. |
4555 | 4016 |
4556 --- | |
4557 *** rx.el has new corresponding `symbol-start' and `symbol-end' elements. | 4017 *** rx.el has new corresponding `symbol-start' and `symbol-end' elements. |
4558 | 4018 |
4559 +++ | |
4560 *** `skip-chars-forward' and `skip-chars-backward' now handle | 4019 *** `skip-chars-forward' and `skip-chars-backward' now handle |
4561 character classes such as `[:alpha:]', along with individual | 4020 character classes such as `[:alpha:]', along with individual |
4562 characters and ranges. | 4021 characters and ranges. |
4563 | 4022 |
4564 --- | |
4565 *** In `replace-match', the replacement text no longer inherits | 4023 *** In `replace-match', the replacement text no longer inherits |
4566 properties from surrounding text. | 4024 properties from surrounding text. |
4567 | 4025 |
4568 +++ | |
4569 *** The list returned by `(match-data t)' now has the buffer as a final | 4026 *** The list returned by `(match-data t)' now has the buffer as a final |
4570 element, if the last match was on a buffer. `set-match-data' | 4027 element, if the last match was on a buffer. `set-match-data' |
4571 accepts such a list for restoring the match state. | 4028 accepts such a list for restoring the match state. |
4572 | 4029 |
4573 +++ | |
4574 *** Functions `match-data' and `set-match-data' now have an optional | 4030 *** Functions `match-data' and `set-match-data' now have an optional |
4575 argument `reseat'. When non-nil, all markers in the match data list | 4031 argument `reseat'. When non-nil, all markers in the match data list |
4576 passed to these functions will be reseated to point to nowhere. | 4032 passed to these functions will be reseated to point to nowhere. |
4577 | 4033 |
4578 +++ | |
4579 *** The default value of `sentence-end' is now defined using the new | 4034 *** The default value of `sentence-end' is now defined using the new |
4580 variable `sentence-end-without-space', which contains such characters | 4035 variable `sentence-end-without-space', which contains such characters |
4581 that end a sentence without following spaces. | 4036 that end a sentence without following spaces. |
4582 | 4037 |
4583 The function `sentence-end' should be used to obtain the value of the | 4038 The function `sentence-end' should be used to obtain the value of the |
4586 `sentence-end-without-period', `sentence-end-double-space' and | 4041 `sentence-end-without-period', `sentence-end-double-space' and |
4587 `sentence-end-without-space'. | 4042 `sentence-end-without-space'. |
4588 | 4043 |
4589 ** Undo changes: | 4044 ** Undo changes: |
4590 | 4045 |
4591 +++ | |
4592 *** `buffer-undo-list' allows programmable elements. | 4046 *** `buffer-undo-list' allows programmable elements. |
4593 | 4047 |
4594 These elements have the form (apply FUNNAME . ARGS), where FUNNAME is | 4048 These elements have the form (apply FUNNAME . ARGS), where FUNNAME is |
4595 a symbol other than t or nil. That stands for a high-level change | 4049 a symbol other than t or nil. That stands for a high-level change |
4596 that should be undone by evaluating (apply FUNNAME ARGS). | 4050 that should be undone by evaluating (apply FUNNAME ARGS). |
4597 | 4051 |
4598 These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS) | 4052 These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS) |
4599 which indicates that the change which took place was limited to the | 4053 which indicates that the change which took place was limited to the |
4600 range BEG...END and increased the buffer size by DELTA. | 4054 range BEG...END and increased the buffer size by DELTA. |
4601 | 4055 |
4602 +++ | |
4603 *** If the buffer's undo list for the current command gets longer than | 4056 *** If the buffer's undo list for the current command gets longer than |
4604 `undo-outer-limit', garbage collection empties it. This is to prevent | 4057 `undo-outer-limit', garbage collection empties it. This is to prevent |
4605 it from using up the available memory and choking Emacs. | 4058 it from using up the available memory and choking Emacs. |
4606 | 4059 |
4607 +++ | |
4608 ** New `yank-handler' text property can be used to control how | 4060 ** New `yank-handler' text property can be used to control how |
4609 previously killed text on the kill ring is reinserted. | 4061 previously killed text on the kill ring is reinserted. |
4610 | 4062 |
4611 The value of the `yank-handler' property must be a list with one to four | 4063 The value of the `yank-handler' property must be a list with one to four |
4612 elements with the following format: | 4064 elements with the following format: |
4647 string. The old behavior is available if you call | 4099 string. The old behavior is available if you call |
4648 `insert-for-yank-1' instead. | 4100 `insert-for-yank-1' instead. |
4649 | 4101 |
4650 ** Syntax table changes: | 4102 ** Syntax table changes: |
4651 | 4103 |
4652 +++ | |
4653 *** The macro `with-syntax-table' no longer copies the syntax table. | 4104 *** The macro `with-syntax-table' no longer copies the syntax table. |
4654 | 4105 |
4655 +++ | |
4656 *** The new function `syntax-after' returns the syntax code | 4106 *** The new function `syntax-after' returns the syntax code |
4657 of the character after a specified buffer position, taking account | 4107 of the character after a specified buffer position, taking account |
4658 of text properties as well as the character code. | 4108 of text properties as well as the character code. |
4659 | 4109 |
4660 +++ | |
4661 *** `syntax-class' extracts the class of a syntax code (as returned | 4110 *** `syntax-class' extracts the class of a syntax code (as returned |
4662 by `syntax-after'). | 4111 by `syntax-after'). |
4663 | 4112 |
4664 +++ | |
4665 *** The new function `syntax-ppss' provides an efficient way to find the | 4113 *** The new function `syntax-ppss' provides an efficient way to find the |
4666 current syntactic context at point. | 4114 current syntactic context at point. |
4667 | 4115 |
4668 ** File operation changes: | 4116 ** File operation changes: |
4669 | 4117 |
4670 +++ | |
4671 *** New vars `exec-suffixes' and `load-suffixes' used when | 4118 *** New vars `exec-suffixes' and `load-suffixes' used when |
4672 searching for an executable or an Emacs Lisp file. | 4119 searching for an executable or an Emacs Lisp file. |
4673 | 4120 |
4674 +++ | |
4675 *** The new primitive `set-file-times' sets a file's access and | 4121 *** The new primitive `set-file-times' sets a file's access and |
4676 modification times. Magic file name handlers can handle this | 4122 modification times. Magic file name handlers can handle this |
4677 operation. | 4123 operation. |
4678 | 4124 |
4679 +++ | |
4680 *** The new function `file-remote-p' tests a file name and returns | 4125 *** The new function `file-remote-p' tests a file name and returns |
4681 non-nil if it specifies a remote file (one that Emacs accesses using | 4126 non-nil if it specifies a remote file (one that Emacs accesses using |
4682 its own special methods and not directly through the file system). | 4127 its own special methods and not directly through the file system). |
4683 The value in that case is an identifier for the remote file system. | 4128 The value in that case is an identifier for the remote file system. |
4684 | 4129 |
4685 +++ | |
4686 *** `buffer-auto-save-file-format' is the new name for what was | 4130 *** `buffer-auto-save-file-format' is the new name for what was |
4687 formerly called `auto-save-file-format'. It is now a permanent local. | 4131 formerly called `auto-save-file-format'. It is now a permanent local. |
4688 | 4132 |
4689 +++ | |
4690 *** Functions `file-name-sans-extension' and `file-name-extension' now | 4133 *** Functions `file-name-sans-extension' and `file-name-extension' now |
4691 ignore the leading dots in file names, so that file names such as | 4134 ignore the leading dots in file names, so that file names such as |
4692 `.emacs' are treated as extensionless. | 4135 `.emacs' are treated as extensionless. |
4693 | 4136 |
4694 +++ | |
4695 *** `visited-file-modtime' and `calendar-time-from-absolute' now return | 4137 *** `visited-file-modtime' and `calendar-time-from-absolute' now return |
4696 a list of two integers, instead of a cons. | 4138 a list of two integers, instead of a cons. |
4697 | 4139 |
4698 +++ | |
4699 *** `file-chase-links' now takes an optional second argument LIMIT which | 4140 *** `file-chase-links' now takes an optional second argument LIMIT which |
4700 specifies the maximum number of links to chase through. If after that | 4141 specifies the maximum number of links to chase through. If after that |
4701 many iterations the file name obtained is still a symbolic link, | 4142 many iterations the file name obtained is still a symbolic link, |
4702 `file-chase-links' returns it anyway. | 4143 `file-chase-links' returns it anyway. |
4703 | 4144 |
4704 +++ | |
4705 *** The new hook `before-save-hook' is invoked by `basic-save-buffer' | 4145 *** The new hook `before-save-hook' is invoked by `basic-save-buffer' |
4706 before saving buffers. This allows packages to perform various final | 4146 before saving buffers. This allows packages to perform various final |
4707 tasks. For example, it can be used by the copyright package to make | 4147 tasks. For example, it can be used by the copyright package to make |
4708 sure saved files have the current year in any copyright headers. | 4148 sure saved files have the current year in any copyright headers. |
4709 | 4149 |
4710 +++ | |
4711 *** If `buffer-save-without-query' is non-nil in some buffer, | 4150 *** If `buffer-save-without-query' is non-nil in some buffer, |
4712 `save-some-buffers' will always save that buffer without asking (if | 4151 `save-some-buffers' will always save that buffer without asking (if |
4713 it's modified). | 4152 it's modified). |
4714 | 4153 |
4715 +++ | |
4716 *** New function `locate-file' searches for a file in a list of directories. | 4154 *** New function `locate-file' searches for a file in a list of directories. |
4717 `locate-file' accepts a name of a file to search (a string), and two | 4155 `locate-file' accepts a name of a file to search (a string), and two |
4718 lists: a list of directories to search in and a list of suffixes to | 4156 lists: a list of directories to search in and a list of suffixes to |
4719 try; typical usage might use `exec-path' and `load-path' for the list | 4157 try; typical usage might use `exec-path' and `load-path' for the list |
4720 of directories, and `exec-suffixes' and `load-suffixes' for the list | 4158 of directories, and `exec-suffixes' and `load-suffixes' for the list |
4723 | 4161 |
4724 One advantage of using this function is that the list of suffixes in | 4162 One advantage of using this function is that the list of suffixes in |
4725 `exec-suffixes' is OS-dependant, so this function will find | 4163 `exec-suffixes' is OS-dependant, so this function will find |
4726 executables without polluting Lisp code with OS dependencies. | 4164 executables without polluting Lisp code with OS dependencies. |
4727 | 4165 |
4728 --- | |
4729 *** The precedence of file name handlers has been changed. | 4166 *** The precedence of file name handlers has been changed. |
4730 | 4167 |
4731 Instead of choosing the first handler that matches, | 4168 Instead of choosing the first handler that matches, |
4732 `find-file-name-handler' now gives precedence to a file name handler | 4169 `find-file-name-handler' now gives precedence to a file name handler |
4733 that matches nearest the end of the file name. More precisely, the | 4170 that matches nearest the end of the file name. More precisely, the |
4734 handler whose (match-beginning 0) is the largest is chosen. In case | 4171 handler whose (match-beginning 0) is the largest is chosen. In case |
4735 of ties, the old "first matched" rule applies. | 4172 of ties, the old "first matched" rule applies. |
4736 | 4173 |
4737 +++ | |
4738 *** A file name handler can declare which operations it handles. | 4174 *** A file name handler can declare which operations it handles. |
4739 | 4175 |
4740 You do this by putting an `operation' property on the handler name | 4176 You do this by putting an `operation' property on the handler name |
4741 symbol. The property value should be a list of the operations that | 4177 symbol. The property value should be a list of the operations that |
4742 the handler really handles. It won't be called for any other | 4178 the handler really handles. It won't be called for any other |
4743 operations. | 4179 operations. |
4744 | 4180 |
4745 This is useful for autoloaded handlers, to prevent them from being | 4181 This is useful for autoloaded handlers, to prevent them from being |
4746 autoloaded when not really necessary. | 4182 autoloaded when not really necessary. |
4747 | 4183 |
4748 +++ | |
4749 *** The function `make-auto-save-file-name' is now handled by file | 4184 *** The function `make-auto-save-file-name' is now handled by file |
4750 name handlers. This will be exploited for remote files mainly. | 4185 name handlers. This will be exploited for remote files mainly. |
4751 | 4186 |
4752 +++ | |
4753 *** The function `file-name-completion' accepts an optional argument | 4187 *** The function `file-name-completion' accepts an optional argument |
4754 PREDICATE, and rejects completion candidates that don't satisfy PREDICATE. | 4188 PREDICATE, and rejects completion candidates that don't satisfy PREDICATE. |
4755 | 4189 |
4756 ** Input changes: | 4190 ** Input changes: |
4757 | 4191 |
4758 +++ | |
4759 *** The functions `read-event', `read-char', and `read-char-exclusive' | 4192 *** The functions `read-event', `read-char', and `read-char-exclusive' |
4760 have a new optional argument SECONDS. If non-nil, this specifies a | 4193 have a new optional argument SECONDS. If non-nil, this specifies a |
4761 maximum time to wait for input, in seconds. If no input arrives after | 4194 maximum time to wait for input, in seconds. If no input arrives after |
4762 this time elapses, the functions stop waiting and return nil. | 4195 this time elapses, the functions stop waiting and return nil. |
4763 | 4196 |
4764 +++ | |
4765 *** An interactive specification can now use the code letter `U' to get | 4197 *** An interactive specification can now use the code letter `U' to get |
4766 the up-event that was discarded in case the last key sequence read for a | 4198 the up-event that was discarded in case the last key sequence read for a |
4767 previous `k' or `K' argument was a down-event; otherwise nil is used. | 4199 previous `k' or `K' argument was a down-event; otherwise nil is used. |
4768 | 4200 |
4769 +++ | |
4770 *** The new interactive-specification `G' reads a file name | 4201 *** The new interactive-specification `G' reads a file name |
4771 much like `F', but if the input is a directory name (even defaulted), | 4202 much like `F', but if the input is a directory name (even defaulted), |
4772 it returns just the directory name. | 4203 it returns just the directory name. |
4773 | 4204 |
4774 --- | |
4775 *** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that | 4205 *** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that |
4776 display a prompt but don't use the minibuffer, now display the prompt | 4206 display a prompt but don't use the minibuffer, now display the prompt |
4777 using the text properties (esp. the face) of the prompt string. | 4207 using the text properties (esp. the face) of the prompt string. |
4778 | 4208 |
4779 +++ | |
4780 *** (while-no-input BODY...) runs BODY, but only so long as no input | 4209 *** (while-no-input BODY...) runs BODY, but only so long as no input |
4781 arrives. If the user types or clicks anything, BODY stops as if a | 4210 arrives. If the user types or clicks anything, BODY stops as if a |
4782 quit had occurred. `while-no-input' returns the value of BODY, if BODY | 4211 quit had occurred. `while-no-input' returns the value of BODY, if BODY |
4783 finishes. It returns nil if BODY was aborted by a quit, and t if | 4212 finishes. It returns nil if BODY was aborted by a quit, and t if |
4784 BODY was aborted by arrival of input. | 4213 BODY was aborted by arrival of input. |
4785 | 4214 |
4786 +++ | |
4787 *** `recent-keys' now returns the last 300 keys. | 4215 *** `recent-keys' now returns the last 300 keys. |
4788 | 4216 |
4789 ** Minibuffer changes: | 4217 ** Minibuffer changes: |
4790 | 4218 |
4791 +++ | |
4792 *** The new function `minibufferp' returns non-nil if its optional | 4219 *** The new function `minibufferp' returns non-nil if its optional |
4793 buffer argument is a minibuffer. If the argument is omitted, it | 4220 buffer argument is a minibuffer. If the argument is omitted, it |
4794 defaults to the current buffer. | 4221 defaults to the current buffer. |
4795 | 4222 |
4796 +++ | |
4797 *** New function `minibuffer-selected-window' returns the window which | 4223 *** New function `minibuffer-selected-window' returns the window which |
4798 was selected when entering the minibuffer. | 4224 was selected when entering the minibuffer. |
4799 | 4225 |
4800 +++ | |
4801 *** The `read-file-name' function now takes an additional argument which | 4226 *** The `read-file-name' function now takes an additional argument which |
4802 specifies a predicate which the file name read must satisfy. The | 4227 specifies a predicate which the file name read must satisfy. The |
4803 new variable `read-file-name-predicate' contains the predicate argument | 4228 new variable `read-file-name-predicate' contains the predicate argument |
4804 while reading the file name from the minibuffer; the predicate in this | 4229 while reading the file name from the minibuffer; the predicate in this |
4805 variable is used by read-file-name-internal to filter the completion list. | 4230 variable is used by read-file-name-internal to filter the completion list. |
4806 | 4231 |
4807 --- | |
4808 *** The new variable `read-file-name-function' can be used by Lisp code | 4232 *** The new variable `read-file-name-function' can be used by Lisp code |
4809 to override the built-in `read-file-name' function. | 4233 to override the built-in `read-file-name' function. |
4810 | 4234 |
4811 +++ | |
4812 *** The new variable `read-file-name-completion-ignore-case' specifies | 4235 *** The new variable `read-file-name-completion-ignore-case' specifies |
4813 whether completion ignores case when reading a file name with the | 4236 whether completion ignores case when reading a file name with the |
4814 `read-file-name' function. | 4237 `read-file-name' function. |
4815 | 4238 |
4816 +++ | |
4817 *** The new function `read-directory-name' is for reading a directory name. | 4239 *** The new function `read-directory-name' is for reading a directory name. |
4818 | 4240 |
4819 It is like `read-file-name' except that the defaulting works better | 4241 It is like `read-file-name' except that the defaulting works better |
4820 for directories, and completion inside it shows only directories. | 4242 for directories, and completion inside it shows only directories. |
4821 | 4243 |
4822 +++ | |
4823 *** The new variable `history-add-new-input' specifies whether to add new | 4244 *** The new variable `history-add-new-input' specifies whether to add new |
4824 elements in history. If set to nil, minibuffer reading functions don't | 4245 elements in history. If set to nil, minibuffer reading functions don't |
4825 add new elements to the history list, so it is possible to do this | 4246 add new elements to the history list, so it is possible to do this |
4826 afterwards by calling `add-to-history' explicitly. | 4247 afterwards by calling `add-to-history' explicitly. |
4827 | 4248 |
4828 ** Completion changes: | 4249 ** Completion changes: |
4829 | 4250 |
4830 +++ | |
4831 *** The new function `minibuffer-completion-contents' returns the contents | 4251 *** The new function `minibuffer-completion-contents' returns the contents |
4832 of the minibuffer just before point. That is what completion commands | 4252 of the minibuffer just before point. That is what completion commands |
4833 operate on. | 4253 operate on. |
4834 | 4254 |
4835 +++ | |
4836 *** The functions `all-completions' and `try-completion' now accept lists | 4255 *** The functions `all-completions' and `try-completion' now accept lists |
4837 of strings as well as hash-tables additionally to alists, obarrays | 4256 of strings as well as hash-tables additionally to alists, obarrays |
4838 and functions. Furthermore, the function `test-completion' is now | 4257 and functions. Furthermore, the function `test-completion' is now |
4839 exported to Lisp. The keys in alists and hash tables can be either | 4258 exported to Lisp. The keys in alists and hash tables can be either |
4840 strings or symbols, which are automatically converted with to strings. | 4259 strings or symbols, which are automatically converted with to strings. |
4841 | 4260 |
4842 +++ | |
4843 *** The new macro `dynamic-completion-table' supports using functions | 4261 *** The new macro `dynamic-completion-table' supports using functions |
4844 as a dynamic completion table. | 4262 as a dynamic completion table. |
4845 | 4263 |
4846 (dynamic-completion-table FUN) | 4264 (dynamic-completion-table FUN) |
4847 | 4265 |
4850 completions. This alist can be a full list of possible completions so that FUN | 4268 completions. This alist can be a full list of possible completions so that FUN |
4851 can ignore the value of its argument. If completion is performed in the | 4269 can ignore the value of its argument. If completion is performed in the |
4852 minibuffer, FUN will be called in the buffer from which the minibuffer was | 4270 minibuffer, FUN will be called in the buffer from which the minibuffer was |
4853 entered. `dynamic-completion-table' then computes the completion. | 4271 entered. `dynamic-completion-table' then computes the completion. |
4854 | 4272 |
4855 +++ | |
4856 *** The new macro `lazy-completion-table' initializes a variable | 4273 *** The new macro `lazy-completion-table' initializes a variable |
4857 as a lazy completion table. | 4274 as a lazy completion table. |
4858 | 4275 |
4859 (lazy-completion-table VAR FUN) | 4276 (lazy-completion-table VAR FUN) |
4860 | 4277 |
4863 arguments. FUN must return the completion table that will be stored in VAR. | 4280 arguments. FUN must return the completion table that will be stored in VAR. |
4864 If completion is requested in the minibuffer, FUN will be called in the buffer | 4281 If completion is requested in the minibuffer, FUN will be called in the buffer |
4865 from which the minibuffer was entered. The return value of | 4282 from which the minibuffer was entered. The return value of |
4866 `lazy-completion-table' must be used to initialize the value of VAR. | 4283 `lazy-completion-table' must be used to initialize the value of VAR. |
4867 | 4284 |
4868 +++ | |
4869 ** Enhancements to keymaps. | 4285 ** Enhancements to keymaps. |
4870 | 4286 |
4871 *** New keymaps for typing file names | 4287 *** New keymaps for typing file names |
4872 | 4288 |
4873 Two new keymaps, `minibuffer-local-filename-completion-map' and | 4289 Two new keymaps, `minibuffer-local-filename-completion-map' and |
4982 *** The definition of a key-binding passed to define-key can use XEmacs-style | 4398 *** The definition of a key-binding passed to define-key can use XEmacs-style |
4983 key-sequences, such as [(control a)]. | 4399 key-sequences, such as [(control a)]. |
4984 | 4400 |
4985 ** Abbrev changes: | 4401 ** Abbrev changes: |
4986 | 4402 |
4987 +++ | |
4988 *** The new function `copy-abbrev-table' copies an abbrev table. | 4403 *** The new function `copy-abbrev-table' copies an abbrev table. |
4989 | 4404 |
4990 It returns a new abbrev table that is a copy of a given abbrev table. | 4405 It returns a new abbrev table that is a copy of a given abbrev table. |
4991 | 4406 |
4992 +++ | |
4993 *** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. | 4407 *** `define-abbrev' now accepts an optional argument SYSTEM-FLAG. |
4994 | 4408 |
4995 If non-nil, this marks the abbrev as a "system" abbrev, which means | 4409 If non-nil, this marks the abbrev as a "system" abbrev, which means |
4996 that it won't be stored in the user's abbrevs file if he saves the | 4410 that it won't be stored in the user's abbrevs file if he saves the |
4997 abbrevs. Major modes that predefine some abbrevs should always | 4411 abbrevs. Major modes that predefine some abbrevs should always |
4998 specify this flag. | 4412 specify this flag. |
4999 | 4413 |
5000 +++ | |
5001 ** Enhancements to process support | 4414 ** Enhancements to process support |
5002 | 4415 |
5003 *** Function `list-processes' now has an optional argument; if non-nil, | 4416 *** Function `list-processes' now has an optional argument; if non-nil, |
5004 it lists only the processes whose query-on-exit flag is set. | 4417 it lists only the processes whose query-on-exit flag is set. |
5005 | 4418 |
5062 buffer is multibyte, the output of the process is at first converted | 4475 buffer is multibyte, the output of the process is at first converted |
5063 to multibyte by `string-to-multibyte' then inserted in the buffer. | 4476 to multibyte by `string-to-multibyte' then inserted in the buffer. |
5064 Previously, it was converted to multibyte by `string-as-multibyte', | 4477 Previously, it was converted to multibyte by `string-as-multibyte', |
5065 which was not compatible with the behavior of file reading. | 4478 which was not compatible with the behavior of file reading. |
5066 | 4479 |
5067 +++ | |
5068 ** Enhanced networking support. | 4480 ** Enhanced networking support. |
5069 | 4481 |
5070 *** The new `make-network-process' function makes network connections. | 4482 *** The new `make-network-process' function makes network connections. |
5071 It allows opening of stream and datagram connections to a server, as well as | 4483 It allows opening of stream and datagram connections to a server, as well as |
5072 create a stream or datagram server inside Emacs. | 4484 create a stream or datagram server inside Emacs. |
5134 connection is closed by the remote peer has been changed to | 4546 connection is closed by the remote peer has been changed to |
5135 "connection broken by remote peer". | 4547 "connection broken by remote peer". |
5136 | 4548 |
5137 ** Using window objects: | 4549 ** Using window objects: |
5138 | 4550 |
5139 +++ | |
5140 *** New function `window-body-height'. | 4551 *** New function `window-body-height'. |
5141 | 4552 |
5142 This is like `window-height' but does not count the mode line or the | 4553 This is like `window-height' but does not count the mode line or the |
5143 header line. | 4554 header line. |
5144 | 4555 |
5145 +++ | |
5146 *** You can now make a window as short as one line. | 4556 *** You can now make a window as short as one line. |
5147 | 4557 |
5148 A window that is just one line tall does not display either a mode | 4558 A window that is just one line tall does not display either a mode |
5149 line or a header line, even if the variables `mode-line-format' and | 4559 line or a header line, even if the variables `mode-line-format' and |
5150 `header-line-format' call for them. A window that is two lines tall | 4560 `header-line-format' call for them. A window that is two lines tall |
5151 cannot display both a mode line and a header line at once; if the | 4561 cannot display both a mode line and a header line at once; if the |
5152 variables call for both, only the mode line actually appears. | 4562 variables call for both, only the mode line actually appears. |
5153 | 4563 |
5154 +++ | |
5155 *** The new function `window-inside-edges' returns the edges of the | 4564 *** The new function `window-inside-edges' returns the edges of the |
5156 actual text portion of the window, not including the scroll bar or | 4565 actual text portion of the window, not including the scroll bar or |
5157 divider line, the fringes, the display margins, the header line and | 4566 divider line, the fringes, the display margins, the header line and |
5158 the mode line. | 4567 the mode line. |
5159 | 4568 |
5160 +++ | |
5161 *** The new functions `window-pixel-edges' and `window-inside-pixel-edges' | 4569 *** The new functions `window-pixel-edges' and `window-inside-pixel-edges' |
5162 return window edges in units of pixels, rather than columns and lines. | 4570 return window edges in units of pixels, rather than columns and lines. |
5163 | 4571 |
5164 +++ | |
5165 *** The new macro `with-selected-window' temporarily switches the | 4572 *** The new macro `with-selected-window' temporarily switches the |
5166 selected window without impacting the order of `buffer-list'. | 4573 selected window without impacting the order of `buffer-list'. |
5167 It saves and restores the current buffer, too. | 4574 It saves and restores the current buffer, too. |
5168 | 4575 |
5169 +++ | |
5170 *** `select-window' takes an optional second argument NORECORD. | 4576 *** `select-window' takes an optional second argument NORECORD. |
5171 | 4577 |
5172 This is like `switch-to-buffer'. | 4578 This is like `switch-to-buffer'. |
5173 | 4579 |
5174 +++ | |
5175 *** `save-selected-window' now saves and restores the selected window | 4580 *** `save-selected-window' now saves and restores the selected window |
5176 of every frame. This way, it restores everything that can be changed | 4581 of every frame. This way, it restores everything that can be changed |
5177 by calling `select-window'. It also saves and restores the current | 4582 by calling `select-window'. It also saves and restores the current |
5178 buffer. | 4583 buffer. |
5179 | 4584 |
5180 +++ | |
5181 *** `set-window-buffer' has an optional argument KEEP-MARGINS. | 4585 *** `set-window-buffer' has an optional argument KEEP-MARGINS. |
5182 | 4586 |
5183 If non-nil, that says to preserve the window's current margin, fringe, | 4587 If non-nil, that says to preserve the window's current margin, fringe, |
5184 and scroll-bar settings. | 4588 and scroll-bar settings. |
5185 | 4589 |
5186 +++ | |
5187 *** The new function `window-tree' returns a frame's window tree. | 4590 *** The new function `window-tree' returns a frame's window tree. |
5188 | 4591 |
5189 +++ | |
5190 *** The functions `get-lru-window' and `get-largest-window' take an optional | 4592 *** The functions `get-lru-window' and `get-largest-window' take an optional |
5191 argument `dedicated'. If non-nil, those functions do not ignore | 4593 argument `dedicated'. If non-nil, those functions do not ignore |
5192 dedicated windows. | 4594 dedicated windows. |
5193 | 4595 |
5194 +++ | |
5195 *** The new function `adjust-window-trailing-edge' moves the right | 4596 *** The new function `adjust-window-trailing-edge' moves the right |
5196 or bottom edge of a window. It does not move other window edges. | 4597 or bottom edge of a window. It does not move other window edges. |
5197 | 4598 |
5198 +++ | |
5199 ** Customizable fringe bitmaps | 4599 ** Customizable fringe bitmaps |
5200 | 4600 |
5201 *** New buffer-local variables `fringe-indicator-alist' and | 4601 *** New buffer-local variables `fringe-indicator-alist' and |
5202 `fringe-cursor-alist' maps between logical (internal) fringe indicator | 4602 `fringe-cursor-alist' maps between logical (internal) fringe indicator |
5203 and cursor symbols and the actual fringe bitmaps to be displayed. | 4603 and cursor symbols and the actual fringe bitmaps to be displayed. |
5229 *** New function `fringe-bitmaps-at-pos' returns the current fringe | 4629 *** New function `fringe-bitmaps-at-pos' returns the current fringe |
5230 bitmaps in the display line at a given buffer position. | 4630 bitmaps in the display line at a given buffer position. |
5231 | 4631 |
5232 ** Other window fringe features: | 4632 ** Other window fringe features: |
5233 | 4633 |
5234 +++ | |
5235 *** Controlling the default left and right fringe widths. | 4634 *** Controlling the default left and right fringe widths. |
5236 | 4635 |
5237 The default left and right fringe widths for all windows of a frame | 4636 The default left and right fringe widths for all windows of a frame |
5238 can now be controlled by setting the `left-fringe' and `right-fringe' | 4637 can now be controlled by setting the `left-fringe' and `right-fringe' |
5239 frame parameters to an integer value specifying the width in pixels. | 4638 frame parameters to an integer value specifying the width in pixels. |
5249 Setting the width to nil (the default), restores the default fringe | 4648 Setting the width to nil (the default), restores the default fringe |
5250 width which is the minimum number of pixels necessary to display any | 4649 width which is the minimum number of pixels necessary to display any |
5251 of the currently defined fringe bitmaps. The width of the built-in | 4650 of the currently defined fringe bitmaps. The width of the built-in |
5252 fringe bitmaps is 8 pixels. | 4651 fringe bitmaps is 8 pixels. |
5253 | 4652 |
5254 +++ | |
5255 *** Per-window fringe and scrollbar settings | 4653 *** Per-window fringe and scrollbar settings |
5256 | 4654 |
5257 **** Windows can now have their own individual fringe widths and | 4655 **** Windows can now have their own individual fringe widths and |
5258 position settings. | 4656 position settings. |
5259 | 4657 |
5283 the buffer in a window, or use `set-window-buffer' to force an update | 4681 the buffer in a window, or use `set-window-buffer' to force an update |
5284 of the display margins. | 4682 of the display margins. |
5285 | 4683 |
5286 ** Redisplay features: | 4684 ** Redisplay features: |
5287 | 4685 |
5288 +++ | |
5289 *** `sit-for' can now be called with args (SECONDS &optional NODISP). | 4686 *** `sit-for' can now be called with args (SECONDS &optional NODISP). |
5290 | 4687 |
5291 +++ | |
5292 *** Iconifying or deiconifying a frame no longer makes sit-for return. | 4688 *** Iconifying or deiconifying a frame no longer makes sit-for return. |
5293 | 4689 |
5294 +++ | |
5295 *** New function `redisplay' causes an immediate redisplay if no input is | 4690 *** New function `redisplay' causes an immediate redisplay if no input is |
5296 available, equivalent to (sit-for 0). The call (redisplay t) forces | 4691 available, equivalent to (sit-for 0). The call (redisplay t) forces |
5297 an immediate redisplay even if input is pending. | 4692 an immediate redisplay even if input is pending. |
5298 | 4693 |
5299 +++ | |
5300 *** New function `force-window-update' can initiate a full redisplay of | 4694 *** New function `force-window-update' can initiate a full redisplay of |
5301 one or all windows. Normally, this is not needed as changes in window | 4695 one or all windows. Normally, this is not needed as changes in window |
5302 contents are detected automatically. However, certain implicit | 4696 contents are detected automatically. However, certain implicit |
5303 changes to mode lines, header lines, or display properties may require | 4697 changes to mode lines, header lines, or display properties may require |
5304 forcing an explicit window update. | 4698 forcing an explicit window update. |
5305 | 4699 |
5306 +++ | |
5307 *** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able | 4700 *** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able |
5308 to display CHAR. More precisely, if the selected frame's fontset has | 4701 to display CHAR. More precisely, if the selected frame's fontset has |
5309 a font to display the character set that CHAR belongs to. | 4702 a font to display the character set that CHAR belongs to. |
5310 | 4703 |
5311 Fontsets can specify a font on a per-character basis; when the fontset | 4704 Fontsets can specify a font on a per-character basis; when the fontset |
5312 does that, this value cannot be accurate. | 4705 does that, this value cannot be accurate. |
5313 | 4706 |
5314 +++ | |
5315 *** You can define multiple overlay arrows via the new | 4707 *** You can define multiple overlay arrows via the new |
5316 variable `overlay-arrow-variable-list'. | 4708 variable `overlay-arrow-variable-list'. |
5317 | 4709 |
5318 It contains a list of variables which contain overlay arrow position | 4710 It contains a list of variables which contain overlay arrow position |
5319 markers, including the original `overlay-arrow-position' variable. | 4711 markers, including the original `overlay-arrow-position' variable. |
5323 string (for non-window terminals) or fringe bitmap (for window | 4715 string (for non-window terminals) or fringe bitmap (for window |
5324 systems) to display at the corresponding overlay arrow position. | 4716 systems) to display at the corresponding overlay arrow position. |
5325 If either property is not set, the default `overlay-arrow-string' or | 4717 If either property is not set, the default `overlay-arrow-string' or |
5326 'overlay-arrow-fringe-bitmap' will be used. | 4718 'overlay-arrow-fringe-bitmap' will be used. |
5327 | 4719 |
5328 +++ | |
5329 *** New `line-height' and `line-spacing' properties for newline characters | 4720 *** New `line-height' and `line-spacing' properties for newline characters |
5330 | 4721 |
5331 A newline can now have `line-height' and `line-spacing' text or overlay | 4722 A newline can now have `line-height' and `line-spacing' text or overlay |
5332 properties that control the height of the corresponding display row. | 4723 properties that control the height of the corresponding display row. |
5333 | 4724 |
5364 the `line-spacing' variable. | 4755 the `line-spacing' variable. |
5365 | 4756 |
5366 If the `line-spacing' property is a float or cons, the line spacing | 4757 If the `line-spacing' property is a float or cons, the line spacing |
5367 is calculated as specified above for the `line-height' property. | 4758 is calculated as specified above for the `line-height' property. |
5368 | 4759 |
5369 +++ | |
5370 *** The buffer local `line-spacing' variable can now have a float value, | 4760 *** The buffer local `line-spacing' variable can now have a float value, |
5371 which is used as a height relative to the default frame line height. | 4761 which is used as a height relative to the default frame line height. |
5372 | 4762 |
5373 +++ | |
5374 *** Enhancements to stretch display properties | 4763 *** Enhancements to stretch display properties |
5375 | 4764 |
5376 The display property stretch specification form `(space PROPS)', where | 4765 The display property stretch specification form `(space PROPS)', where |
5377 PROPS is a property list, now allows pixel based width and height | 4766 PROPS is a property list, now allows pixel based width and height |
5378 specifications, as well as enhanced horizontal text alignment. | 4767 specifications, as well as enhanced horizontal text alignment. |
5425 height) of the specified image. | 4814 height) of the specified image. |
5426 | 4815 |
5427 The form `(+ EXPR ...)' adds up the value of the expressions. | 4816 The form `(+ EXPR ...)' adds up the value of the expressions. |
5428 The form `(- EXPR ...)' negates or subtracts the value of the expressions. | 4817 The form `(- EXPR ...)' negates or subtracts the value of the expressions. |
5429 | 4818 |
5430 +++ | |
5431 *** Normally, the cursor is displayed at the end of any overlay and | 4819 *** Normally, the cursor is displayed at the end of any overlay and |
5432 text property string that may be present at the current window | 4820 text property string that may be present at the current window |
5433 position. The cursor can now be placed on any character of such | 4821 position. The cursor can now be placed on any character of such |
5434 strings by giving that character a non-nil `cursor' text property. | 4822 strings by giving that character a non-nil `cursor' text property. |
5435 | 4823 |
5436 +++ | |
5437 *** The display space :width and :align-to text properties are now | 4824 *** The display space :width and :align-to text properties are now |
5438 supported on text terminals. | 4825 supported on text terminals. |
5439 | 4826 |
5440 +++ | |
5441 *** Support for displaying image slices | 4827 *** Support for displaying image slices |
5442 | 4828 |
5443 **** New display property (slice X Y WIDTH HEIGHT) can be used with | 4829 **** New display property (slice X Y WIDTH HEIGHT) can be used with |
5444 an image property to display only a specific slice of the image. | 4830 an image property to display only a specific slice of the image. |
5445 | 4831 |
5447 specify image slice (X Y WIDTH HEIGHT). | 4833 specify image slice (X Y WIDTH HEIGHT). |
5448 | 4834 |
5449 **** New function `insert-sliced-image' inserts a given image as a | 4835 **** New function `insert-sliced-image' inserts a given image as a |
5450 specified number of evenly sized slices (rows x columns). | 4836 specified number of evenly sized slices (rows x columns). |
5451 | 4837 |
5452 +++ | |
5453 *** Images can now have an associated image map via the :map property. | 4838 *** Images can now have an associated image map via the :map property. |
5454 | 4839 |
5455 An image map is an alist where each element has the format (AREA ID PLIST). | 4840 An image map is an alist where each element has the format (AREA ID PLIST). |
5456 An AREA is specified as either a rectangle, a circle, or a polygon: | 4841 An AREA is specified as either a rectangle, a circle, or a polygon: |
5457 A rectangle is a cons (rect . ((X0 . Y0) . (X1 . Y1))) specifying the | 4842 A rectangle is a cons (rect . ((X0 . Y0) . (X1 . Y1))) specifying the |
5470 | 4855 |
5471 When you click the mouse when the mouse pointer is over a hot-spot, | 4856 When you click the mouse when the mouse pointer is over a hot-spot, |
5472 an event is composed by combining the ID of the hot-spot with the | 4857 an event is composed by combining the ID of the hot-spot with the |
5473 mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'. | 4858 mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'. |
5474 | 4859 |
5475 +++ | |
5476 *** The function `find-image' now searches in etc/images/ and etc/. | 4860 *** The function `find-image' now searches in etc/images/ and etc/. |
5477 The new variable `image-load-path' is a list of locations in which to | 4861 The new variable `image-load-path' is a list of locations in which to |
5478 search for image files. The default is to search in etc/images, then | 4862 search for image files. The default is to search in etc/images, then |
5479 in etc/, and finally in the directories specified by `load-path'. | 4863 in etc/, and finally in the directories specified by `load-path'. |
5480 Subdirectories of etc/ and etc/images are not recursively searched; if | 4864 Subdirectories of etc/ and etc/images are not recursively searched; if |
5484 (defimage foo-image '((:type xpm :file "foo/bar.xpm"))) | 4868 (defimage foo-image '((:type xpm :file "foo/bar.xpm"))) |
5485 | 4869 |
5486 Note that all images formerly located in the lisp directory have been | 4870 Note that all images formerly located in the lisp directory have been |
5487 moved to etc/images. | 4871 moved to etc/images. |
5488 | 4872 |
5489 +++ | |
5490 *** New function `image-load-path-for-library' returns a suitable | 4873 *** New function `image-load-path-for-library' returns a suitable |
5491 search path for images relative to library. This function is useful in | 4874 search path for images relative to library. This function is useful in |
5492 external packages to save users from having to update | 4875 external packages to save users from having to update |
5493 `image-load-path'. | 4876 `image-load-path'. |
5494 | 4877 |
5495 +++ | |
5496 *** The new variable `max-image-size' defines the maximum size of | 4878 *** The new variable `max-image-size' defines the maximum size of |
5497 images that Emacs will load and display. | 4879 images that Emacs will load and display. |
5498 | 4880 |
5499 +++ | |
5500 *** The new variable `display-mm-dimensions-alist' can be used to | 4881 *** The new variable `display-mm-dimensions-alist' can be used to |
5501 override incorrect graphical display dimensions returned by functions | 4882 override incorrect graphical display dimensions returned by functions |
5502 `display-mm-height' and `display-mm-width'. | 4883 `display-mm-height' and `display-mm-width'. |
5503 | 4884 |
5504 ** Mouse pointer features: | 4885 ** Mouse pointer features: |
5505 | 4886 |
5506 +++ (lispref) | |
5507 --- (man) | |
5508 *** The mouse pointer shape in void text areas (i.e. after the end of a | 4887 *** The mouse pointer shape in void text areas (i.e. after the end of a |
5509 line or below the last line in the buffer) of the text window is now | 4888 line or below the last line in the buffer) of the text window is now |
5510 controlled by the new variable `void-text-area-pointer'. The default | 4889 controlled by the new variable `void-text-area-pointer'. The default |
5511 is to use the `arrow' (non-text) pointer. Other choices are `text' | 4890 is to use the `arrow' (non-text) pointer. Other choices are `text' |
5512 (or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'. | 4891 (or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'. |
5513 | 4892 |
5514 +++ | |
5515 *** The mouse pointer shape over an image can now be controlled by the | 4893 *** The mouse pointer shape over an image can now be controlled by the |
5516 :pointer image property. | 4894 :pointer image property. |
5517 | 4895 |
5518 +++ | |
5519 *** The mouse pointer shape over ordinary text or images can now be | 4896 *** The mouse pointer shape over ordinary text or images can now be |
5520 controlled/overridden via the `pointer' text property. | 4897 controlled/overridden via the `pointer' text property. |
5521 | 4898 |
5522 ** Mouse event enhancements: | 4899 ** Mouse event enhancements: |
5523 | 4900 |
5524 +++ | |
5525 *** Mouse events for clicks on window fringes now specify `left-fringe' | 4901 *** Mouse events for clicks on window fringes now specify `left-fringe' |
5526 or `right-fringe' as the area. | 4902 or `right-fringe' as the area. |
5527 | 4903 |
5528 +++ | |
5529 *** All mouse events now include a buffer position regardless of where | 4904 *** All mouse events now include a buffer position regardless of where |
5530 you clicked. For mouse clicks in window margins and fringes, this is | 4905 you clicked. For mouse clicks in window margins and fringes, this is |
5531 a sensible buffer position corresponding to the surrounding text. | 4906 a sensible buffer position corresponding to the surrounding text. |
5532 | 4907 |
5533 +++ | |
5534 *** `posn-point' now returns buffer position for non-text area events. | 4908 *** `posn-point' now returns buffer position for non-text area events. |
5535 | 4909 |
5536 +++ | |
5537 *** Function `mouse-set-point' now works for events outside text area. | 4910 *** Function `mouse-set-point' now works for events outside text area. |
5538 | 4911 |
5539 +++ | |
5540 *** New function `posn-area' returns window area clicked on (nil means | 4912 *** New function `posn-area' returns window area clicked on (nil means |
5541 text area). | 4913 text area). |
5542 | 4914 |
5543 +++ | |
5544 *** Mouse events include actual glyph column and row for all event types | 4915 *** Mouse events include actual glyph column and row for all event types |
5545 and all areas. | 4916 and all areas. |
5546 | 4917 |
5547 +++ | |
5548 *** New function `posn-actual-col-row' returns the actual glyph coordinates | 4918 *** New function `posn-actual-col-row' returns the actual glyph coordinates |
5549 of the mouse event position. | 4919 of the mouse event position. |
5550 | 4920 |
5551 +++ | |
5552 *** Mouse events can now indicate an image object clicked on. | 4921 *** Mouse events can now indicate an image object clicked on. |
5553 | 4922 |
5554 +++ | |
5555 *** Mouse events include relative X and Y pixel coordinates relative to | 4923 *** Mouse events include relative X and Y pixel coordinates relative to |
5556 the top left corner of the object (image or character) clicked on. | 4924 the top left corner of the object (image or character) clicked on. |
5557 | 4925 |
5558 +++ | |
5559 *** Mouse events include the pixel width and height of the object | 4926 *** Mouse events include the pixel width and height of the object |
5560 (image or character) clicked on. | 4927 (image or character) clicked on. |
5561 | 4928 |
5562 +++ | |
5563 *** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. | 4929 *** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'. |
5564 | 4930 |
5565 These return the image or string object of a mouse click, the X and Y | 4931 These return the image or string object of a mouse click, the X and Y |
5566 pixel coordinates relative to the top left corner of that object, and | 4932 pixel coordinates relative to the top left corner of that object, and |
5567 the total width and height of that object. | 4933 the total width and height of that object. |
5568 | 4934 |
5569 ** Text property and overlay changes: | 4935 ** Text property and overlay changes: |
5570 | 4936 |
5571 +++ | |
5572 *** Arguments for `remove-overlays' are now optional, so that you can | 4937 *** Arguments for `remove-overlays' are now optional, so that you can |
5573 remove all overlays in the buffer with just (remove-overlays). | 4938 remove all overlays in the buffer with just (remove-overlays). |
5574 | 4939 |
5575 +++ | |
5576 *** New variable `char-property-alias-alist'. | 4940 *** New variable `char-property-alias-alist'. |
5577 | 4941 |
5578 This variable allows you to create alternative names for text | 4942 This variable allows you to create alternative names for text |
5579 properties. It works at the same level as `default-text-properties', | 4943 properties. It works at the same level as `default-text-properties', |
5580 although it applies to overlays as well. This variable was introduced | 4944 although it applies to overlays as well. This variable was introduced |
5581 to implement the `font-lock-face' property. | 4945 to implement the `font-lock-face' property. |
5582 | 4946 |
5583 +++ | |
5584 *** New function `get-char-property-and-overlay' accepts the same | 4947 *** New function `get-char-property-and-overlay' accepts the same |
5585 arguments as `get-char-property' and returns a cons whose car is the | 4948 arguments as `get-char-property' and returns a cons whose car is the |
5586 return value of `get-char-property' called with those arguments and | 4949 return value of `get-char-property' called with those arguments and |
5587 whose cdr is the overlay in which the property was found, or nil if | 4950 whose cdr is the overlay in which the property was found, or nil if |
5588 it was found as a text property or not found at all. | 4951 it was found as a text property or not found at all. |
5589 | 4952 |
5590 +++ | |
5591 *** The new function `remove-list-of-text-properties'. | 4953 *** The new function `remove-list-of-text-properties'. |
5592 | 4954 |
5593 It is like `remove-text-properties' except that it takes a list of | 4955 It is like `remove-text-properties' except that it takes a list of |
5594 property names as argument rather than a property list. | 4956 property names as argument rather than a property list. |
5595 | 4957 |
5596 ** Face changes | 4958 ** Face changes |
5597 | 4959 |
5598 +++ | |
5599 *** The variable `facemenu-unlisted-faces' has been removed. | 4960 *** The variable `facemenu-unlisted-faces' has been removed. |
5600 Emacs has a lot more faces than in the past, and nearly all of them | 4961 Emacs has a lot more faces than in the past, and nearly all of them |
5601 needed to be excluded. The new variable `facemenu-listed-faces' lists | 4962 needed to be excluded. The new variable `facemenu-listed-faces' lists |
5602 the faces to include in the face menu. | 4963 the faces to include in the face menu. |
5603 | 4964 |
5604 +++ | |
5605 *** The new face attribute condition `min-colors' can be used to tailor | 4965 *** The new face attribute condition `min-colors' can be used to tailor |
5606 the face color to the number of colors supported by a display, and | 4966 the face color to the number of colors supported by a display, and |
5607 define the foreground and background colors accordingly so that they | 4967 define the foreground and background colors accordingly so that they |
5608 look best on a terminal that supports at least this many colors. This | 4968 look best on a terminal that supports at least this many colors. This |
5609 is now the preferred method for defining default faces in a way that | 4969 is now the preferred method for defining default faces in a way that |
5610 makes a good use of the capabilities of the display. | 4970 makes a good use of the capabilities of the display. |
5611 | 4971 |
5612 +++ | |
5613 *** New function `display-supports-face-attributes-p' can be used to test | 4972 *** New function `display-supports-face-attributes-p' can be used to test |
5614 whether a given set of face attributes is actually displayable. | 4973 whether a given set of face attributes is actually displayable. |
5615 | 4974 |
5616 A new predicate `supports' has also been added to the `defface' face | 4975 A new predicate `supports' has also been added to the `defface' face |
5617 specification language, which can be used to do this test for faces | 4976 specification language, which can be used to do this test for faces |
5618 defined with `defface'. | 4977 defined with `defface'. |
5619 | 4978 |
5620 --- | |
5621 *** The special treatment of faces whose names are of the form `fg:COLOR' | 4979 *** The special treatment of faces whose names are of the form `fg:COLOR' |
5622 or `bg:COLOR' has been removed. Lisp programs should use the | 4980 or `bg:COLOR' has been removed. Lisp programs should use the |
5623 `defface' facility for defining faces with specific colors, or use | 4981 `defface' facility for defining faces with specific colors, or use |
5624 the feature of specifying the face attributes :foreground and :background | 4982 the feature of specifying the face attributes :foreground and :background |
5625 directly in the `face' property instead of using a named face. | 4983 directly in the `face' property instead of using a named face. |
5626 | 4984 |
5627 +++ | |
5628 *** The first face specification element in a defface can specify | 4985 *** The first face specification element in a defface can specify |
5629 `default' instead of frame classification. Then its attributes act as | 4986 `default' instead of frame classification. Then its attributes act as |
5630 defaults that apply to all the subsequent cases (and can be overridden | 4987 defaults that apply to all the subsequent cases (and can be overridden |
5631 by them). | 4988 by them). |
5632 | 4989 |
5633 +++ | |
5634 *** The variable `face-font-rescale-alist' specifies how much larger | 4990 *** The variable `face-font-rescale-alist' specifies how much larger |
5635 (or smaller) font we should use. For instance, if the value is | 4991 (or smaller) font we should use. For instance, if the value is |
5636 '((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10 | 4992 '((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10 |
5637 point, we actually use a font of 13 point if the font matches | 4993 point, we actually use a font of 13 point if the font matches |
5638 SOME-FONTNAME-PATTERN. | 4994 SOME-FONTNAME-PATTERN. |
5639 | 4995 |
5640 --- | |
5641 *** The function `face-differs-from-default-p' now truly checks | 4996 *** The function `face-differs-from-default-p' now truly checks |
5642 whether the given face displays differently from the default face or | 4997 whether the given face displays differently from the default face or |
5643 not (previously it did only a very cursory check). | 4998 not (previously it did only a very cursory check). |
5644 | 4999 |
5645 +++ | |
5646 *** `face-attribute', `face-foreground', `face-background', `face-stipple'. | 5000 *** `face-attribute', `face-foreground', `face-background', `face-stipple'. |
5647 | 5001 |
5648 These now accept a new optional argument, INHERIT, which controls how | 5002 These now accept a new optional argument, INHERIT, which controls how |
5649 face inheritance is used when determining the value of a face | 5003 face inheritance is used when determining the value of a face |
5650 attribute. | 5004 attribute. |
5651 | 5005 |
5652 +++ | |
5653 *** New functions `face-attribute-relative-p' and `merge-face-attribute' | 5006 *** New functions `face-attribute-relative-p' and `merge-face-attribute' |
5654 help with handling relative face attributes. | 5007 help with handling relative face attributes. |
5655 | 5008 |
5656 +++ | |
5657 *** The priority of faces in an :inherit attribute face list is reversed. | 5009 *** The priority of faces in an :inherit attribute face list is reversed. |
5658 | 5010 |
5659 If a face contains an :inherit attribute with a list of faces, earlier | 5011 If a face contains an :inherit attribute with a list of faces, earlier |
5660 faces in the list override later faces in the list; in previous | 5012 faces in the list override later faces in the list; in previous |
5661 releases of Emacs, the order was the opposite. This change was made | 5013 releases of Emacs, the order was the opposite. This change was made |
5662 so that :inherit face lists operate identically to face lists in text | 5014 so that :inherit face lists operate identically to face lists in text |
5663 `face' properties. | 5015 `face' properties. |
5664 | 5016 |
5665 --- | |
5666 *** On terminals, faces with the :inverse-video attribute are displayed | 5017 *** On terminals, faces with the :inverse-video attribute are displayed |
5667 with swapped foreground and background colors even when one of them is | 5018 with swapped foreground and background colors even when one of them is |
5668 not specified. In previous releases of Emacs, if either foreground | 5019 not specified. In previous releases of Emacs, if either foreground |
5669 or background color was unspecified, colors were not swapped. This | 5020 or background color was unspecified, colors were not swapped. This |
5670 was inconsistent with the face behavior under X. | 5021 was inconsistent with the face behavior under X. |
5671 | 5022 |
5672 --- | |
5673 *** `set-fontset-font', `fontset-info', `fontset-font' now operate on | 5023 *** `set-fontset-font', `fontset-info', `fontset-font' now operate on |
5674 the default fontset if the argument NAME is nil.. | 5024 the default fontset if the argument NAME is nil.. |
5675 | 5025 |
5676 ** Font-Lock changes: | 5026 ** Font-Lock changes: |
5677 | 5027 |
5678 +++ | |
5679 *** New special text property `font-lock-face'. | 5028 *** New special text property `font-lock-face'. |
5680 | 5029 |
5681 This property acts like the `face' property, but it is controlled by | 5030 This property acts like the `face' property, but it is controlled by |
5682 M-x font-lock-mode. It is not, strictly speaking, a builtin text | 5031 M-x font-lock-mode. It is not, strictly speaking, a builtin text |
5683 property. Instead, it is implemented inside font-core.el, using the | 5032 property. Instead, it is implemented inside font-core.el, using the |
5684 new variable `char-property-alias-alist'. | 5033 new variable `char-property-alias-alist'. |
5685 | 5034 |
5686 +++ | |
5687 *** font-lock can manage arbitrary text-properties beside `face'. | 5035 *** font-lock can manage arbitrary text-properties beside `face'. |
5688 | 5036 |
5689 **** the FACENAME returned in `font-lock-keywords' can be a list of the | 5037 **** the FACENAME returned in `font-lock-keywords' can be a list of the |
5690 form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other | 5038 form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other |
5691 properties than `face'. | 5039 properties than `face'. |
5692 | 5040 |
5693 **** `font-lock-extra-managed-props' can be set to make sure those | 5041 **** `font-lock-extra-managed-props' can be set to make sure those |
5694 extra properties are automatically cleaned up by font-lock. | 5042 extra properties are automatically cleaned up by font-lock. |
5695 | 5043 |
5696 --- | |
5697 *** jit-lock obeys a new text-property `jit-lock-defer-multiline'. | 5044 *** jit-lock obeys a new text-property `jit-lock-defer-multiline'. |
5698 | 5045 |
5699 If a piece of text with that property gets contextually refontified | 5046 If a piece of text with that property gets contextually refontified |
5700 (see `jit-lock-defer-contextually'), then all of that text will | 5047 (see `jit-lock-defer-contextually'), then all of that text will |
5701 be refontified. This is useful when the syntax of a textual element | 5048 be refontified. This is useful when the syntax of a textual element |
5718 up to whole lines, or to extend the region to include all related lines | 5065 up to whole lines, or to extend the region to include all related lines |
5719 of multiline constructs so that such constructs get properly recognized. | 5066 of multiline constructs so that such constructs get properly recognized. |
5720 | 5067 |
5721 ** Major mode mechanism changes: | 5068 ** Major mode mechanism changes: |
5722 | 5069 |
5723 +++ | |
5724 *** If new variable `auto-mode-case-fold' is set to a non-nil value, | 5070 *** If new variable `auto-mode-case-fold' is set to a non-nil value, |
5725 Emacs will perform a second case-insensitive search through | 5071 Emacs will perform a second case-insensitive search through |
5726 `auto-mode-alist' if the first case-sensitive search fails. | 5072 `auto-mode-alist' if the first case-sensitive search fails. This |
5727 This means that a file FILE.TXT is opened in text-mode, and a file PROG.PY | 5073 means that a file FILE.TXT is opened in text-mode, and a file |
5728 is opened in python-mode. Note however, that independent of this | 5074 PROG.HTML is opened in html-mode. Note however, that independent of |
5729 setting, *.C files are usually recognized as C++ files. | 5075 this setting, *.C files are usually recognized as C++ files. It also |
5730 It also has no effect on systems with case-insensitive file names. | 5076 has no effect on systems with case-insensitive file names. |
5731 | 5077 |
5732 +++ | |
5733 *** New variable `magic-mode-alist' determines major mode for a file by | 5078 *** New variable `magic-mode-alist' determines major mode for a file by |
5734 looking at the file contents. It takes precedence over `auto-mode-alist'. | 5079 looking at the file contents. It takes precedence over `auto-mode-alist'. |
5735 | 5080 |
5736 +++ | |
5737 *** An interpreter magic line (if present) takes precedence over the | 5081 *** An interpreter magic line (if present) takes precedence over the |
5738 file name when setting the major mode. | 5082 file name when setting the major mode. |
5739 | 5083 |
5740 +++ | |
5741 *** XML or SGML major mode is selected when file starts with an `<?xml' | 5084 *** XML or SGML major mode is selected when file starts with an `<?xml' |
5742 or `<!DOCTYPE' declaration. | 5085 or `<!DOCTYPE' declaration. |
5743 | 5086 |
5744 +++ | |
5745 *** Use the new function `run-mode-hooks' to run the major mode's mode hook. | 5087 *** Use the new function `run-mode-hooks' to run the major mode's mode hook. |
5746 | 5088 |
5747 +++ | |
5748 *** All major mode functions should now run the new normal hook | 5089 *** All major mode functions should now run the new normal hook |
5749 `after-change-major-mode-hook', at their very end, after the mode | 5090 `after-change-major-mode-hook', at their very end, after the mode |
5750 hooks. `run-mode-hooks' does this automatically. | 5091 hooks. `run-mode-hooks' does this automatically. |
5751 | 5092 |
5752 --- | |
5753 *** If a major mode function has a non-nil `no-clone-indirect' | 5093 *** If a major mode function has a non-nil `no-clone-indirect' |
5754 property, `clone-indirect-buffer' signals an error if you use | 5094 property, `clone-indirect-buffer' signals an error if you use |
5755 it in that buffer. | 5095 it in that buffer. |
5756 | 5096 |
5757 +++ | |
5758 *** Major modes can define `eldoc-documentation-function' | 5097 *** Major modes can define `eldoc-documentation-function' |
5759 locally to provide Eldoc functionality by some method appropriate to | 5098 locally to provide Eldoc functionality by some method appropriate to |
5760 the language. | 5099 the language. |
5761 | 5100 |
5762 +++ | |
5763 *** `define-derived-mode' by default creates a new empty abbrev table. | 5101 *** `define-derived-mode' by default creates a new empty abbrev table. |
5764 It does not copy abbrevs from the parent mode's abbrev table. | 5102 It does not copy abbrevs from the parent mode's abbrev table. |
5765 | 5103 |
5766 +++ | |
5767 *** The new function `run-mode-hooks' and the new macro `delay-mode-hooks' | 5104 *** The new function `run-mode-hooks' and the new macro `delay-mode-hooks' |
5768 are used by `define-derived-mode' to make sure the mode hook for the | 5105 are used by `define-derived-mode' to make sure the mode hook for the |
5769 parent mode is run at the end of the child mode. | 5106 parent mode is run at the end of the child mode. |
5770 | 5107 |
5771 ** Minor mode changes: | 5108 ** Minor mode changes: |
5772 | 5109 |
5773 +++ | |
5774 *** `define-minor-mode' now accepts arbitrary additional keyword arguments | 5110 *** `define-minor-mode' now accepts arbitrary additional keyword arguments |
5775 and simply passes them to `defcustom', if applicable. | 5111 and simply passes them to `defcustom', if applicable. |
5776 | 5112 |
5777 +++ | |
5778 *** `minor-mode-list' now holds a list of minor mode commands. | 5113 *** `minor-mode-list' now holds a list of minor mode commands. |
5779 | 5114 |
5780 +++ | 5115 *** `define-globalized-minor-mode'. |
5781 *** `define-global-minor-mode'. | |
5782 | 5116 |
5783 This is a new name for what was formerly called | 5117 This is a new name for what was formerly called |
5784 `easy-mmode-define-global-mode'. The old name remains as an alias. | 5118 `easy-mmode-define-global-mode'. The old name remains as an alias. |
5785 | 5119 |
5786 ** Command loop changes: | 5120 ** Command loop changes: |
5787 | 5121 |
5788 +++ | |
5789 *** The new function `called-interactively-p' does what many people | 5122 *** The new function `called-interactively-p' does what many people |
5790 have mistakenly believed `interactive-p' to do: it returns t if the | 5123 have mistakenly believed `interactive-p' to do: it returns t if the |
5791 calling function was called through `call-interactively'. | 5124 calling function was called through `call-interactively'. |
5792 | 5125 |
5793 Only use this when you cannot solve the problem by adding a new | 5126 Only use this when you cannot solve the problem by adding a new |
5794 INTERACTIVE argument to the command. | 5127 INTERACTIVE argument to the command. |
5795 | 5128 |
5796 +++ | |
5797 *** The function `commandp' takes an additional optional argument. | 5129 *** The function `commandp' takes an additional optional argument. |
5798 | 5130 |
5799 If it is non-nil, then `commandp' checks for a function that could be | 5131 If it is non-nil, then `commandp' checks for a function that could be |
5800 called with `call-interactively', and does not return t for keyboard | 5132 called with `call-interactively', and does not return t for keyboard |
5801 macros. | 5133 macros. |
5802 | 5134 |
5803 +++ | |
5804 *** When a command returns, the command loop moves point out from | 5135 *** When a command returns, the command loop moves point out from |
5805 within invisible text, in the same way it moves out from within text | 5136 within invisible text, in the same way it moves out from within text |
5806 covered by an image or composition property. | 5137 covered by an image or composition property. |
5807 | 5138 |
5808 This makes it generally unnecessary to mark invisible text as intangible. | 5139 This makes it generally unnecessary to mark invisible text as intangible. |
5809 This is particularly good because the intangible property often has | 5140 This is particularly good because the intangible property often has |
5810 unexpected side-effects since the property applies to everything | 5141 unexpected side-effects since the property applies to everything |
5811 (including `goto-char', ...) whereas this new code is only run after | 5142 (including `goto-char', ...) whereas this new code is only run after |
5812 `post-command-hook' and thus does not care about intermediate states. | 5143 `post-command-hook' and thus does not care about intermediate states. |
5813 | 5144 |
5814 +++ | |
5815 *** If a command sets `transient-mark-mode' to `only', that | 5145 *** If a command sets `transient-mark-mode' to `only', that |
5816 enables Transient Mark mode for the following command only. | 5146 enables Transient Mark mode for the following command only. |
5817 During that following command, the value of `transient-mark-mode' | 5147 During that following command, the value of `transient-mark-mode' |
5818 is `identity'. If it is still `identity' at the end of the command, | 5148 is `identity'. If it is still `identity' at the end of the command, |
5819 the next return to the command loop changes to nil. | 5149 the next return to the command loop changes to nil. |
5820 | 5150 |
5821 +++ | |
5822 *** Both the variable and the function `disabled-command-hook' have | 5151 *** Both the variable and the function `disabled-command-hook' have |
5823 been renamed to `disabled-command-function'. The variable | 5152 been renamed to `disabled-command-function'. The variable |
5824 `disabled-command-hook' has been kept as an obsolete alias. | 5153 `disabled-command-hook' has been kept as an obsolete alias. |
5825 | 5154 |
5826 +++ | |
5827 *** `emacsserver' now runs `pre-command-hook' and `post-command-hook' | 5155 *** `emacsserver' now runs `pre-command-hook' and `post-command-hook' |
5828 when it receives a request from emacsclient. | 5156 when it receives a request from emacsclient. |
5829 | 5157 |
5830 +++ | |
5831 *** `current-idle-time' reports how long Emacs has been idle. | 5158 *** `current-idle-time' reports how long Emacs has been idle. |
5832 | 5159 |
5833 ** Lisp file loading changes: | 5160 ** Lisp file loading changes: |
5834 | 5161 |
5835 +++ | |
5836 *** `load-history' can now have elements of the form (t . FUNNAME), | 5162 *** `load-history' can now have elements of the form (t . FUNNAME), |
5837 which means FUNNAME was previously defined as an autoload (before the | 5163 which means FUNNAME was previously defined as an autoload (before the |
5838 current file redefined it). | 5164 current file redefined it). |
5839 | 5165 |
5840 +++ | |
5841 *** `load-history' now records (defun . FUNNAME) when a function is | 5166 *** `load-history' now records (defun . FUNNAME) when a function is |
5842 defined. For a variable, it records just the variable name. | 5167 defined. For a variable, it records just the variable name. |
5843 | 5168 |
5844 +++ | |
5845 *** The function `symbol-file' can now search specifically for function, | 5169 *** The function `symbol-file' can now search specifically for function, |
5846 variable or face definitions. | 5170 variable or face definitions. |
5847 | 5171 |
5848 +++ | |
5849 *** `provide' and `featurep' now accept an optional second argument | 5172 *** `provide' and `featurep' now accept an optional second argument |
5850 to test/provide subfeatures. Also `provide' now checks `after-load-alist' | 5173 to test/provide subfeatures. Also `provide' now checks `after-load-alist' |
5851 and runs any code associated with the provided feature. | 5174 and runs any code associated with the provided feature. |
5852 | 5175 |
5853 --- | |
5854 *** The variable `recursive-load-depth-limit' has been deleted. | 5176 *** The variable `recursive-load-depth-limit' has been deleted. |
5855 Emacs now signals an error if the same file is loaded with more | 5177 Emacs now signals an error if the same file is loaded with more |
5856 than 3 levels of nesting. | 5178 than 3 levels of nesting. |
5857 | 5179 |
5858 +++ | |
5859 ** Byte compiler changes: | 5180 ** Byte compiler changes: |
5860 | 5181 |
5861 *** The byte compiler now displays the actual line and character | 5182 *** The byte compiler now displays the actual line and character |
5862 position of errors, where possible. Additionally, the form of its | 5183 position of errors, where possible. Additionally, the form of its |
5863 warning and error messages have been brought into line with GNU standards | 5184 warning and error messages have been brought into line with GNU standards |
5890 generally run in Emacs and vice versa, this optimization doesn't lose | 5211 generally run in Emacs and vice versa, this optimization doesn't lose |
5891 you anything. | 5212 you anything. |
5892 | 5213 |
5893 *** The local variable `no-byte-compile' in Lisp files is now obeyed. | 5214 *** The local variable `no-byte-compile' in Lisp files is now obeyed. |
5894 | 5215 |
5895 --- | |
5896 *** When a Lisp file uses CL functions at run-time, compiling the file | 5216 *** When a Lisp file uses CL functions at run-time, compiling the file |
5897 now issues warnings about these calls, unless the file performs | 5217 now issues warnings about these calls, unless the file performs |
5898 (require 'cl) when loaded. | 5218 (require 'cl) when loaded. |
5899 | 5219 |
5900 ** Frame operations: | 5220 ** Frame operations: |
5901 | 5221 |
5902 +++ | |
5903 *** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'. | 5222 *** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'. |
5904 | 5223 |
5905 These functions return the current locations of the vertical and | 5224 These functions return the current locations of the vertical and |
5906 horizontal scroll bars in a frame or window. | 5225 horizontal scroll bars in a frame or window. |
5907 | 5226 |
5908 +++ | |
5909 *** The new function `modify-all-frames-parameters' modifies parameters | 5227 *** The new function `modify-all-frames-parameters' modifies parameters |
5910 for all (existing and future) frames. | 5228 for all (existing and future) frames. |
5911 | 5229 |
5912 +++ | |
5913 *** The new frame parameter `tty-color-mode' specifies the mode to use | 5230 *** The new frame parameter `tty-color-mode' specifies the mode to use |
5914 for color support on character terminal frames. Its value can be a | 5231 for color support on character terminal frames. Its value can be a |
5915 number of colors to support, or a symbol. See the Emacs Lisp | 5232 number of colors to support, or a symbol. See the Emacs Lisp |
5916 Reference manual for more detailed documentation. | 5233 Reference manual for more detailed documentation. |
5917 | 5234 |
5918 +++ | |
5919 *** When using non-toolkit scroll bars with the default width, | 5235 *** When using non-toolkit scroll bars with the default width, |
5920 the `scroll-bar-width' frame parameter value is nil. | 5236 the `scroll-bar-width' frame parameter value is nil. |
5921 | 5237 |
5922 ** Mule changes: | 5238 ** Mule changes: |
5923 | 5239 |
5924 +++ | |
5925 *** Already true in Emacs 21.1, but not emphasized clearly enough: | 5240 *** Already true in Emacs 21.1, but not emphasized clearly enough: |
5926 | 5241 |
5927 Multibyte buffers can now faithfully record all 256 character codes | 5242 Multibyte buffers can now faithfully record all 256 character codes |
5928 from 0 to 255. As a result, most of the past reasons to use unibyte | 5243 from 0 to 255. As a result, most of the past reasons to use unibyte |
5929 buffers no longer exist. We only know of three reasons to use them | 5244 buffers no longer exist. We only know of three reasons to use them |
5935 the time it takes to convert the format. | 5250 the time it takes to convert the format. |
5936 | 5251 |
5937 3. For binary files where format conversion would be pointless and | 5252 3. For binary files where format conversion would be pointless and |
5938 wasteful. | 5253 wasteful. |
5939 | 5254 |
5940 --- | |
5941 *** `set-buffer-file-coding-system' now takes an additional argument, | 5255 *** `set-buffer-file-coding-system' now takes an additional argument, |
5942 NOMODIFY. If it is non-nil, it means don't mark the buffer modified. | 5256 NOMODIFY. If it is non-nil, it means don't mark the buffer modified. |
5943 | 5257 |
5944 +++ | |
5945 *** The new variable `auto-coding-functions' lets you specify functions | 5258 *** The new variable `auto-coding-functions' lets you specify functions |
5946 to examine a file being visited and deduce the proper coding system | 5259 to examine a file being visited and deduce the proper coding system |
5947 for it. (If the coding system is detected incorrectly for a specific | 5260 for it. (If the coding system is detected incorrectly for a specific |
5948 file, you can put a `coding:' tags to override it.) | 5261 file, you can put a `coding:' tags to override it.) |
5949 | 5262 |
5950 +++ | |
5951 *** The new variable `ascii-case-table' stores the case table for the | 5263 *** The new variable `ascii-case-table' stores the case table for the |
5952 ascii character set. Language environments (such as Turkish) may | 5264 ascii character set. Language environments (such as Turkish) may |
5953 alter the case correspondences of ASCII characters. This variable | 5265 alter the case correspondences of ASCII characters. This variable |
5954 saves the original ASCII case table before any such changes. | 5266 saves the original ASCII case table before any such changes. |
5955 | 5267 |
5956 --- | |
5957 *** The new function `merge-coding-systems' fills in unspecified aspects | 5268 *** The new function `merge-coding-systems' fills in unspecified aspects |
5958 of one coding system from another coding system. | 5269 of one coding system from another coding system. |
5959 | 5270 |
5960 --- | |
5961 *** New coding system property `mime-text-unsuitable' indicates that | 5271 *** New coding system property `mime-text-unsuitable' indicates that |
5962 the coding system's `mime-charset' is not suitable for MIME text | 5272 the coding system's `mime-charset' is not suitable for MIME text |
5963 parts, e.g. utf-16. | 5273 parts, e.g. utf-16. |
5964 | 5274 |
5965 +++ | |
5966 *** New function `decode-coding-inserted-region' decodes a region as if | 5275 *** New function `decode-coding-inserted-region' decodes a region as if |
5967 it is read from a file without decoding. | 5276 it is read from a file without decoding. |
5968 | 5277 |
5969 --- | |
5970 *** New CCL functions `lookup-character' and `lookup-integer' access | 5278 *** New CCL functions `lookup-character' and `lookup-integer' access |
5971 hash tables defined by the Lisp function `define-translation-hash-table'. | 5279 hash tables defined by the Lisp function `define-translation-hash-table'. |
5972 | 5280 |
5973 --- | |
5974 *** New function `quail-find-key' returns a list of keys to type in the | 5281 *** New function `quail-find-key' returns a list of keys to type in the |
5975 current input method to input a character. | 5282 current input method to input a character. |
5976 | 5283 |
5977 ** Mode line changes: | 5284 ** Mode line changes: |
5978 | 5285 |
5979 +++ | |
5980 *** New function `format-mode-line'. | 5286 *** New function `format-mode-line'. |
5981 | 5287 |
5982 This returns the mode line or header line of the selected (or a | 5288 This returns the mode line or header line of the selected (or a |
5983 specified) window as a string with or without text properties. | 5289 specified) window as a string with or without text properties. |
5984 | 5290 |
5985 +++ | |
5986 *** The new mode-line construct `(:propertize ELT PROPS...)' can be | 5291 *** The new mode-line construct `(:propertize ELT PROPS...)' can be |
5987 used to add text properties to mode-line elements. | 5292 used to add text properties to mode-line elements. |
5988 | 5293 |
5989 +++ | |
5990 *** The new `%i' and `%I' constructs for `mode-line-format' can be used | 5294 *** The new `%i' and `%I' constructs for `mode-line-format' can be used |
5991 to display the size of the accessible part of the buffer on the mode | 5295 to display the size of the accessible part of the buffer on the mode |
5992 line. | 5296 line. |
5993 | 5297 |
5994 +++ | |
5995 *** Mouse-face on mode-line (and header-line) is now supported. | 5298 *** Mouse-face on mode-line (and header-line) is now supported. |
5996 | 5299 |
5997 ** Menu manipulation changes: | 5300 ** Menu manipulation changes: |
5998 | 5301 |
5999 --- | |
6000 *** To manipulate the File menu using easy-menu, you must specify the | 5302 *** To manipulate the File menu using easy-menu, you must specify the |
6001 proper name "file". In previous Emacs versions, you had to specify | 5303 proper name "file". In previous Emacs versions, you had to specify |
6002 "files", even though the menu item itself was changed to say "File" | 5304 "files", even though the menu item itself was changed to say "File" |
6003 several versions ago. | 5305 several versions ago. |
6004 | 5306 |
6005 --- | |
6006 *** The dummy function keys made by easy-menu are now always lower case. | 5307 *** The dummy function keys made by easy-menu are now always lower case. |
6007 If you specify the menu item name "Ada", for instance, it uses `ada' | 5308 If you specify the menu item name "Ada", for instance, it uses `ada' |
6008 as the "key" bound by that key binding. | 5309 as the "key" bound by that key binding. |
6009 | 5310 |
6010 This is relevant only if Lisp code looks for the bindings that were | 5311 This is relevant only if Lisp code looks for the bindings that were |
6011 made with easy-menu. | 5312 made with easy-menu. |
6012 | 5313 |
6013 --- | |
6014 *** `easy-menu-define' now allows you to use nil for the symbol name | 5314 *** `easy-menu-define' now allows you to use nil for the symbol name |
6015 if you don't need to give the menu a name. If you install the menu | 5315 if you don't need to give the menu a name. If you install the menu |
6016 into other keymaps right away (MAPS is non-nil), it usually doesn't | 5316 into other keymaps right away (MAPS is non-nil), it usually doesn't |
6017 need to have a name. | 5317 need to have a name. |
6018 | 5318 |
6019 ** Operating system access: | 5319 ** Operating system access: |
6020 | 5320 |
6021 +++ | |
6022 *** The new primitive `get-internal-run-time' returns the processor | 5321 *** The new primitive `get-internal-run-time' returns the processor |
6023 run time used by Emacs since start-up. | 5322 run time used by Emacs since start-up. |
6024 | 5323 |
6025 +++ | |
6026 *** Functions `user-uid' and `user-real-uid' now return floats if the | 5324 *** Functions `user-uid' and `user-real-uid' now return floats if the |
6027 user UID doesn't fit in a Lisp integer. Function `user-full-name' | 5325 user UID doesn't fit in a Lisp integer. Function `user-full-name' |
6028 accepts a float as UID parameter. | 5326 accepts a float as UID parameter. |
6029 | 5327 |
6030 +++ | |
6031 *** New function `locale-info' accesses locale information. | 5328 *** New function `locale-info' accesses locale information. |
6032 | 5329 |
6033 --- | |
6034 *** On MS Windows, locale-coding-system is used to interact with the OS. | 5330 *** On MS Windows, locale-coding-system is used to interact with the OS. |
6035 The Windows specific variable w32-system-coding-system, which was | 5331 The Windows specific variable w32-system-coding-system, which was |
6036 formerly used for that purpose is now an alias for locale-coding-system. | 5332 formerly used for that purpose is now an alias for locale-coding-system. |
6037 | 5333 |
6038 --- | |
6039 *** New function `redirect-debugging-output' can be used to redirect | 5334 *** New function `redirect-debugging-output' can be used to redirect |
6040 debugging output on the stderr file handle to a file. | 5335 debugging output on the stderr file handle to a file. |
6041 | 5336 |
6042 ** Miscellaneous: | 5337 ** Miscellaneous: |
6043 | 5338 |
6044 +++ | |
6045 *** A number of hooks have been renamed to better follow the conventions: | 5339 *** A number of hooks have been renamed to better follow the conventions: |
6046 | 5340 |
6047 `find-file-hooks' to `find-file-hook', | 5341 `find-file-hooks' to `find-file-hook', |
6048 `find-file-not-found-hooks' to `find-file-not-found-functions', | 5342 `find-file-not-found-hooks' to `find-file-not-found-functions', |
6049 `write-file-hooks' to `write-file-functions', | 5343 `write-file-hooks' to `write-file-functions', |
6052 `x-sent-selection-hooks' to `x-sent-selection-functions', | 5346 `x-sent-selection-hooks' to `x-sent-selection-functions', |
6053 `delete-frame-hook' to `delete-frame-functions'. | 5347 `delete-frame-hook' to `delete-frame-functions'. |
6054 | 5348 |
6055 In each case the old name remains as an alias for the moment. | 5349 In each case the old name remains as an alias for the moment. |
6056 | 5350 |
6057 +++ | |
6058 *** Variable `local-write-file-hooks' is marked obsolete. | 5351 *** Variable `local-write-file-hooks' is marked obsolete. |
6059 | 5352 |
6060 Use the LOCAL arg of `add-hook'. | 5353 Use the LOCAL arg of `add-hook'. |
6061 | 5354 |
6062 --- | |
6063 *** New function `x-send-client-message' sends a client message when | 5355 *** New function `x-send-client-message' sends a client message when |
6064 running under X. | 5356 running under X. |
6065 | 5357 |
6066 ** GC changes: | 5358 ** GC changes: |
6067 | 5359 |
6068 +++ | |
6069 *** New variable `gc-cons-percentage' automatically grows the GC cons threshold | 5360 *** New variable `gc-cons-percentage' automatically grows the GC cons threshold |
6070 as the heap size increases. | 5361 as the heap size increases. |
6071 | 5362 |
6072 +++ | |
6073 *** New variables `gc-elapsed' and `gcs-done' provide extra information | 5363 *** New variables `gc-elapsed' and `gcs-done' provide extra information |
6074 on garbage collection. | 5364 on garbage collection. |
6075 | 5365 |
6076 +++ | |
6077 *** The normal hook `post-gc-hook' is run at the end of garbage collection. | 5366 *** The normal hook `post-gc-hook' is run at the end of garbage collection. |
6078 | 5367 |
6079 The hook is run with GC inhibited, so use it with care. | 5368 The hook is run with GC inhibited, so use it with care. |
6080 | 5369 |
6081 * New Packages for Lisp Programming in Emacs 22.1 | 5370 * New Packages for Lisp Programming in Emacs 22.1 |
6082 | 5371 |
6083 +++ | |
6084 ** The new library button.el implements simple and fast `clickable | 5372 ** The new library button.el implements simple and fast `clickable |
6085 buttons' in Emacs buffers. Buttons are much lighter-weight than the | 5373 buttons' in Emacs buffers. Buttons are much lighter-weight than the |
6086 `widgets' implemented by widget.el, and can be used by lisp code that | 5374 `widgets' implemented by widget.el, and can be used by lisp code that |
6087 doesn't require the full power of widgets. Emacs uses buttons for | 5375 doesn't require the full power of widgets. Emacs uses buttons for |
6088 such things as help and apropos buffers. | 5376 such things as help and apropos buffers. |
6089 | 5377 |
6090 --- | |
6091 ** The new library tree-widget.el provides a widget to display a set | 5378 ** The new library tree-widget.el provides a widget to display a set |
6092 of hierarchical data as an outline. For example, the tree-widget is | 5379 of hierarchical data as an outline. For example, the tree-widget is |
6093 well suited to display a hierarchy of directories and files. | 5380 well suited to display a hierarchy of directories and files. |
6094 | 5381 |
6095 +++ | |
6096 ** The new library bindat.el provides functions to unpack and pack | 5382 ** The new library bindat.el provides functions to unpack and pack |
6097 binary data structures, such as network packets, to and from Lisp | 5383 binary data structures, such as network packets, to and from Lisp |
6098 data structures. | 5384 data structures. |
6099 | 5385 |
6100 --- | |
6101 ** master-mode.el implements a minor mode for scrolling a slave | 5386 ** master-mode.el implements a minor mode for scrolling a slave |
6102 buffer without leaving your current buffer, the master buffer. | 5387 buffer without leaving your current buffer, the master buffer. |
6103 | 5388 |
6104 It can be used by sql.el, for example: the SQL buffer is the master | 5389 It can be used by sql.el, for example: the SQL buffer is the master |
6105 and its SQLi buffer is the slave. This allows you to scroll the SQLi | 5390 and its SQLi buffer is the slave. This allows you to scroll the SQLi |
6116 (master-set-slave sql-buffer)))) | 5401 (master-set-slave sql-buffer)))) |
6117 (add-hook 'sql-set-sqli-hook | 5402 (add-hook 'sql-set-sqli-hook |
6118 (function (lambda () | 5403 (function (lambda () |
6119 (master-set-slave sql-buffer)))) | 5404 (master-set-slave sql-buffer)))) |
6120 | 5405 |
6121 +++ | |
6122 ** The new library benchmark.el does timing measurements on Lisp code. | 5406 ** The new library benchmark.el does timing measurements on Lisp code. |
6123 | 5407 |
6124 This includes measuring garbage collection time. | 5408 This includes measuring garbage collection time. |
6125 | 5409 |
6126 +++ | |
6127 ** The new library testcover.el does test coverage checking. | 5410 ** The new library testcover.el does test coverage checking. |
6128 | 5411 |
6129 This is so you can tell whether you've tested all paths in your Lisp | 5412 This is so you can tell whether you've tested all paths in your Lisp |
6130 code. It works with edebug. | 5413 code. It works with edebug. |
6131 | 5414 |