aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChong Yidong2012-04-03 18:16:54 +0800
committerChong Yidong2012-04-03 18:16:54 +0800
commit7d301ae648e97a9b72d4f7f886871df78dbc7a8e (patch)
treeba917691cdfeb5256446d89ee081319bb00f4a5d
parent8ce1aea8f6c1c95e1ae1d1c8f1f40e9bfb45d43e (diff)
downloademacs-7d301ae648e97a9b72d4f7f886871df78dbc7a8e.tar.gz
emacs-7d301ae648e97a9b72d4f7f886871df78dbc7a8e.zip
Reorder and edit some NEWS entries.
-rw-r--r--etc/NEWS726
1 files changed, 370 insertions, 356 deletions
diff --git a/etc/NEWS b/etc/NEWS
index ed18a9531b4..78c2155719e 100644
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -56,23 +56,22 @@ found at build time. To prevent this, use the configure option
56`--without-xml2'. See below for libxml2 features. 56`--without-xml2'. See below for libxml2 features.
57 57
58--- 58---
59** There is a new configure option --with-wide-int. 59** By default, the installed Info and man pages are compressed.
60You can disable this by configuring --without-compress-info.
61
62---
63** New configure option --with-wide-int.
60With it, Emacs integers typically have 62 bits, even on 32-bit machines. 64With it, Emacs integers typically have 62 bits, even on 32-bit machines.
61On 32-bit hosts, this raises the limit on buffer sizes from about 512 MiB 65On 32-bit hosts, this raises the limit on buffer sizes from about 512 MiB
62to about 2 GiB. 66to about 2 GiB.
63 67
64--- 68---
65** By default, the installed Info and man pages are compressed. 69** New configure options: --with-mmdf, --with-mail-unlink, --with-mailhost.
66You can disable this by configuring --without-compress-info.
67
68---
69** There are new configure options:
70--with-mmdf, --with-mail-unlink, --with-mailhost.
71These provide no new functionality, they just remove the need to edit 70These provide no new functionality, they just remove the need to edit
72lib-src/Makefile by hand in order to use the associated features. 71lib-src/Makefile by hand in order to use the associated features.
73 72
74--- 73---
75** There is a new configure option --enable-use-lisp-union-type. 74** New configure option --enable-use-lisp-union-type.
76This is only useful for Emacs developers to debug certain types of bugs. 75This is only useful for Emacs developers to debug certain types of bugs.
77This is not a new feature; only the configure flag is new. 76This is not a new feature; only the configure flag is new.
78 77
@@ -101,12 +100,9 @@ Nextstep builds.)
101 100
102* Changes in Emacs 24.1 101* Changes in Emacs 24.1
103 102
104+++
105** auto-mode-case-fold is now enabled by default.
106
107** Completion 103** Completion
108 104
109*** shell-mode uses pcomplete rules, with the standard completion UI. 105*** Shell mode uses pcomplete rules, with the standard completion UI.
110+++ 106+++
111*** Many packages have been changed to use `completion-at-point' 107*** Many packages have been changed to use `completion-at-point'
112rather than their own completion code. 108rather than their own completion code.
@@ -116,7 +112,7 @@ rather than their own completion code.
116*** Completion in a non-minibuffer now tries to detect the end of completion 112*** Completion in a non-minibuffer now tries to detect the end of completion
117and pops down the *Completions* buffer accordingly. 113and pops down the *Completions* buffer accordingly.
118+++ 114+++
119*** Completion can cycle, depending on completion-cycle-threshold. 115*** Completion can cycle, depending on `completion-cycle-threshold'.
120+++ 116+++
121*** New completion style `substring'. 117*** New completion style `substring'.
122+++ 118+++
@@ -127,80 +123,29 @@ and pops down the *Completions* buffer accordingly.
127*** The `widget-complete-field' option has been removed. 123*** The `widget-complete-field' option has been removed.
128 124
129** Mail changes 125** Mail changes
130
131+++ 126+++
132*** The default of `send-mail-function' is now `sendmail-query-once', 127*** The first time you try sending mail, Emacs asks for a mail method.
133which asks the user (once) whether to use the smtpmail package to send 128This is implemented by a new default for `send-mail-function', which
134email, or to use the old defaults that rely on external mail 129is `sendmail-query-once'. This offers to use the smtpmail package, or
135facilities (`sendmail-send-it' on GNU/Linux and other Unix-like 130to use the old defaults relying on external mail facilities
136systems, and `mailclient-send-it' on Windows). 131(`sendmail-send-it' on GNU/Linux and other Unix-like systems, and
137 132`mailclient-send-it' on Windows).
138---
139*** `compose-mail' now accepts an optional 8th arg, RETURN-ACTION, and
140passes it to the mail user agent function. This argument specifies an
141action for returning to the caller after finishing with the mail.
142For example, this is used by Rmail to optionally delete a mail window.
143
144*** smtpmail
145
146+++
147**** smtpmail now uses encrypted connections (via STARTTLS) by default
148if the mail server supports them. This uses either built-in GnuTLS
149support, or the starttls.el library. Customize `smtpmail-stream-type'
150to change this.
151
152+++ 133+++
153**** The variable `smtpmail-auth-credentials' has been removed. 134*** Typing C-c m in the buffer made by M-x report-emacs-bug transfers
154By default, the information is now stored in the file ~/.authinfo. 135the report to your desktop's preferred mail client, if there is one.
155This was the default value of smtpmail-auth-credentials. 136This uses either the "xdg-email" utility, or Mac OS's "open" command.
156If you had customized smtpmail-auth-credentials to a list of user
157names and passwords, those settings will not be used. Your first
158connection to the smtp server will prompt for the user name and password,
159and then offer to save them to the ~/.authinfo file. Or you can
160manually copy the credentials to your ~/.authinfo files. For example,
161if you had
162
163 (setq smtpmail-auth-credentials
164 '(("mail.example.org" 25 "jim" "s!cret")))
165
166then the equivalent line in ~/.authinfo would be
167
168 machine mail.example.org port 25 login jim password s!cret
169
170See the auth-source manual for more information, e.g. on encrypting
171the credentials file.
172
173+++
174**** The variable `smtpmail-starttls-credentials' has been removed.
175
176If you had that set, then you need to put
177
178 machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert"
179
180in your ~/.authinfo file instead.
181
182*** Mail mode changes (this is the old Mail mode, not Message mode)
183+++
184**** New command `mail-add-attachment' for adding MIME attachments
185--- 137---
186**** The command `mail-attach-file' was renamed to `mail-insert-file'. 138*** See Changes in Specialized Modes and Packages for SMTPmail changes
187The old name is now an obsolete alias to the new name. 139and Mail mode changes
188
189+++
190*** You can type C-c m from M-x report-emacs-bug if you prefer, and if
191your system supports it, to transfer your report to your desktop's
192preferred mail client. This uses either the "xdg-email" utility, or
193OS X's "open" command.
194 140
195** Emacs server and client changes 141** Emacs server and client changes
196+++ 142+++
197*** New option `server-port' specifies the port on which the Emacs 143*** New option `server-port' specifies the port for TCP Emacs servers.
198server should listen.
199+++ 144+++
200*** New emacsclient argument -q/--quiet suppresses some status messages. 145*** New emacsclient argument -q/--quiet suppresses some status messages.
201+++ 146+++
202*** New emacsclient argument --frame-parameters can be used to set the 147*** New emacsclient argument --frame-parameters specifies the frame
203frame parameters of a newly-created graphical frame. 148parameters of any newly-created graphical frame.
204+++ 149+++
205*** If emacsclient shuts down as a result of Emacs signaling an 150*** If emacsclient shuts down as a result of Emacs signaling an
206error, its exit status is 1. 151error, its exit status is 1.
@@ -213,32 +158,25 @@ to the --parent-id argument to Emacs.
213 158
214+++ 159+++
215*** Emacs now supports display and editing of bidirectional text. 160*** Emacs now supports display and editing of bidirectional text.
216 161Right-to-left (RTL) scripts, such as Arabic, Farsi, and Hebrew, are
217Text that includes characters from right-to-left (RTL) scripts, such 162displayed in the correct visual order as expected by users of those
218as Arabic, Farsi, or Hebrew, is displayed in the correct visual order 163scripts. This display reordering is a "full bidirectionality" class
219as expected by users of those scripts. This display reordering is a 164implementation of the Unicode Bidirectional Algorithm. Buffers with
220"Full bidirectionality" class implementation of the Unicode 165no RTL text should look exactly the same as before.
221Bidirectional Algorithm. Buffers with no RTL text should look exactly
222the same as before.
223
224For more information, see the node "Bidirectional Editing" in the
225Emacs Manual.
226 166
227+++ 167+++
228**** New buffer-local variable `bidi-display-reordering'. 168**** New buffer-local variable `bidi-display-reordering'.
229To disable display reordering in any given buffer, change this to nil. 169To disable display reordering in a buffer, change this to nil.
230 170
231+++ 171+++
232**** New buffer-local variable `bidi-paragraph-direction'. 172**** New buffer-local variable `bidi-paragraph-direction'.
233If nil (the default), Emacs determines the base direction of each 173If nil (the default), Emacs determines the base direction of each
234paragraph from its text, as specified by the Unicode Bidirectional 174paragraph from its text, as specified by the Unicode Bidirectional
235Algorithm. 175Algorithm. Setting the value to `right-to-left' or `left-to-right'
176forces a base direction on each paragraph.
236 177
237Setting this to `right-to-left' or `left-to-right' forces a particular 178Paragraphs with right-to-left base direction are displayed starting at
238base direction on each paragraph in the buffer. 179the right window edge.
239
240Paragraphs whose base direction is right-to-left are displayed
241starting at the right margin of the window.
242 180
243+++ 181+++
244*** Enhanced support for characters with no glyphs in available fonts. 182*** Enhanced support for characters with no glyphs in available fonts.
@@ -253,80 +191,79 @@ On character terminals, these methods are used for characters that
253cannot be encoded by the `terminal-coding-system'. 191cannot be encoded by the `terminal-coding-system'.
254 192
255--- 193---
256*** New input methods for Farsi: farsi and farsi-translit; 194*** New input methods: farsi, farsi-translit, bulgarian-alt-phonetic.
257and for Bulgarian: bulgarian-alt-phonetic.
258 195
259+++ 196+++
260*** `nobreak-char-display' now also highlights Unicode hyphen chars 197*** `nobreak-char-display' now also highlights Unicode hyphen chars
261(U+2010 and U+2011). 198(U+2010 and U+2011).
262 199
263--- 200---
264*** New translation of the Emacs Tutorial in Hebrew is available. 201*** New Hebrew translation of the Emacs Tutorial.
265Type `C-u C-h t' to choose it in case your language setup doesn't 202Type `C-u C-h t' to choose it in case your language setup doesn't
266automatically select it. 203automatically select it.
267 204
268** Improved GTK integration 205** An Emacs Lisp package manager is now included.
269+++ 206This is a convenient way to download and install additional packages,
270*** GTK scroll-bars are now placed on the right by default. 207from a package repository at http://elpa.gnu.org.
271Use `set-scroll-bar-mode' to change this.
272+++ 208+++
273*** GTK tool bars can have just text, just images or images and text. 209*** M-x list-packages shows a list of packages, which can be
274Customize `tool-bar-style' to choose style. On a Gnome desktop, the default 210selected for installation.
275is taken from the desktop settings.
276---
277*** GTK tool bars can be placed on the left/right or top/bottom of the frame.
278The frame-parameter tool-bar-position controls this. It takes the values
279top, left, right or bottom. The Options => Show/Hide menu has entries
280for this.
281+++ 211+++
282*** The colors for selected text (the `region' face) are taken from 212*** New command `describe-package', bound to `C-h P'.
283the GTK theme when Emacs is built with GTK.
284+++ 213+++
285*** Emacs uses GTK tooltips by default if built with GTK. You can turn that 214*** By default, all installed packages are loaded automatically when
286off by customizing x-gtk-use-system-tooltips. 215Emacs starts up. To disable this, set `package-enable-at-startup' to
216nil. To specify the packages to load, customize `package-load-list'.
287 217
218** Custom Themes
288+++ 219+++
289** New basic faces `error', `warning', `success' are available to 220*** New command `M-x customize-themes', which provides a convenient
290highlight strings that indicate failure, caution or successful operation. 221interface for enabling and disabling Custom themes.
291
292---
293** Lucid menus and dialogs can display antialiased fonts if Emacs is built
294with Xft. To change font, use the X resource font, for example:
295Emacs.pane.menubar.font: Courier-12
296
297+++ 222+++
298** On graphical displays, the mode-line no longer ends in dashes. 223*** New option `custom-theme-load-path' is the load path for themes.
299Also, the first dash (which does not indicate anything) is just 224Emacs no longer looks for custom themes in `load-path'. The default
300displayed as a space. 225is to search in `custom-theme-directory', followed by a built-in theme
301 226directory named "themes/" in `data-directory'.
302+++ 227+++
303** Basic SELinux support has been added. 228*** New option `custom-safe-themes' records known-safe theme files.
304This requires Emacs to be linked with libselinux at build time. 229If a theme is not in this list, Emacs queries before loading it, and
230offers to save the theme to `custom-safe-themes' automatically. By
231default, all themes included in Emacs are treated as safe.
305 232
233** Improved GTK integration
306+++ 234+++
307*** Emacs preserves the SELinux file context when backing up, and 235*** GTK scroll-bars are now placed on the right by default.
308optionally when copying files. To this end, `copy-file' has an extra 236Use `set-scroll-bar-mode' to change this.
309optional argument, and the return value of `backup-buffer' now
310includes the SELinux context.
311
312+++ 237+++
313*** The new functions file-selinux-context and set-file-selinux-context 238*** GTK tool bars can have just text, just images or images and text.
314get and set the SELinux context of a file. 239Customize `tool-bar-style' to choose style. On a Gnome desktop, the
240default is taken from desktop settings.
241---
242*** GTK tool bars can be placed on the left/right or top/bottom of the frame.
243The frame-parameter tool-bar-position controls this. It takes the
244values top, left, right or bottom. The Options => Show/Hide menu has
245entries for this.
246+++
247*** The default colors for selected text (the `region' face) are taken
248from the GTK theme when Emacs is built with GTK.
249+++
250*** Emacs uses GTK tooltips by default if built with GTK.
251You can disable this by changing `x-gtk-use-system-tooltips' to nil.
315 252
316** Changes for exiting Emacs 253** Exiting changes
317+++ 254+++
318*** The function kill-emacs is now run upon receipt of the signals 255*** Emacs now calls `kill-emacs' if it receives SIGTERM or SIGHUP,
319SIGTERM and SIGHUP, and upon SIGINT in batch mode. 256and also if it receives a SIGINT signal in batch mode.
320+++ 257+++
321*** kill-emacs-hook is now also run in batch mode. 258*** `kill-emacs-hook' is now also run in batch mode.
322If you have code that adds something to kill-emacs-hook, you should 259Third-party code which adds to `kill-emacs-hook' should check if they
323consider if it is still appropriate to add it in the noninteractive case. 260do the right thing in batch mode.
324 261
325** Scrolling changes 262** Scrolling changes
326+++ 263+++
327*** New scrolling commands `scroll-up-command' and `scroll-down-command' 264*** New scrolling commands `scroll-up-command' and `scroll-down-command'
328(bound to C-v/[next] and M-v/[prior]) do not signal errors at top/bottom 265(bound to C-v/[next] and M-v/[prior]) do not signal errors at top/bottom
329of buffer at first key-press (instead move to top/bottom of buffer) 266of buffer at first key-press (instead they move to top/bottom of buffer)
330when `scroll-error-top-bottom' is non-nil. 267when `scroll-error-top-bottom' is non-nil.
331+++ 268+++
332*** New variable `scroll-error-top-bottom' (see above). 269*** New variable `scroll-error-top-bottom' (see above).
@@ -343,51 +280,33 @@ cursor motion commands or commands that move point (e.f., `M-g M-g').
343Previously, you needed to use `most-positive-fixnum' as the value of 280Previously, you needed to use `most-positive-fixnum' as the value of
344`scroll-conservatively' to achieve the same effect. 281`scroll-conservatively' to achieve the same effect.
345--- 282---
346*** ``Aggressive'' scrolling now honors the scroll margins. 283*** "Aggressive" scrolling now honors the scroll margins.
347If you customize `scroll-up-aggressively' or 284If you customize `scroll-up-aggressively' or
348`scroll-down-aggressively' and move point off the window, Emacs now 285`scroll-down-aggressively' and move point off the window, Emacs now
349scrolls the window so as to avoid positioning point inside the scroll 286scrolls the window so as to avoid positioning point inside the scroll
350margin. 287margin.
351 288
352** Trash changes
353+++
354*** `delete-by-moving-to-trash' now only affects commands that specify
355trashing. This avoids inadvertently trashing temporary files.
356+++ 289+++
357*** Calling `delete-file' or `delete-directory' with a prefix argument 290** Basic SELinux support has been added.
358now forces true deletion, regardless of `delete-by-moving-to-trash'. 291This requires Emacs to be linked with libselinux at build time.
359 292
360+++ 293+++
361** New option `list-colors-sort' defines the color sort order 294*** Emacs preserves the SELinux file context when backing up, and
362for `list-colors-display'. 295optionally when copying files. The function `copy-file' has an extra
296optional argument for preserving SELinux context, and the return value
297of `backup-buffer' now includes the SELinux context.
363 298
364** An Emacs Lisp package manager is now included.
365This is a convenient way to download and install additional packages,
366from a package repository at http://elpa.gnu.org.
367+++
368*** `M-x list-packages' shows a list of packages, which can be
369selected for installation.
370+++
371*** New command `describe-package', bound to `C-h P'.
372+++ 299+++
373*** By default, all installed packages are loaded and activated 300*** The new functions file-selinux-context and set-file-selinux-context
374automatically when Emacs starts up. To disable this, set 301get and set the SELinux context of a file.
375`package-enable-at-startup' to nil. To change which packages are
376loaded, customize `package-load-list'.
377 302
378** Custom Themes 303** Trash changes
379+++
380*** `M-x customize-themes' lists Custom themes which can be enabled.
381+++ 304+++
382*** New option `custom-theme-load-path' is the load path for themes. 305*** `delete-by-moving-to-trash' now only affects commands that specify
383Emacs no longer looks for custom themes in `load-path'. The default 306trashing. This avoids inadvertently trashing temporary files.
384is to search in `custom-theme-directory', followed by a built-in theme
385directory named "themes/" in `data-directory'.
386+++ 307+++
387*** New option `custom-safe-themes' records known-safe theme files. 308*** Calling `delete-file' or `delete-directory' with a prefix argument
388If a theme is not in this list, Emacs queries before loading it, and 309now forces true deletion, regardless of `delete-by-moving-to-trash'.
389offers to save the theme to `custom-safe-themes' automatically. By
390default, all themes included in Emacs are treated as safe.
391 310
392** File- and directory-local variable changes 311** File- and directory-local variable changes
393+++ 312+++
@@ -412,18 +331,30 @@ applies to ALL file local variables, not just -*- mode ones.
412The associated `inhibit-first-line-modes-suffixes' has been renamed 331The associated `inhibit-first-line-modes-suffixes' has been renamed
413in the corresponding way. 332in the corresponding way.
414 333
334** Graphical interface changes
415+++ 335+++
416** The variable `focus-follows-mouse' now always defaults to nil. 336*** On graphical displays, the mode-line no longer ends in dashes.
417 337Also, the first dash (which does not indicate anything) is just
418+++ 338displayed as a space.
419** New primitive `secure-hash' that supports many secure hash algorithms:
420md5, sha1, sha2, sha224, sha256, sha384, and sha512. The lisp library
421sha1.el has been removed. The `sha1' feature is provided by default.
422
423** Menu-bar changes
424--- 339---
425*** `menu-bar-select-buffer-function' lets you choose another operation 340*** `menu-bar-select-buffer-function' lets you choose another operation
426instead of `switch-to-buffer' when selecting an item in the Buffers menu. 341instead of `switch-to-buffer' when selecting an item in the Buffers menu.
342---
343*** Lucid menus and dialogs can display antialiased fonts if Emacs is
344built with Xft. These fonts can be set via X resources, for example:
345Emacs.pane.menubar.font: Courier-12
346
347+++
348** New basic faces `error', `warning', `success'.
349These are used to highlight text indicating failure, caution or
350successful operation.
351
352+++
353** New option `list-colors-sort' defines the color sort order
354for `list-colors-display'.
355
356+++
357** The variable `focus-follows-mouse' now always defaults to nil.
427 358
428** Window changes 359** Window changes
429 360
@@ -466,15 +397,22 @@ These maximize and minimize the size of a window within its frame.
466These functions allow to navigate through the live buffers that have 397These functions allow to navigate through the live buffers that have
467been shown in a specific window. 398been shown in a specific window.
468 399
400** Minibuffer changes
469+++ 401+++
470** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'. 402*** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'.
471This is handy for minibuffer-only frames, and is also used for the feature 403This is handy for minibuffer-only frames, and is also used for the feature
472where mouse-1 pops up *Messages*"', which can now easily be changed. 404where mouse-1 pops up *Messages*"', which can now easily be changed.
473 405
474--- 406---
475** Minibuffers set `truncate-lines' to nil. 407*** Minibuffers set `truncate-lines' to nil.
476If you want to change the value to something else, you could use 408If you want to change the value to something else, you could use
477for example minibuffer-setup-hook. 409for example `minibuffer-setup-hook'.
410
411+++
412** `auto-mode-case-fold' is now enabled by default.
413
414+++
415** `backup-by-copying-when-mismatch' now defaults to t.
478 416
479 417
480* Editing Changes in Emacs 24.1 418* Editing Changes in Emacs 24.1
@@ -499,9 +437,6 @@ superset of the old `count-lines-region', which is now an obsolete
499alias for it. 437alias for it.
500 438
501+++ 439+++
502** The default value of `backup-by-copying-when-mismatch' is now t.
503
504+++
505** The command `just-one-space' (M-SPC), if given a negative argument, 440** The command `just-one-space' (M-SPC), if given a negative argument,
506also deletes newlines around point. 441also deletes newlines around point.
507 442
@@ -518,17 +453,17 @@ The command `delete-char' does not obey `delete-active-region'.
518--- 453---
519*** `delete-backward-char' is now a Lisp function. 454*** `delete-backward-char' is now a Lisp function.
520Apart from obeying `delete-active-region', its behavior is unchanged. 455Apart from obeying `delete-active-region', its behavior is unchanged.
521However, the byte compiler now warns if it is called from Lisp; you 456However, the byte compiler now warns if it is called from Lisp; Lisp
522should use delete-char with a negative argument instead. 457callers should use delete-char with a negative argument instead.
523--- 458---
524*** The option `mouse-region-delete-keys' has been deleted. 459*** The option `mouse-region-delete-keys' has been deleted.
525 460
526** Selection changes. 461** Selection changes.
527 462
528The default handling of clipboard and primary selections was changed 463The default handling of clipboard and primary selections has been
529to conform with modern X applications. In short, most commands for 464changed to conform with modern X applications. In short, most
530killing and yanking text now use the clipboard, while mouse commands 465commands for killing and yanking text now use the clipboard, while
531use the primary selection. 466mouse commands use the primary selection.
532 467
533In the following, we provide a list of these changes, followed by a 468In the following, we provide a list of these changes, followed by a
534list of steps to get the old behavior back if you prefer that. 469list of steps to get the old behavior back if you prefer that.
@@ -589,7 +524,7 @@ the lines in the current rectangle. With a prefix argument, this
589prompts for a number to count from and for a format string. 524prompts for a number to count from and for a format string.
590 525
591+++ 526+++
592** The default value of redisplay-dont-pause is now t 527** `redisplay-dont-pause' now defaults to t.
593This makes Emacs feel more responsive to editing commands that arrive 528This makes Emacs feel more responsive to editing commands that arrive
594at high rate, e.g. if you lean on some key, because stopping redisplay 529at high rate, e.g. if you lean on some key, because stopping redisplay
595in the middle (when this variable is nil) forces more expensive 530in the middle (when this variable is nil) forces more expensive
@@ -611,8 +546,10 @@ region (or with the left margin if there is no previous line).
611** BibTeX mode 546** BibTeX mode
612--- 547---
613*** BibTeX mode now supports biblatex. 548*** BibTeX mode now supports biblatex.
614Use the variable bibtex-dialect to select different BibTeX dialects. 549Use the variable `bibtex-dialect' to select different BibTeX dialects.
615bibtex-entry-field-alist is now an obsolete alias forbibtex-BibTeX-entry-alist. 550`bibtex-entry-field-alist' is now an obsolete alias for
551`bibtex-BibTeX-entry-alist'.
552
616--- 553---
617*** New command `bibtex-search-entries' bound to C-c C-a. 554*** New command `bibtex-search-entries' bound to C-c C-a.
618--- 555---
@@ -620,10 +557,17 @@ bibtex-entry-field-alist is now an obsolete alias forbibtex-BibTeX-entry-alist.
620--- 557---
621*** New variable `bibtex-search-entry-globally'. 558*** New variable `bibtex-search-entry-globally'.
622 559
560** Browse-url
561+++
562*** New option `browse-url-mailto-function' specifies how to handle "mailto:"s.
563---
564*** The default browser used by the package is now the "xdg-open" program,
565on platforms that support it. This calls your desktop's preferred browser.
566
623** Calendar, Diary, and Appt 567** Calendar, Diary, and Appt
624 568
625+++ 569+++
626*** Diary entries can contain non-printing `comments'. 570*** Diary entries can contain non-printing "comments".
627See the variable `diary-comment-start'. 571See the variable `diary-comment-start'.
628 572
629+++ 573+++
@@ -643,8 +587,9 @@ If you are using a custom function for this, you should update it.
643may no longer be nil, but must all be strings. 587may no longer be nil, but must all be strings.
644 588
645--- 589---
646*** The obsolete (since Emacs 22.1) method of enabling the appt package 590*** The obsolete (since Emacs 22.1) method of enabling the appt
647by adding appt-make-list to diary-hook has been removed. Use appt-activate. 591package by adding `appt-make-list' to `diary-hook' has been removed.
592Use `appt-activate' instead.
648 593
649--- 594---
650*** Some appt variables (obsolete since Emacs 22.1) have been removed: 595*** Some appt variables (obsolete since Emacs 22.1) have been removed:
@@ -655,19 +600,10 @@ appt-visible/appt-msg-window (use the variable appt-display-format)
655*** Some diary function aliases (obsolete since Emacs 22.1) have been removed: 600*** Some diary function aliases (obsolete since Emacs 22.1) have been removed:
656view-diary-entries, list-diary-entries, show-all-diary-entries 601view-diary-entries, list-diary-entries, show-all-diary-entries
657 602
658** Browse-url
659
660+++
661*** New option `browse-url-mailto-function' specifies how to handle "mailto:"s.
662
663---
664*** The default browser used by the package is now the "xdg-open" program,
665on platforms that support it. This calls your desktop's preferred browser.
666
667+++ 603+++
668** CC Mode 604** CC Mode
669*** New feature to "guess" the style in an existing buffer. 605*** New feature to "guess" the style in an existing buffer.
670The main entry is M-x c-guess. 606The main entry point is M-x c-guess.
671 607
672*** Java Mode now supports Java 5.0 (Tiger) and 6 (Mustang). 608*** Java Mode now supports Java 5.0 (Tiger) and 6 (Mustang).
673 609
@@ -683,26 +619,26 @@ parsed as a statement continuation.
683 619
684** Compilation mode 620** Compilation mode
685--- 621---
686*** Compilation mode can be used without font-lock-mode. 622*** Compilation mode can be used without Font Lock mode.
687`compilation-parse-errors-function' is now obsolete. 623`compilation-parse-errors-function' is now obsolete.
688 624
689--- 625---
690*** New variable `compilation-filter-start', bound while 626*** New variable `compilation-filter-start', bound while
691compilation-filter-hook runs. It records the start position of the 627`compilation-filter-hook' runs. It records the start position of the
692text inserted by compilation-filter. 628text inserted by `compilation-filter'.
693 629
694--- 630---
695*** `compilation-error-screen-columns' and `compilation-first-column' 631*** `compilation-error-screen-columns' and `compilation-first-column'
696are obeyed in the editing buffer. So programming language modes can 632are obeyed in the editing buffer. So programming language modes can
697set them, whereas previously only the value in the *compilation* buffer 633set them, whereas previously only the value in the *Compilation*
698was used. 634buffer was used.
699 635
700** Customize 636** Customize
701 637
702+++ 638+++
703*** Customize buffers now contain a search field. 639*** Customize buffers now contain a search field.
704The search is performed using `customize-apropos'. 640The search is performed using `customize-apropos'.
705To turn off the search field, set custom-search-field to nil. 641To turn off the search field, set `custom-search-field' to nil.
706 642
707+++ 643+++
708*** Custom options now start out hidden if at their default values. 644*** Custom options now start out hidden if at their default values.
@@ -713,26 +649,28 @@ Use the arrow to the left of the option name to toggle visibility.
713 649
714+++ 650+++
715*** The color widget now has a "Choose" button, which allows you to 651*** The color widget now has a "Choose" button, which allows you to
716choose a color via list-colors-display. 652choose a color via `list-colors-display'.
717 653
718** D-Bus 654** D-Bus
719 655
720*** It is now possible to access buses other than the default system 656*** It is now possible to access buses other than the default system
721or session bus. 657or session bus.
722 658
723*** The dbus-register-method and dbus-register-property functions 659*** The `dbus-register-method' and `dbus-register-property' functions
724optionally do not register names. 660optionally do not register names.
725 661
726*** The new function dbus-register-service registers a known service name 662*** The new function `dbus-register-service' registers a known service
727on a D-Bus without simultaneously registering a property or a method. 663name on a D-Bus without simultaneously registering a property or a
664method.
728 665
729** Dired-x 666** Dired-x
730--- 667---
731*** dired-jump and dired-jump-other-window called with a prefix argument 668*** C-x C-j (`dired-jump') and C-x 4 C-j (`dired-jump-other-window'),
732read a file name from the minibuffer instead of using buffer-file-name. 669if called with a prefix argument, read a file name from the minibuffer
670instead of using the current buffer.
733 671
734+++ 672+++
735*** The `dired local variables' feature provided by Dired-x is obsolete. 673*** The "dired local variables" feature of Dired-x is obsolete.
736The standard directory local variables feature replaces it. 674The standard directory local variables feature replaces it.
737 675
738** ERC changes 676** ERC changes
@@ -768,7 +706,7 @@ Animation plays once, unless the option `image-animate-loop' is non-nil.
768** Info 706** Info
769 707
770+++ 708+++
771*** New command `info-display-manual' displays a named Info manual. 709*** New command M-x info-display-manual displays a named Info manual.
772If that manual is already visited in some Info buffer, it displays 710If that manual is already visited in some Info buffer, it displays
773that buffer. (This is handy if you have many manuals in many *info* 711that buffer. (This is handy if you have many manuals in many *info*
774buffers, and don't remember the name of the buffer visiting the manual 712buffers, and don't remember the name of the buffer visiting the manual
@@ -780,6 +718,14 @@ This is for compatibility with the stand-alone Info reader program,
780and also because `Info-edit' is a rarely used command that is disabled 718and also because `Info-edit' is a rarely used command that is disabled
781by default. 719by default.
782 720
721** Mail mode changes (not Message mode)
722+++
723*** New command M-x mail-add-attachment for adding MIME attachments
724---
725*** The command `mail-attach-file' was renamed to `mail-insert-file'
726(its name is misleading, since it has nothing to do with MIME
727attachments). The old name is now an obsolete alias to the new name.
728
783+++ 729+++
784** MH-E has been upgraded to MH-E version 8.3.1. 730** MH-E has been upgraded to MH-E version 8.3.1.
785See MH-E-NEWS for details. 731See MH-E-NEWS for details.
@@ -797,8 +743,8 @@ this performs tag completion.
797 743
798--- 744---
799** Prolog mode has been completely revamped, with lots of additional 745** Prolog mode has been completely revamped, with lots of additional
800functionality such as more intelligent indentation, electricity, support for 746functionality such as more intelligent indentation, electricity,
801more variants, including Mercury, and a lot more. 747support for more variants, including Mercury, and a lot more.
802 748
803** Rmail 749** Rmail
804 750
@@ -819,6 +765,44 @@ Try using `rmail-show-message-hook' instead.
819directory is a remote file name and neither the environment variable 765directory is a remote file name and neither the environment variable
820$ESHELL nor the variable `explicit-shell-file-name' is set. 766$ESHELL nor the variable `explicit-shell-file-name' is set.
821 767
768** SMTPmail
769
770+++
771*** smtpmail now uses encrypted connections (via STARTTLS) by default
772if the mail server supports them. This uses either built-in GnuTLS
773support, or the starttls.el library. Customize `smtpmail-stream-type'
774to change this.
775
776+++
777*** The variable `smtpmail-auth-credentials' has been removed.
778By default, the information is now stored in the file ~/.authinfo.
779This was the default value of smtpmail-auth-credentials.
780If you had customized smtpmail-auth-credentials to a list of user
781names and passwords, those settings will not be used. Your first
782connection to the smtp server will prompt for the user name and password,
783and then offer to save them to the ~/.authinfo file. Or you can
784manually copy the credentials to your ~/.authinfo files. For example,
785if you had
786
787 (setq smtpmail-auth-credentials
788 '(("mail.example.org" 25 "jim" "s!cret")))
789
790then the equivalent line in ~/.authinfo would be
791
792 machine mail.example.org port 25 login jim password s!cret
793
794See the auth-source manual for more information, e.g. on encrypting
795the credentials file.
796
797+++
798*** The variable `smtpmail-starttls-credentials' has been removed.
799
800If you had that set, then you need to put
801
802 machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert"
803
804in your ~/.authinfo file instead.
805
822--- 806---
823** SQL mode 807** SQL mode
824 808
@@ -873,7 +857,7 @@ sql-list-all and sql-list-table.
873 857
874** Tramp 858** Tramp
875--- 859---
876*** There exists a new inline access method "ksu" (kerberized su). 860*** New inline access method "ksu" (kerberized su).
877--- 861---
878*** The following access methods are discontinued: "ssh1_old", 862*** The following access methods are discontinued: "ssh1_old",
879"ssh2_old", "scp1_old", "scp2_old", "imap", "imaps" and "fish". 863"ssh2_old", "scp1_old", "scp2_old", "imap", "imaps" and "fish".
@@ -884,8 +868,8 @@ remote file attributes are cached for better performance.
884*** The option `ange-ftp-binary-file-name-regexp' has changed its 868*** The option `ange-ftp-binary-file-name-regexp' has changed its
885default value to "". 869default value to "".
886--- 870---
887*** Handlers for file-selinux-context and set-file-selinux-context for 871*** Handlers for `file-selinux-context' and `set-file-selinux-context'
888remote machines that support SELinux. 872for remote machines which support SELinux.
889 873
890+++ 874+++
891** New function, `url-queue-retrieve', which behaves like url-retrieve, 875** New function, `url-queue-retrieve', which behaves like url-retrieve,
@@ -896,20 +880,20 @@ the degree of parallelism.
896 880
897+++ 881+++
898*** Support for pulling on distributed version control systems. 882*** Support for pulling on distributed version control systems.
899`C-x v +' (`vc-pull') runs a "pull" operation, if it is supported 883The command C-x v + (`vc-pull') runs a "pull" operation, if it is
900(currently with Bzr, Git, and Mercurial), to update the current branch 884supported (currently with Bzr, Git, and Mercurial), to update the
901and working tree. A prefix argument means to prompt the user for 885current branch and working tree. A prefix argument means to prompt
902specifics, e.g. a pull location. 886the user for specifics, e.g. a pull location.
903 887
904--- 888---
905*** `vc-update' is now an alias for `vc-pull'. 889*** `vc-update' is now an alias for `vc-pull'.
906 890
907+++ 891+++
908*** Support for merging on distributed version control systems. 892*** Support for merging on distributed version control systems.
909The vc-merge command now runs a "merge" operation, if it is supported 893The command C-x v m (`vc-merge') now runs a "merge" operation, if it
910(currently with Bzr, Git, and Mercurial), to merge changes from 894is supported (currently with Bzr, Git, and Mercurial), to merge
911another branch into the current one. It prompts for specifics, e.g. a 895changes from another branch into the current one. It prompts for
912merge source. 896specifics, e.g. a merge source.
913 897
914+++ 898+++
915*** New option `vc-revert-show-diff' controls whether `vc-revert' 899*** New option `vc-revert-show-diff' controls whether `vc-revert'
@@ -920,7 +904,7 @@ shows a diff while querying the user. It defaults to t.
920longer description by typing RET (log-view-toggle-entry-display). 904longer description by typing RET (log-view-toggle-entry-display).
921This is currently supported for Bzr, Git, and Mercurial (to support 905This is currently supported for Bzr, Git, and Mercurial (to support
922another backend, define a `log-view-expanded-log-entry-function'). 906another backend, define a `log-view-expanded-log-entry-function').
923In the Log View buffers made by `C-x v L' (vc-print-root-log), you can 907In the Log View buffers made by C-x v L (`vc-print-root-log'), you can
924use this to display the full log entry for the revision at point. 908use this to display the full log entry for the revision at point.
925 909
926+++ 910+++
@@ -952,7 +936,6 @@ You can get a comparable behavior with:
952--- 936---
953*** pc-mode.el is obsolete (CUA mode is much more comprehensive). 937*** pc-mode.el is obsolete (CUA mode is much more comprehensive).
954 938
955[FIXME gnus.texi, message.texi need updating]
956*** pgg is obsolete (use EasyPG instead) 939*** pgg is obsolete (use EasyPG instead)
957 940
958--- 941---
@@ -1038,22 +1021,32 @@ soap-inspect.el is an interactive inspector for SOAP WSDL structures.
1038 1021
1039--- 1022---
1040** New emacs-lock.el package. 1023** New emacs-lock.el package.
1041(The previous version has been moved to obsolete/old-emacs-lock.el.) 1024The previous version has been moved to obsolete/old-emacs-lock.el.
1042Now, there is a proper minor mode `emacs-lock-mode'. 1025Now, there is a proper minor mode `emacs-lock-mode'. Protection
1043Protection against exiting Emacs and killing the buffer can be set 1026against exiting Emacs and killing the buffer can be set separately.
1044separately. The mechanism for automatically turning off protection 1027The mechanism for automatically turning off protection for buffers
1045for buffers with dead inferior processes has been generalized. 1028with dead inferior processes has been generalized.
1046 1029
1047 1030
1048* Incompatible Lisp Changes in Emacs 24.1 1031* Incompatible Lisp Changes in Emacs 24.1
1049 1032
1050+++ 1033+++
1034** Passing a nil argument to a minor mode function call now ENABLES
1035the minor mode unconditionally. This is so that you can write e.g.
1036
1037 (add-hook 'text-mode-hook 'foo-minor-mode)
1038
1039to enable foo-minor-mode in Text mode buffers, removing the need for
1040`turn-on-foo-minor-mode' style functions. This affects all mode
1041commands defined by `define-minor-mode'. If called interactively, the
1042mode command still toggles the minor mode.
1043
1044+++
1051** The return value of `backup-buffer' has changed. 1045** The return value of `backup-buffer' has changed.
1052It is now a list of three elements, where the second element is a list 1046It is now a list of three elements, where the second element is a list
1053describing the original file's SELinux context. If Emacs or the 1047describing the original file's SELinux context. If Emacs or the
1054system lacks SELinux support, the context list is (nil nil nil nil). 1048system lacks SELinux support, the context list is (nil nil nil nil).
1055See the "Basic SELinux support" entry under "Changes in Emacs 24.1", 1049See "Basic SELinux support" above, under "Changes in Emacs 24.1".
1056above.
1057 1050
1058--- 1051---
1059** `char-direction-table' and the associated function `char-direction' 1052** `char-direction-table' and the associated function `char-direction'
@@ -1075,19 +1068,19 @@ area, excluding any header line. Previously, it counted from the top
1075of the header line. 1068of the header line.
1076 1069
1077--- 1070---
1078** Support for "old-style" backquotes, which have been obsolete for 1071** Support for "old-style" backquotes, obsolete for 10+ years, has
1079more than 10 years, has been further reduced. Now a backquote not 1072been further reduced. Now a backquote not followed by a space is
1080followed by a space is always treated as a "new-style" backquote. 1073always treated as a "new-style" backquote. Please remove all
1081Please remove all "old-style" backquotes from your code. If your code 1074"old-style" backquotes from your code. If your code uses backquotes
1082uses backquotes as documented in the Elisp manual, and compiles 1075as documented in the Elisp manual, and compiles without warning, then
1083without warning, then you have nothing to do in this regard. Code not 1076you have nothing to do in this regard. Code not following the
1084following the appropriate conventions may fail to compile. 1077appropriate conventions may fail to compile.
1085 1078
1086The most common cause of trouble seems to be an old-style backquote 1079The most common cause of trouble seems to be an old-style backquote
1087followed by a newline. Another cause of trouble is vector notation 1080followed by a newline. Another cause of trouble is vector notation
1088for key sequence notation: instead of [(control ,)] and [(control ')], 1081for key sequence notation: instead of [(control ,)] and [(control ')],
1089you should write [(control ?,)] and [(control ?')], which will work in 1082you should write [(control ?,)] and [(control ?')], which will work in
1090older Emacs too. 1083older Emacsen too.
1091 1084
1092+++ 1085+++
1093** The macro `eval-at-startup' was removed in Emacs 23.2, but this 1086** The macro `eval-at-startup' was removed in Emacs 23.2, but this
@@ -1095,19 +1088,14 @@ was not advertised at the time. The function `custom-initialize-delay'
1095replaced all known uses. 1088replaced all known uses.
1096 1089
1097--- 1090---
1098** view-buffer now treats special mode-class in the same way that 1091** `view-buffer' now treats special mode-class in the same way that
1099view-file has since Emacs 22 (ie, it won't enable View mode if the 1092`view-file' has since Emacs 22 (i.e. it won't enable View mode if the
1100major-mode is special). 1093major mode is special).
1101 1094
1102+++ 1095** Menu and tool bar changes
1103** Passing a nil argument to a minor mode defined by define-minor-mode
1104now turns the mode ON unconditionally. This is so that you can write, e.g.
1105 (add-hook 'text-mode-hook 'foo-minor-mode)
1106to enable foo-minor-mode in Text mode buffers, thus removing the need
1107for `turn-on-foo-minor-mode' style functions.
1108 1096
1109+++ 1097+++
1110** During startup, Emacs no longer adds entries for `menu-bar-lines' 1098*** During startup, Emacs no longer adds entries for `menu-bar-lines'
1111and `tool-bar-lines' to `default-frame-alist' and `initial-frame-alist'. 1099and `tool-bar-lines' to `default-frame-alist' and `initial-frame-alist'.
1112With these alist entries omitted, `make-frame' checks the value of the 1100With these alist entries omitted, `make-frame' checks the value of the
1113variable `menu-bar-mode'/`tool-bar-mode' to determine whether to create 1101variable `menu-bar-mode'/`tool-bar-mode' to determine whether to create
@@ -1115,61 +1103,69 @@ a menu-bar or tool-bar, respectively. If the alist entries are added,
1115they override the value of `menu-bar-mode'/`tool-bar-mode'. 1103they override the value of `menu-bar-mode'/`tool-bar-mode'.
1116 1104
1117+++ 1105+++
1106*** The menu bar bindings's caches are not used any more.
1107Use (where-is-internal <def> nil t) instead.
1108
1109+++
1118** Regions created by mouse dragging are now normal active regions, 1110** Regions created by mouse dragging are now normal active regions,
1119similar to the ones created by shift-selection. In previous Emacs 1111similar to the ones created by shift-selection (see Selection changes
1120versions, these regions were delineated by `mouse-drag-overlay', which 1112above). In previous Emacs versions, these regions were delineated by
1121has now been removed. 1113`mouse-drag-overlay'; that variable has been removed.
1122 1114
1123+++ 1115+++
1124** The fourth argument of filter-buffer-substring, which says to remove 1116** The fourth argument of `filter-buffer-substring' has been removed.
1125text properties from the final result, has been removed. 1117If you want to remove text properties from the final result, simply
1126Eg simply pass the result through substring-no-properties if you need this. 1118pass the result through substring-no-properties.
1127 1119
1128--- 1120---
1129** cl.el no longer provides `cl-19'. 1121** cl.el no longer provides `cl-19'.
1130 1122
1131+++ 1123+++
1132** The menu bar bindings's caches are not used any more. 1124** The following obsolete functions and aliases have been removed
1133Use (where-is-internal <def> nil t) instead. 1125(the appropriate new function is given in parentheses; "not needed"
1134 1126means you can just remove all calls to the function in question):
1135+++ 1127
1136** The following obsolete (mostly since at least 21.1) functions and aliases 1128*** `comint-kill-output' (`comint-delete-output')
1137have been removed (the appropriate new function is given in parentheses; 1129*** `decompose-composite-char' (`char-to-string')
1138"not needed" means you can just remove all calls to the function in question): 1130*** `outline-visible' (`outline-invisible-p')
1139comint-kill-output (comint-delete-output), 1131*** `internal-find-face' (`facep')
1140decompose-composite-char (char-to-string), 1132*** `internal-get-face' (`facep and check-face')
1141outline-visible (outline-invisible-p), 1133*** `frame-update-faces' (not needed)
1142internal-find-face (facep), internal-get-face (facep and check-face), 1134*** `frame-update-face-colors' (`frame-set-background-mode')
1143frame-update-faces (not needed), 1135*** `x-frob-font-weight' and `x-frob-font-slant' (`make-face-*' functions)
1144frame-update-face-colors (frame-set-background-mode), 1136*** `x-make-font-bold and x-make-font-demibold (make-face-bold)
1145x-frob-font-weight and x-frob-font-slant (appropriate make-face-* function), 1137*** `x-make-font-italic' and `x-make-font-oblique' (`make-face-italic')
1146x-make-font-bold and x-make-font-demibold (make-face-bold), 1138*** `x-make-font-bold-italic' (`make-face-bold-italic')
1147x-make-font-italic and x-make-font-oblique (make-face-italic), 1139*** `x-make-font-unbold' (`make-face-unbold')
1148x-make-font-bold-italic (make-face-bold-italic), 1140*** `x-make-font-unitalic' (`make-face-unitalic')
1149x-make-font-unbold (make-face-unbold), 1141*** `mldrag-drag-mode-line' (`mouse-drag-mode-line')
1150x-make-font-unitalic (make-face-unitalic), 1142*** `mldrag-drag-vertical-line' (`mouse-drag-vertical-line')
1151mldrag-drag-mode-line (mouse-drag-mode-line), 1143*** `iswitchb-default-keybindings' (`iswitchb-mode')
1152mldrag-drag-vertical-line (mouse-drag-vertical-line), 1144*** `char-bytes' (== 1)
1153iswitchb-default-keybindings (iswitchb-mode), char-bytes (== 1), 1145*** `isearch-return-char' (`isearch-printing-char')
1154isearch-return-char (isearch-printing-char), make-local-hook (not needed), 1146*** `make-local-hook' (not needed)
1155set-screen-height (set-frame-height), set-screen-width (set-frame-width) 1147*** `set-screen-height' (`set-frame-height')
1156 1148*** `set-screen-width' (`set-frame-width')
1157 1149
1158+++ 1150+++
1159** The following obsolete (mostly since at least 21.1) variables and varaliases 1151** The following obsolete variables and varaliases have been removed
1160have been removed (the appropriate new variable is given in parentheses): 1152(the appropriate new variable is given in parentheses):
1161checkdoc-minor-keymap (checkdoc-minor-mode-map), 1153
1162vc-header-alist (vc-BACKEND-header), directory-sep-char (== ?/) 1154*** `checkdoc-minor-keymap' (`checkdoc-minor-mode-map')
1163font-lock-defaults-alist (font-lock-defaults), and e (float-e). 1155*** `vc-header-alist' (`vc-BACKEND-header')
1156*** `directory-sep-char' (== ?/)
1157*** `font-lock-defaults-alist' (`font-lock-defaults')
1158*** `e' (`float-e').
1164 1159
1165--- 1160---
1166** The following obsolete files were removed: 1161** The following obsolete files were removed:
1167sc.el, x-menu.el, rnews.el, rnewspost.el 1162sc.el, x-menu.el, rnews.el, rnewspost.el
1168 1163
1169--- 1164---
1170** The format of the finder-inf.el file has changed, since the finder 1165** The format of the finder-inf.el file has changed, since the Finder
1171mechanism is now based on the package concept. The variable 1166mechanism is now based on the package system. The variable
1172finder-package-info is replaced by package--builtins and finder-keywords-hash. 1167`finder-package-info' is replaced by `package--builtins' and
1168`finder-keywords-hash'.
1173 1169
1174--- 1170---
1175** When generating autoloads, `update-directory-autoloads' no longer 1171** When generating autoloads, `update-directory-autoloads' no longer
@@ -1205,19 +1201,18 @@ their code. See the ERT info manual for details.
1205 1201
1206+++ 1202+++
1207*** New function `current-bidi-paragraph-direction'. 1203*** New function `current-bidi-paragraph-direction'.
1208This returns the actual value of base direction of the paragraph at 1204This returns the base direction of the paragraph at point.
1209point.
1210 1205
1211+++ 1206+++
1212*** New function `bidi-string-mark-left-to-right'. 1207*** New function `bidi-string-mark-left-to-right'.
1213Given a string containing characters from right-to-left (RTL) scripts, 1208Given a string containing characters from right-to-left (RTL) scripts,
1214this function returns another string which can be safely inserted into 1209this function returns another string which can be safely inserted into
1215a buffer, such that any following text will be always displayed to the 1210a buffer, such that any following text will be always displayed to the
1216right of that string. (This works by appending the Unicode 1211right of that string. (This works by appending an invisible Unicode
1217"LEFT-TO-RIGHT MARK" character when the argument string might need that.) 1212"LEFT-TO-RIGHT MARK" character if the argument string might need it.)
1218 1213
1219This is useful when the buffer has overall left-to-right (LTR) 1214This is useful when the buffer has overall left-to-right paragraph
1220paragraph direction and you need to insert a string whose contents and 1215direction and you need to insert a string whose contents and
1221directionality are not known in advance, without disrupting the layout 1216directionality are not known in advance, without disrupting the layout
1222of the line. 1217of the line.
1223 1218
@@ -1320,15 +1315,15 @@ frame or window as an Elisp object.
1320 1315
1321** Completion 1316** Completion
1322 1317
1323*** New variable completion-extra-properties used to specify extra properties 1318*** New variable `completion-extra-properties' used to specify extra
1324of the current completion: 1319properties of the current completion:
1325- :annotate-function, same as the old completion-annotate-function. 1320- :annotate-function, same as the old completion-annotate-function.
1326- :exit-function, function to call after completion took place. 1321- :exit-function, function to call after completion took place.
1327 1322
1328*** Functions on completion-at-point-functions can return any of the properties 1323*** Functions on `completion-at-point-functions' can return any of the
1329valid for completion-extra-properties. 1324properties valid for `completion-extra-properties'.
1330 1325
1331*** completion-annotate-function is obsolete. 1326*** `completion-annotate-function' is obsolete.
1332 1327
1333*** New `metadata' method for completion tables. The metadata thus returned 1328*** New `metadata' method for completion tables. The metadata thus returned
1334can specify various details of the data returned by `all-completions': 1329can specify various details of the data returned by `all-completions':
@@ -1338,9 +1333,9 @@ can specify various details of the data returned by `all-completions':
1338- `display-sort-function' to specify how to sort entries in *Completions*. 1333- `display-sort-function' to specify how to sort entries in *Completions*.
1339- `cycle-sort-function' to specify how to sort entries when cycling. 1334- `cycle-sort-function' to specify how to sort entries when cycling.
1340 1335
1341*** minibuffer-local-filename-must-match-map is not used any more. 1336*** `minibuffer-local-filename-must-match-map' is not used any more.
1342Instead, the bindings in minibuffer-local-filename-completion-map are 1337Instead, the bindings in `minibuffer-local-filename-completion-map'
1343combined with minibuffer-local-must-match-map. 1338are combined with `minibuffer-local-must-match-map'.
1344 1339
1345*** New variable `completing-read-function' allows overriding the 1340*** New variable `completing-read-function' allows overriding the
1346behavior of `completing-read'. 1341behavior of `completing-read'.
@@ -1350,14 +1345,7 @@ behavior of `completing-read'.
1350text terminal display, via a char-table entry that is a cons cell. 1345text terminal display, via a char-table entry that is a cons cell.
1351 1346
1352+++ 1347+++
1353** `open-network-stream' can now be used to open an encrypted stream. 1348** `pre-command-hook'/`post-command-hook' are not reset to nil on error.
1354It now accepts an optional `:type' parameter for initiating a TLS
1355connection, directly or via STARTTLS. To do STARTTLS, additional
1356parameters (`:end-of-command', `:success', `:capabilities-command')
1357must also be supplied.
1358
1359+++
1360** pre/post-command-hook are not reset to nil upon error.
1361Instead, the offending function is removed. 1349Instead, the offending function is removed.
1362 1350
1363** New hook types 1351** New hook types
@@ -1399,8 +1387,8 @@ named Emacs server instances.
1399to redirect STDOUT to a file. 1387to redirect STDOUT to a file.
1400 1388
1401+++ 1389+++
1402** The function format-time-string now supports the %N directive, for 1390** The function `format-time-string' now supports the %N directive,
1403higher-resolution time stamps. 1391for higher-resolution time stamps.
1404 1392
1405** New input reading functions 1393** New input reading functions
1406+++ 1394+++
@@ -1434,7 +1422,7 @@ syntactic rules.
1434*** Syntax tables support a new "comment style c" additionally to style b. 1422*** Syntax tables support a new "comment style c" additionally to style b.
1435 1423
1436+++ 1424+++
1437** New hook post-self-insert-hook run at the end of self-insert-command. 1425** New hook `post-self-insert-hook', run after `self-insert-command'.
1438 1426
1439--- 1427---
1440** frame-local variables cannot be let-bound any more. 1428** frame-local variables cannot be let-bound any more.
@@ -1460,14 +1448,16 @@ major mode's hook, where FOO-mode toggles the mode on a per-buffer basis.
1460+++ 1448+++
1461*** `define-minor-mode' accepts new keywords :variable, :after-hook. 1449*** `define-minor-mode' accepts new keywords :variable, :after-hook.
1462 1450
1451** File-handling changes
1452
1463+++ 1453+++
1464** `delete-file' and `delete-directory' now accept optional arg TRASH. 1454*** `delete-file' and `delete-directory' now accept optional arg TRASH.
1465Trashing is performed if TRASH and `delete-by-moving-to-trash' are 1455Trashing is performed if TRASH and `delete-by-moving-to-trash' are
1466both non-nil. Interactively, TRASH defaults to t, unless a prefix 1456both non-nil. Interactively, TRASH defaults to t, unless a prefix
1467argument is supplied (see Trash changes, above). 1457argument is supplied (see Trash changes, above).
1468 1458
1469+++ 1459+++
1470** New file predicate functions: file-equal-p, file-in-directory-p. 1460*** New file predicates: `file-equal-p', `file-in-directory-p'.
1471 1461
1472+++ 1462+++
1473** Tool-bars can display separators. 1463** Tool-bars can display separators.
@@ -1496,18 +1486,29 @@ The old name is an obsolete alias to the new one.
1496+++ 1486+++
1497*** Image mode can view any image type that ImageMagick supports. 1487*** Image mode can view any image type that ImageMagick supports.
1498This requires Emacs to be built with ImageMagick support. 1488This requires Emacs to be built with ImageMagick support.
1499If your Emacs has ImageMagick support, then the function 1489
1500`imagemagick-types' is defined, and returns a list of image file 1490**** New function `imagemagick-types', defined if ImageMagick support
1501extensions that your installation of ImageMagick supports. The 1491is enabled, returns a list of image file extensions that your
1502function `imagemagick-register-types' enables ImageMagick support for 1492ImageMagick installation supports.
1503these image types, minus those listed in `imagemagick-types-inhibit'. 1493
1504Visiting one of these file types will then use Image mode. 1494**** New function `imagemagick-register-types' enables ImageMagick
1495image types in Image mode and in `create-image' and other helper
1496functions.
1497
1498**** New option `imagemagick-types-inhibit' excludes certain
1499ImageMagick image types from `imagemagick-register-types'.
1500
1501---
1502**** With ImageMagick support, there are extra Image mode commands to
1503resize and rotate images: `image-transform-fit-to-height',
1504`image-transform-fit-to-width', `image-transform-set-rotation', and
1505`image-transform-set-scale'.
1505 1506
1506--- 1507---
1507*** New commands to resize and rotate images in Image mode. 1508** `compose-mail' now accepts an optional 8th arg, RETURN-ACTION, and
1508These require Emacs to be built with ImageMagick support. 1509passes it to the mail user agent function. This argument specifies an
1509image-transform-fit-to-height, image-transform-fit-to-width, 1510action for returning to the caller after finishing with the mail. For
1510image-transform-set-rotation, image-transform-set-scale. 1511example, this is used by Rmail to optionally delete a mail window.
1511 1512
1512+++ 1513+++
1513** XML and HTML parsing 1514** XML and HTML parsing
@@ -1516,16 +1517,29 @@ functions: `libxml-parse-html-region' (which parses "real world" HTML)
1516and `libxml-parse-xml-region' (which parses XML). Both return an 1517and `libxml-parse-xml-region' (which parses XML). Both return an
1517Emacs Lisp parse tree. 1518Emacs Lisp parse tree.
1518 1519
1519** GnuTLS 1520** Networking and encryption changes
1520 1521
1521*** New library `gnutls.el'. 1522+++
1522This requires Emacs to have been built with GnuTLS support. 1523*** `open-network-stream' can now be used to open an encrypted stream.
1523If your Emacs has GnuTLS support, the function gnutls-available-p is 1524It now accepts an optional `:type' parameter for initiating a TLS
1524defined and returns non-nil. The main functions are `open-gnutls-stream' 1525connection, directly or via STARTTLS. To do STARTTLS, additional
1525and `gnutls-negotiate'. It's easiest to use these functions through 1526parameters (`:end-of-command', `:success', `:capabilities-command')
1526`open-network-stream' because it can upgrade connections through 1527must also be supplied.
1527STARTTLS opportunistically or use plain SSL, depending on your needs. 1528
1528For debugging, set `gnutls-log-level' greater than 0. 1529*** New library gnutls.el.
1530
1531If Emacs is built with GnuTLS support, the function
1532`gnutls-available-p' is defined and returns non-nil. The main entry
1533points are `open-gnutls-stream' and `gnutls-negotiate'. It's easiest
1534to use these functions through `open-network-stream', because that can
1535upgrade connections through STARTTLS opportunistically or use plain
1536SSL, depending on your needs. For debugging, set `gnutls-log-level'
1537greater than 0.
1538
1539+++
1540*** New primitive `secure-hash' that supports many secure hash algorithms:
1541md5, sha1, sha2, sha224, sha256, sha384, and sha512. The lisp library
1542sha1.el has been removed. The `sha1' feature is provided by default.
1529 1543
1530** Isearch 1544** Isearch
1531 1545
@@ -1547,10 +1561,10 @@ being reverted, even if the buffer has a local `revert-buffer-function'.
1547--- 1561---
1548** New variables `delayed-warnings-list' and `delayed-warnings-hook'. 1562** New variables `delayed-warnings-list' and `delayed-warnings-hook'.
1549If delayed-warnings-list is non-nil, the command loop calls 1563If delayed-warnings-list is non-nil, the command loop calls
1550delayed-warnings-hook after post-command-hook. At present, this is 1564`delayed-warnings-hook' after `post-command-hook'. At present, this
1551only used by Emacs on some platforms to display warnings during 1565is only used by Emacs on some platforms to display warnings during
1552startup, which might otherwise not be noticed. This uses the functions 1566startup, which might otherwise not be noticed. This uses the
1553display-delayed-warnings and collapse-delayed-warnings. 1567functions `display-delayed-warnings' and `collapse-delayed-warnings'.
1554 1568
1555--- 1569---
1556** rx.el has a new `group-n' construct for explicitly numbered groups. 1570** rx.el has a new `group-n' construct for explicitly numbered groups.
@@ -1574,7 +1588,7 @@ an empty uninterned symbol.
1574+++ 1588+++
1575** New math functions `isnan', `copysign', `frexp', `ldexp'. 1589** New math functions `isnan', `copysign', `frexp', `ldexp'.
1576 1590
1577** Obsolete functions and variables 1591** The following functions and variables are obsolete:
1578 1592
1579--- 1593---
1580*** `tooltip-use-echo-area' is obsolete. 1594*** `tooltip-use-echo-area' is obsolete.