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