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