From 7d301ae648e97a9b72d4f7f886871df78dbc7a8e Mon Sep 17 00:00:00 2001 From: Chong Yidong Date: Tue, 3 Apr 2012 18:16:54 +0800 Subject: [PATCH] Reorder and edit some NEWS entries. --- etc/NEWS | 726 ++++++++++++++++++++++++++++--------------------------- 1 file 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 `--without-xml2'. See below for libxml2 features. --- -** There is a new configure option --with-wide-int. +** By default, the installed Info and man pages are compressed. +You can disable this by configuring --without-compress-info. + +--- +** New configure option --with-wide-int. With it, Emacs integers typically have 62 bits, even on 32-bit machines. On 32-bit hosts, this raises the limit on buffer sizes from about 512 MiB to about 2 GiB. --- -** By default, the installed Info and man pages are compressed. -You can disable this by configuring --without-compress-info. - ---- -** There are new configure options: ---with-mmdf, --with-mail-unlink, --with-mailhost. +** New configure options: --with-mmdf, --with-mail-unlink, --with-mailhost. These provide no new functionality, they just remove the need to edit lib-src/Makefile by hand in order to use the associated features. --- -** There is a new configure option --enable-use-lisp-union-type. +** New configure option --enable-use-lisp-union-type. This is only useful for Emacs developers to debug certain types of bugs. This is not a new feature; only the configure flag is new. @@ -101,12 +100,9 @@ Nextstep builds.) * Changes in Emacs 24.1 -+++ -** auto-mode-case-fold is now enabled by default. - ** Completion -*** shell-mode uses pcomplete rules, with the standard completion UI. +*** Shell mode uses pcomplete rules, with the standard completion UI. +++ *** Many packages have been changed to use `completion-at-point' rather than their own completion code. @@ -116,7 +112,7 @@ rather than their own completion code. *** Completion in a non-minibuffer now tries to detect the end of completion and pops down the *Completions* buffer accordingly. +++ -*** Completion can cycle, depending on completion-cycle-threshold. +*** Completion can cycle, depending on `completion-cycle-threshold'. +++ *** New completion style `substring'. +++ @@ -127,80 +123,29 @@ and pops down the *Completions* buffer accordingly. *** The `widget-complete-field' option has been removed. ** Mail changes - +++ -*** The default of `send-mail-function' is now `sendmail-query-once', -which asks the user (once) whether to use the smtpmail package to send -email, or to use the old defaults that rely on external mail -facilities (`sendmail-send-it' on GNU/Linux and other Unix-like -systems, and `mailclient-send-it' on Windows). - ---- -*** `compose-mail' now accepts an optional 8th arg, RETURN-ACTION, and -passes it to the mail user agent function. This argument specifies an -action for returning to the caller after finishing with the mail. -For example, this is used by Rmail to optionally delete a mail window. - -*** smtpmail - -+++ -**** smtpmail now uses encrypted connections (via STARTTLS) by default -if the mail server supports them. This uses either built-in GnuTLS -support, or the starttls.el library. Customize `smtpmail-stream-type' -to change this. - +*** The first time you try sending mail, Emacs asks for a mail method. +This is implemented by a new default for `send-mail-function', which +is `sendmail-query-once'. This offers to use the smtpmail package, or +to use the old defaults relying on external mail facilities +(`sendmail-send-it' on GNU/Linux and other Unix-like systems, and +`mailclient-send-it' on Windows). +++ -**** The variable `smtpmail-auth-credentials' has been removed. -By default, the information is now stored in the file ~/.authinfo. -This was the default value of smtpmail-auth-credentials. -If you had customized smtpmail-auth-credentials to a list of user -names and passwords, those settings will not be used. Your first -connection to the smtp server will prompt for the user name and password, -and then offer to save them to the ~/.authinfo file. Or you can -manually copy the credentials to your ~/.authinfo files. For example, -if you had - - (setq smtpmail-auth-credentials - '(("mail.example.org" 25 "jim" "s!cret"))) - -then the equivalent line in ~/.authinfo would be - - machine mail.example.org port 25 login jim password s!cret - -See the auth-source manual for more information, e.g. on encrypting -the credentials file. - -+++ -**** The variable `smtpmail-starttls-credentials' has been removed. - -If you had that set, then you need to put - - machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert" - -in your ~/.authinfo file instead. - -*** Mail mode changes (this is the old Mail mode, not Message mode) -+++ -**** New command `mail-add-attachment' for adding MIME attachments +*** Typing C-c m in the buffer made by M-x report-emacs-bug transfers +the report to your desktop's preferred mail client, if there is one. +This uses either the "xdg-email" utility, or Mac OS's "open" command. --- -**** The command `mail-attach-file' was renamed to `mail-insert-file'. -The old name is now an obsolete alias to the new name. - -+++ -*** You can type C-c m from M-x report-emacs-bug if you prefer, and if -your system supports it, to transfer your report to your desktop's -preferred mail client. This uses either the "xdg-email" utility, or -OS X's "open" command. +*** See Changes in Specialized Modes and Packages for SMTPmail changes +and Mail mode changes ** Emacs server and client changes +++ -*** New option `server-port' specifies the port on which the Emacs -server should listen. +*** New option `server-port' specifies the port for TCP Emacs servers. +++ *** New emacsclient argument -q/--quiet suppresses some status messages. +++ -*** New emacsclient argument --frame-parameters can be used to set the -frame parameters of a newly-created graphical frame. +*** New emacsclient argument --frame-parameters specifies the frame +parameters of any newly-created graphical frame. +++ *** If emacsclient shuts down as a result of Emacs signaling an error, its exit status is 1. @@ -213,32 +158,25 @@ to the --parent-id argument to Emacs. +++ *** Emacs now supports display and editing of bidirectional text. - -Text that includes characters from right-to-left (RTL) scripts, such -as Arabic, Farsi, or Hebrew, is displayed in the correct visual order -as expected by users of those scripts. This display reordering is a -"Full bidirectionality" class implementation of the Unicode -Bidirectional Algorithm. Buffers with no RTL text should look exactly -the same as before. - -For more information, see the node "Bidirectional Editing" in the -Emacs Manual. +Right-to-left (RTL) scripts, such as Arabic, Farsi, and Hebrew, are +displayed in the correct visual order as expected by users of those +scripts. This display reordering is a "full bidirectionality" class +implementation of the Unicode Bidirectional Algorithm. Buffers with +no RTL text should look exactly the same as before. +++ **** New buffer-local variable `bidi-display-reordering'. -To disable display reordering in any given buffer, change this to nil. +To disable display reordering in a buffer, change this to nil. +++ **** New buffer-local variable `bidi-paragraph-direction'. If nil (the default), Emacs determines the base direction of each paragraph from its text, as specified by the Unicode Bidirectional -Algorithm. +Algorithm. Setting the value to `right-to-left' or `left-to-right' +forces a base direction on each paragraph. -Setting this to `right-to-left' or `left-to-right' forces a particular -base direction on each paragraph in the buffer. - -Paragraphs whose base direction is right-to-left are displayed -starting at the right margin of the window. +Paragraphs with right-to-left base direction are displayed starting at +the right window edge. +++ *** Enhanced support for characters with no glyphs in available fonts. @@ -253,80 +191,79 @@ On character terminals, these methods are used for characters that cannot be encoded by the `terminal-coding-system'. --- -*** New input methods for Farsi: farsi and farsi-translit; -and for Bulgarian: bulgarian-alt-phonetic. +*** New input methods: farsi, farsi-translit, bulgarian-alt-phonetic. +++ *** `nobreak-char-display' now also highlights Unicode hyphen chars (U+2010 and U+2011). --- -*** New translation of the Emacs Tutorial in Hebrew is available. +*** New Hebrew translation of the Emacs Tutorial. Type `C-u C-h t' to choose it in case your language setup doesn't automatically select it. -** Improved GTK integration -+++ -*** GTK scroll-bars are now placed on the right by default. -Use `set-scroll-bar-mode' to change this. +** An Emacs Lisp package manager is now included. +This is a convenient way to download and install additional packages, +from a package repository at http://elpa.gnu.org. +++ -*** GTK tool bars can have just text, just images or images and text. -Customize `tool-bar-style' to choose style. On a Gnome desktop, the default -is taken from the desktop settings. ---- -*** GTK tool bars can be placed on the left/right or top/bottom of the frame. -The frame-parameter tool-bar-position controls this. It takes the values -top, left, right or bottom. The Options => Show/Hide menu has entries -for this. +*** M-x list-packages shows a list of packages, which can be +selected for installation. +++ -*** The colors for selected text (the `region' face) are taken from -the GTK theme when Emacs is built with GTK. +*** New command `describe-package', bound to `C-h P'. +++ -*** Emacs uses GTK tooltips by default if built with GTK. You can turn that -off by customizing x-gtk-use-system-tooltips. +*** By default, all installed packages are loaded automatically when +Emacs starts up. To disable this, set `package-enable-at-startup' to +nil. To specify the packages to load, customize `package-load-list'. +** Custom Themes +++ -** New basic faces `error', `warning', `success' are available to -highlight strings that indicate failure, caution or successful operation. - ---- -** Lucid menus and dialogs can display antialiased fonts if Emacs is built -with Xft. To change font, use the X resource font, for example: -Emacs.pane.menubar.font: Courier-12 - +*** New command `M-x customize-themes', which provides a convenient +interface for enabling and disabling Custom themes. +++ -** On graphical displays, the mode-line no longer ends in dashes. -Also, the first dash (which does not indicate anything) is just -displayed as a space. - +*** New option `custom-theme-load-path' is the load path for themes. +Emacs no longer looks for custom themes in `load-path'. The default +is to search in `custom-theme-directory', followed by a built-in theme +directory named "themes/" in `data-directory'. +++ -** Basic SELinux support has been added. -This requires Emacs to be linked with libselinux at build time. +*** New option `custom-safe-themes' records known-safe theme files. +If a theme is not in this list, Emacs queries before loading it, and +offers to save the theme to `custom-safe-themes' automatically. By +default, all themes included in Emacs are treated as safe. +** Improved GTK integration +++ -*** Emacs preserves the SELinux file context when backing up, and -optionally when copying files. To this end, `copy-file' has an extra -optional argument, and the return value of `backup-buffer' now -includes the SELinux context. - +*** GTK scroll-bars are now placed on the right by default. +Use `set-scroll-bar-mode' to change this. +++ -*** The new functions file-selinux-context and set-file-selinux-context -get and set the SELinux context of a file. +*** GTK tool bars can have just text, just images or images and text. +Customize `tool-bar-style' to choose style. On a Gnome desktop, the +default is taken from desktop settings. +--- +*** GTK tool bars can be placed on the left/right or top/bottom of the frame. +The frame-parameter tool-bar-position controls this. It takes the +values top, left, right or bottom. The Options => Show/Hide menu has +entries for this. ++++ +*** The default colors for selected text (the `region' face) are taken +from the GTK theme when Emacs is built with GTK. ++++ +*** Emacs uses GTK tooltips by default if built with GTK. +You can disable this by changing `x-gtk-use-system-tooltips' to nil. -** Changes for exiting Emacs +** Exiting changes +++ -*** The function kill-emacs is now run upon receipt of the signals -SIGTERM and SIGHUP, and upon SIGINT in batch mode. +*** Emacs now calls `kill-emacs' if it receives SIGTERM or SIGHUP, +and also if it receives a SIGINT signal in batch mode. +++ -*** kill-emacs-hook is now also run in batch mode. -If you have code that adds something to kill-emacs-hook, you should -consider if it is still appropriate to add it in the noninteractive case. +*** `kill-emacs-hook' is now also run in batch mode. +Third-party code which adds to `kill-emacs-hook' should check if they +do the right thing in batch mode. ** Scrolling changes +++ *** New scrolling commands `scroll-up-command' and `scroll-down-command' (bound to C-v/[next] and M-v/[prior]) do not signal errors at top/bottom -of buffer at first key-press (instead move to top/bottom of buffer) +of buffer at first key-press (instead they move to top/bottom of buffer) when `scroll-error-top-bottom' is non-nil. +++ *** 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'). Previously, you needed to use `most-positive-fixnum' as the value of `scroll-conservatively' to achieve the same effect. --- -*** ``Aggressive'' scrolling now honors the scroll margins. +*** "Aggressive" scrolling now honors the scroll margins. If you customize `scroll-up-aggressively' or `scroll-down-aggressively' and move point off the window, Emacs now scrolls the window so as to avoid positioning point inside the scroll margin. -** Trash changes -+++ -*** `delete-by-moving-to-trash' now only affects commands that specify -trashing. This avoids inadvertently trashing temporary files. +++ -*** Calling `delete-file' or `delete-directory' with a prefix argument -now forces true deletion, regardless of `delete-by-moving-to-trash'. +** Basic SELinux support has been added. +This requires Emacs to be linked with libselinux at build time. +++ -** New option `list-colors-sort' defines the color sort order -for `list-colors-display'. +*** Emacs preserves the SELinux file context when backing up, and +optionally when copying files. The function `copy-file' has an extra +optional argument for preserving SELinux context, and the return value +of `backup-buffer' now includes the SELinux context. -** An Emacs Lisp package manager is now included. -This is a convenient way to download and install additional packages, -from a package repository at http://elpa.gnu.org. -+++ -*** `M-x list-packages' shows a list of packages, which can be -selected for installation. -+++ -*** New command `describe-package', bound to `C-h P'. +++ -*** By default, all installed packages are loaded and activated -automatically when Emacs starts up. To disable this, set -`package-enable-at-startup' to nil. To change which packages are -loaded, customize `package-load-list'. +*** The new functions file-selinux-context and set-file-selinux-context +get and set the SELinux context of a file. -** Custom Themes -+++ -*** `M-x customize-themes' lists Custom themes which can be enabled. +** Trash changes +++ -*** New option `custom-theme-load-path' is the load path for themes. -Emacs no longer looks for custom themes in `load-path'. The default -is to search in `custom-theme-directory', followed by a built-in theme -directory named "themes/" in `data-directory'. +*** `delete-by-moving-to-trash' now only affects commands that specify +trashing. This avoids inadvertently trashing temporary files. +++ -*** New option `custom-safe-themes' records known-safe theme files. -If a theme is not in this list, Emacs queries before loading it, and -offers to save the theme to `custom-safe-themes' automatically. By -default, all themes included in Emacs are treated as safe. +*** Calling `delete-file' or `delete-directory' with a prefix argument +now forces true deletion, regardless of `delete-by-moving-to-trash'. ** File- and directory-local variable changes +++ @@ -412,18 +331,30 @@ applies to ALL file local variables, not just -*- mode ones. The associated `inhibit-first-line-modes-suffixes' has been renamed in the corresponding way. +** Graphical interface changes +++ -** The variable `focus-follows-mouse' now always defaults to nil. - -+++ -** New primitive `secure-hash' that supports many secure hash algorithms: -md5, sha1, sha2, sha224, sha256, sha384, and sha512. The lisp library -sha1.el has been removed. The `sha1' feature is provided by default. - -** Menu-bar changes +*** On graphical displays, the mode-line no longer ends in dashes. +Also, the first dash (which does not indicate anything) is just +displayed as a space. --- *** `menu-bar-select-buffer-function' lets you choose another operation instead of `switch-to-buffer' when selecting an item in the Buffers menu. +--- +*** Lucid menus and dialogs can display antialiased fonts if Emacs is +built with Xft. These fonts can be set via X resources, for example: +Emacs.pane.menubar.font: Courier-12 + ++++ +** New basic faces `error', `warning', `success'. +These are used to highlight text indicating failure, caution or +successful operation. + ++++ +** New option `list-colors-sort' defines the color sort order +for `list-colors-display'. + ++++ +** The variable `focus-follows-mouse' now always defaults to nil. ** Window changes @@ -466,15 +397,22 @@ These maximize and minimize the size of a window within its frame. These functions allow to navigate through the live buffers that have been shown in a specific window. +** Minibuffer changes +++ -** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'. +*** The inactive minibuffer has its own major mode `minibuffer-inactive-mode'. This is handy for minibuffer-only frames, and is also used for the feature where mouse-1 pops up *Messages*"', which can now easily be changed. --- -** Minibuffers set `truncate-lines' to nil. +*** Minibuffers set `truncate-lines' to nil. If you want to change the value to something else, you could use -for example minibuffer-setup-hook. +for example `minibuffer-setup-hook'. + ++++ +** `auto-mode-case-fold' is now enabled by default. + ++++ +** `backup-by-copying-when-mismatch' now defaults to t. * Editing Changes in Emacs 24.1 @@ -498,9 +436,6 @@ the number of lines, words, and characters in the region. It is a superset of the old `count-lines-region', which is now an obsolete alias for it. -+++ -** The default value of `backup-by-copying-when-mismatch' is now t. - +++ ** The command `just-one-space' (M-SPC), if given a negative argument, also deletes newlines around point. @@ -518,17 +453,17 @@ The command `delete-char' does not obey `delete-active-region'. --- *** `delete-backward-char' is now a Lisp function. Apart from obeying `delete-active-region', its behavior is unchanged. -However, the byte compiler now warns if it is called from Lisp; you -should use delete-char with a negative argument instead. +However, the byte compiler now warns if it is called from Lisp; Lisp +callers should use delete-char with a negative argument instead. --- *** The option `mouse-region-delete-keys' has been deleted. ** Selection changes. -The default handling of clipboard and primary selections was changed -to conform with modern X applications. In short, most commands for -killing and yanking text now use the clipboard, while mouse commands -use the primary selection. +The default handling of clipboard and primary selections has been +changed to conform with modern X applications. In short, most +commands for killing and yanking text now use the clipboard, while +mouse commands use the primary selection. In the following, we provide a list of these changes, followed by a list 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 prompts for a number to count from and for a format string. +++ -** The default value of redisplay-dont-pause is now t +** `redisplay-dont-pause' now defaults to t. This makes Emacs feel more responsive to editing commands that arrive at high rate, e.g. if you lean on some key, because stopping redisplay in 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). ** BibTeX mode --- *** BibTeX mode now supports biblatex. -Use the variable bibtex-dialect to select different BibTeX dialects. -bibtex-entry-field-alist is now an obsolete alias forbibtex-BibTeX-entry-alist. +Use the variable `bibtex-dialect' to select different BibTeX dialects. +`bibtex-entry-field-alist' is now an obsolete alias for +`bibtex-BibTeX-entry-alist'. + --- *** New command `bibtex-search-entries' bound to C-c C-a. --- @@ -620,10 +557,17 @@ bibtex-entry-field-alist is now an obsolete alias forbibtex-BibTeX-entry-alist. --- *** New variable `bibtex-search-entry-globally'. +** Browse-url ++++ +*** New option `browse-url-mailto-function' specifies how to handle "mailto:"s. +--- +*** The default browser used by the package is now the "xdg-open" program, +on platforms that support it. This calls your desktop's preferred browser. + ** Calendar, Diary, and Appt +++ -*** Diary entries can contain non-printing `comments'. +*** Diary entries can contain non-printing "comments". See the variable `diary-comment-start'. +++ @@ -643,8 +587,9 @@ If you are using a custom function for this, you should update it. may no longer be nil, but must all be strings. --- -*** The obsolete (since Emacs 22.1) method of enabling the appt package -by adding appt-make-list to diary-hook has been removed. Use appt-activate. +*** The obsolete (since Emacs 22.1) method of enabling the appt +package by adding `appt-make-list' to `diary-hook' has been removed. +Use `appt-activate' instead. --- *** 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) *** Some diary function aliases (obsolete since Emacs 22.1) have been removed: view-diary-entries, list-diary-entries, show-all-diary-entries -** Browse-url - -+++ -*** New option `browse-url-mailto-function' specifies how to handle "mailto:"s. - ---- -*** The default browser used by the package is now the "xdg-open" program, -on platforms that support it. This calls your desktop's preferred browser. - +++ ** CC Mode *** New feature to "guess" the style in an existing buffer. -The main entry is M-x c-guess. +The main entry point is M-x c-guess. *** Java Mode now supports Java 5.0 (Tiger) and 6 (Mustang). @@ -683,26 +619,26 @@ parsed as a statement continuation. ** Compilation mode --- -*** Compilation mode can be used without font-lock-mode. +*** Compilation mode can be used without Font Lock mode. `compilation-parse-errors-function' is now obsolete. --- *** New variable `compilation-filter-start', bound while -compilation-filter-hook runs. It records the start position of the -text inserted by compilation-filter. +`compilation-filter-hook' runs. It records the start position of the +text inserted by `compilation-filter'. --- *** `compilation-error-screen-columns' and `compilation-first-column' are obeyed in the editing buffer. So programming language modes can -set them, whereas previously only the value in the *compilation* buffer -was used. +set them, whereas previously only the value in the *Compilation* +buffer was used. ** Customize +++ *** Customize buffers now contain a search field. The search is performed using `customize-apropos'. -To turn off the search field, set custom-search-field to nil. +To turn off the search field, set `custom-search-field' to nil. +++ *** 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. +++ *** The color widget now has a "Choose" button, which allows you to -choose a color via list-colors-display. +choose a color via `list-colors-display'. ** D-Bus *** It is now possible to access buses other than the default system or session bus. -*** The dbus-register-method and dbus-register-property functions +*** The `dbus-register-method' and `dbus-register-property' functions optionally do not register names. -*** The new function dbus-register-service registers a known service name -on a D-Bus without simultaneously registering a property or a method. +*** The new function `dbus-register-service' registers a known service +name on a D-Bus without simultaneously registering a property or a +method. ** Dired-x --- -*** dired-jump and dired-jump-other-window called with a prefix argument -read a file name from the minibuffer instead of using buffer-file-name. +*** C-x C-j (`dired-jump') and C-x 4 C-j (`dired-jump-other-window'), +if called with a prefix argument, read a file name from the minibuffer +instead of using the current buffer. +++ -*** The `dired local variables' feature provided by Dired-x is obsolete. +*** The "dired local variables" feature of Dired-x is obsolete. The standard directory local variables feature replaces it. ** ERC changes @@ -768,7 +706,7 @@ Animation plays once, unless the option `image-animate-loop' is non-nil. ** Info +++ -*** New command `info-display-manual' displays a named Info manual. +*** New command M-x info-display-manual displays a named Info manual. If that manual is already visited in some Info buffer, it displays that buffer. (This is handy if you have many manuals in many *info* buffers, 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, and also because `Info-edit' is a rarely used command that is disabled by default. +** Mail mode changes (not Message mode) ++++ +*** New command M-x mail-add-attachment for adding MIME attachments +--- +*** The command `mail-attach-file' was renamed to `mail-insert-file' +(its name is misleading, since it has nothing to do with MIME +attachments). The old name is now an obsolete alias to the new name. + +++ ** MH-E has been upgraded to MH-E version 8.3.1. See MH-E-NEWS for details. @@ -797,8 +743,8 @@ this performs tag completion. --- ** Prolog mode has been completely revamped, with lots of additional -functionality such as more intelligent indentation, electricity, support for -more variants, including Mercury, and a lot more. +functionality such as more intelligent indentation, electricity, +support for more variants, including Mercury, and a lot more. ** Rmail @@ -819,6 +765,44 @@ Try using `rmail-show-message-hook' instead. directory is a remote file name and neither the environment variable $ESHELL nor the variable `explicit-shell-file-name' is set. +** SMTPmail + ++++ +*** smtpmail now uses encrypted connections (via STARTTLS) by default +if the mail server supports them. This uses either built-in GnuTLS +support, or the starttls.el library. Customize `smtpmail-stream-type' +to change this. + ++++ +*** The variable `smtpmail-auth-credentials' has been removed. +By default, the information is now stored in the file ~/.authinfo. +This was the default value of smtpmail-auth-credentials. +If you had customized smtpmail-auth-credentials to a list of user +names and passwords, those settings will not be used. Your first +connection to the smtp server will prompt for the user name and password, +and then offer to save them to the ~/.authinfo file. Or you can +manually copy the credentials to your ~/.authinfo files. For example, +if you had + + (setq smtpmail-auth-credentials + '(("mail.example.org" 25 "jim" "s!cret"))) + +then the equivalent line in ~/.authinfo would be + + machine mail.example.org port 25 login jim password s!cret + +See the auth-source manual for more information, e.g. on encrypting +the credentials file. + ++++ +*** The variable `smtpmail-starttls-credentials' has been removed. + +If you had that set, then you need to put + + machine smtp.whatever.foo port 25 key "~/.my_smtp_tls.key" cert "~/.my_smtp_tls.cert" + +in your ~/.authinfo file instead. + --- ** SQL mode @@ -873,7 +857,7 @@ sql-list-all and sql-list-table. ** Tramp --- -*** There exists a new inline access method "ksu" (kerberized su). +*** New inline access method "ksu" (kerberized su). --- *** The following access methods are discontinued: "ssh1_old", "ssh2_old", "scp1_old", "scp2_old", "imap", "imaps" and "fish". @@ -884,8 +868,8 @@ remote file attributes are cached for better performance. *** The option `ange-ftp-binary-file-name-regexp' has changed its default value to "". --- -*** Handlers for file-selinux-context and set-file-selinux-context for -remote machines that support SELinux. +*** Handlers for `file-selinux-context' and `set-file-selinux-context' +for remote machines which support SELinux. +++ ** New function, `url-queue-retrieve', which behaves like url-retrieve, @@ -896,20 +880,20 @@ the degree of parallelism. +++ *** Support for pulling on distributed version control systems. -`C-x v +' (`vc-pull') runs a "pull" operation, if it is supported -(currently with Bzr, Git, and Mercurial), to update the current branch -and working tree. A prefix argument means to prompt the user for -specifics, e.g. a pull location. +The command C-x v + (`vc-pull') runs a "pull" operation, if it is +supported (currently with Bzr, Git, and Mercurial), to update the +current branch and working tree. A prefix argument means to prompt +the user for specifics, e.g. a pull location. --- *** `vc-update' is now an alias for `vc-pull'. +++ *** Support for merging on distributed version control systems. -The vc-merge command now runs a "merge" operation, if it is supported -(currently with Bzr, Git, and Mercurial), to merge changes from -another branch into the current one. It prompts for specifics, e.g. a -merge source. +The command C-x v m (`vc-merge') now runs a "merge" operation, if it +is supported (currently with Bzr, Git, and Mercurial), to merge +changes from another branch into the current one. It prompts for +specifics, e.g. a merge source. +++ *** 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. longer description by typing RET (log-view-toggle-entry-display). This is currently supported for Bzr, Git, and Mercurial (to support another backend, define a `log-view-expanded-log-entry-function'). -In the Log View buffers made by `C-x v L' (vc-print-root-log), you can +In the Log View buffers made by C-x v L (`vc-print-root-log'), you can use this to display the full log entry for the revision at point. +++ @@ -952,7 +936,6 @@ You can get a comparable behavior with: --- *** pc-mode.el is obsolete (CUA mode is much more comprehensive). -[FIXME gnus.texi, message.texi need updating] *** pgg is obsolete (use EasyPG instead) --- @@ -1038,22 +1021,32 @@ soap-inspect.el is an interactive inspector for SOAP WSDL structures. --- ** New emacs-lock.el package. -(The previous version has been moved to obsolete/old-emacs-lock.el.) -Now, there is a proper minor mode `emacs-lock-mode'. -Protection against exiting Emacs and killing the buffer can be set -separately. The mechanism for automatically turning off protection -for buffers with dead inferior processes has been generalized. +The previous version has been moved to obsolete/old-emacs-lock.el. +Now, there is a proper minor mode `emacs-lock-mode'. Protection +against exiting Emacs and killing the buffer can be set separately. +The mechanism for automatically turning off protection for buffers +with dead inferior processes has been generalized. * Incompatible Lisp Changes in Emacs 24.1 ++++ +** Passing a nil argument to a minor mode function call now ENABLES +the minor mode unconditionally. This is so that you can write e.g. + + (add-hook 'text-mode-hook 'foo-minor-mode) + +to enable foo-minor-mode in Text mode buffers, removing the need for +`turn-on-foo-minor-mode' style functions. This affects all mode +commands defined by `define-minor-mode'. If called interactively, the +mode command still toggles the minor mode. + +++ ** The return value of `backup-buffer' has changed. It is now a list of three elements, where the second element is a list describing the original file's SELinux context. If Emacs or the system lacks SELinux support, the context list is (nil nil nil nil). -See the "Basic SELinux support" entry under "Changes in Emacs 24.1", -above. +See "Basic SELinux support" above, under "Changes in Emacs 24.1". --- ** `char-direction-table' and the associated function `char-direction' @@ -1075,19 +1068,19 @@ area, excluding any header line. Previously, it counted from the top of the header line. --- -** Support for "old-style" backquotes, which have been obsolete for -more than 10 years, has been further reduced. Now a backquote not -followed by a space is always treated as a "new-style" backquote. -Please remove all "old-style" backquotes from your code. If your code -uses backquotes as documented in the Elisp manual, and compiles -without warning, then you have nothing to do in this regard. Code not -following the appropriate conventions may fail to compile. +** Support for "old-style" backquotes, obsolete for 10+ years, has +been further reduced. Now a backquote not followed by a space is +always treated as a "new-style" backquote. Please remove all +"old-style" backquotes from your code. If your code uses backquotes +as documented in the Elisp manual, and compiles without warning, then +you have nothing to do in this regard. Code not following the +appropriate conventions may fail to compile. The most common cause of trouble seems to be an old-style backquote followed by a newline. Another cause of trouble is vector notation for key sequence notation: instead of [(control ,)] and [(control ')], you should write [(control ?,)] and [(control ?')], which will work in -older Emacs too. +older Emacsen too. +++ ** The macro `eval-at-startup' was removed in Emacs 23.2, but this @@ -1095,81 +1088,84 @@ was not advertised at the time. The function `custom-initialize-delay' replaced all known uses. --- -** view-buffer now treats special mode-class in the same way that -view-file has since Emacs 22 (ie, it won't enable View mode if the -major-mode is special). +** `view-buffer' now treats special mode-class in the same way that +`view-file' has since Emacs 22 (i.e. it won't enable View mode if the +major mode is special). -+++ -** Passing a nil argument to a minor mode defined by define-minor-mode -now turns the mode ON unconditionally. This is so that you can write, e.g. - (add-hook 'text-mode-hook 'foo-minor-mode) -to enable foo-minor-mode in Text mode buffers, thus removing the need -for `turn-on-foo-minor-mode' style functions. +** Menu and tool bar changes +++ -** During startup, Emacs no longer adds entries for `menu-bar-lines' +*** During startup, Emacs no longer adds entries for `menu-bar-lines' and `tool-bar-lines' to `default-frame-alist' and `initial-frame-alist'. With these alist entries omitted, `make-frame' checks the value of the variable `menu-bar-mode'/`tool-bar-mode' to determine whether to create a menu-bar or tool-bar, respectively. If the alist entries are added, they override the value of `menu-bar-mode'/`tool-bar-mode'. ++++ +*** The menu bar bindings's caches are not used any more. +Use (where-is-internal nil t) instead. + +++ ** Regions created by mouse dragging are now normal active regions, -similar to the ones created by shift-selection. In previous Emacs -versions, these regions were delineated by `mouse-drag-overlay', which -has now been removed. +similar to the ones created by shift-selection (see Selection changes +above). In previous Emacs versions, these regions were delineated by +`mouse-drag-overlay'; that variable has been removed. +++ -** The fourth argument of filter-buffer-substring, which says to remove -text properties from the final result, has been removed. -Eg simply pass the result through substring-no-properties if you need this. +** The fourth argument of `filter-buffer-substring' has been removed. +If you want to remove text properties from the final result, simply +pass the result through substring-no-properties. --- ** cl.el no longer provides `cl-19'. +++ -** The menu bar bindings's caches are not used any more. -Use (where-is-internal nil t) instead. - -+++ -** The following obsolete (mostly since at least 21.1) functions and aliases -have been removed (the appropriate new function is given in parentheses; -"not needed" means you can just remove all calls to the function in question): -comint-kill-output (comint-delete-output), -decompose-composite-char (char-to-string), -outline-visible (outline-invisible-p), -internal-find-face (facep), internal-get-face (facep and check-face), -frame-update-faces (not needed), -frame-update-face-colors (frame-set-background-mode), -x-frob-font-weight and x-frob-font-slant (appropriate make-face-* function), -x-make-font-bold and x-make-font-demibold (make-face-bold), -x-make-font-italic and x-make-font-oblique (make-face-italic), -x-make-font-bold-italic (make-face-bold-italic), -x-make-font-unbold (make-face-unbold), -x-make-font-unitalic (make-face-unitalic), -mldrag-drag-mode-line (mouse-drag-mode-line), -mldrag-drag-vertical-line (mouse-drag-vertical-line), -iswitchb-default-keybindings (iswitchb-mode), char-bytes (== 1), -isearch-return-char (isearch-printing-char), make-local-hook (not needed), -set-screen-height (set-frame-height), set-screen-width (set-frame-width) - - -+++ -** The following obsolete (mostly since at least 21.1) variables and varaliases -have been removed (the appropriate new variable is given in parentheses): -checkdoc-minor-keymap (checkdoc-minor-mode-map), -vc-header-alist (vc-BACKEND-header), directory-sep-char (== ?/) -font-lock-defaults-alist (font-lock-defaults), and e (float-e). +** The following obsolete functions and aliases have been removed +(the appropriate new function is given in parentheses; "not needed" +means you can just remove all calls to the function in question): + +*** `comint-kill-output' (`comint-delete-output') +*** `decompose-composite-char' (`char-to-string') +*** `outline-visible' (`outline-invisible-p') +*** `internal-find-face' (`facep') +*** `internal-get-face' (`facep and check-face') +*** `frame-update-faces' (not needed) +*** `frame-update-face-colors' (`frame-set-background-mode') +*** `x-frob-font-weight' and `x-frob-font-slant' (`make-face-*' functions) +*** `x-make-font-bold and x-make-font-demibold (make-face-bold) +*** `x-make-font-italic' and `x-make-font-oblique' (`make-face-italic') +*** `x-make-font-bold-italic' (`make-face-bold-italic') +*** `x-make-font-unbold' (`make-face-unbold') +*** `x-make-font-unitalic' (`make-face-unitalic') +*** `mldrag-drag-mode-line' (`mouse-drag-mode-line') +*** `mldrag-drag-vertical-line' (`mouse-drag-vertical-line') +*** `iswitchb-default-keybindings' (`iswitchb-mode') +*** `char-bytes' (== 1) +*** `isearch-return-char' (`isearch-printing-char') +*** `make-local-hook' (not needed) +*** `set-screen-height' (`set-frame-height') +*** `set-screen-width' (`set-frame-width') + ++++ +** The following obsolete variables and varaliases have been removed +(the appropriate new variable is given in parentheses): + +*** `checkdoc-minor-keymap' (`checkdoc-minor-mode-map') +*** `vc-header-alist' (`vc-BACKEND-header') +*** `directory-sep-char' (== ?/) +*** `font-lock-defaults-alist' (`font-lock-defaults') +*** `e' (`float-e'). --- ** The following obsolete files were removed: sc.el, x-menu.el, rnews.el, rnewspost.el --- -** The format of the finder-inf.el file has changed, since the finder -mechanism is now based on the package concept. The variable -finder-package-info is replaced by package--builtins and finder-keywords-hash. +** The format of the finder-inf.el file has changed, since the Finder +mechanism is now based on the package system. The variable +`finder-package-info' is replaced by `package--builtins' and +`finder-keywords-hash'. --- ** When generating autoloads, `update-directory-autoloads' no longer @@ -1205,19 +1201,18 @@ their code. See the ERT info manual for details. +++ *** New function `current-bidi-paragraph-direction'. -This returns the actual value of base direction of the paragraph at -point. +This returns the base direction of the paragraph at point. +++ *** New function `bidi-string-mark-left-to-right'. Given a string containing characters from right-to-left (RTL) scripts, this function returns another string which can be safely inserted into a buffer, such that any following text will be always displayed to the -right of that string. (This works by appending the Unicode -"LEFT-TO-RIGHT MARK" character when the argument string might need that.) +right of that string. (This works by appending an invisible Unicode +"LEFT-TO-RIGHT MARK" character if the argument string might need it.) -This is useful when the buffer has overall left-to-right (LTR) -paragraph direction and you need to insert a string whose contents and +This is useful when the buffer has overall left-to-right paragraph +direction and you need to insert a string whose contents and directionality are not known in advance, without disrupting the layout of the line. @@ -1320,15 +1315,15 @@ frame or window as an Elisp object. ** Completion -*** New variable completion-extra-properties used to specify extra properties -of the current completion: +*** New variable `completion-extra-properties' used to specify extra +properties of the current completion: - :annotate-function, same as the old completion-annotate-function. - :exit-function, function to call after completion took place. -*** Functions on completion-at-point-functions can return any of the properties -valid for completion-extra-properties. +*** Functions on `completion-at-point-functions' can return any of the +properties valid for `completion-extra-properties'. -*** completion-annotate-function is obsolete. +*** `completion-annotate-function' is obsolete. *** New `metadata' method for completion tables. The metadata thus returned can 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': - `display-sort-function' to specify how to sort entries in *Completions*. - `cycle-sort-function' to specify how to sort entries when cycling. -*** minibuffer-local-filename-must-match-map is not used any more. -Instead, the bindings in minibuffer-local-filename-completion-map are -combined with minibuffer-local-must-match-map. +*** `minibuffer-local-filename-must-match-map' is not used any more. +Instead, the bindings in `minibuffer-local-filename-completion-map' +are combined with `minibuffer-local-must-match-map'. *** New variable `completing-read-function' allows overriding the behavior of `completing-read'. @@ -1350,14 +1345,7 @@ behavior of `completing-read'. text terminal display, via a char-table entry that is a cons cell. +++ -** `open-network-stream' can now be used to open an encrypted stream. -It now accepts an optional `:type' parameter for initiating a TLS -connection, directly or via STARTTLS. To do STARTTLS, additional -parameters (`:end-of-command', `:success', `:capabilities-command') -must also be supplied. - -+++ -** pre/post-command-hook are not reset to nil upon error. +** `pre-command-hook'/`post-command-hook' are not reset to nil on error. Instead, the offending function is removed. ** New hook types @@ -1399,8 +1387,8 @@ named Emacs server instances. to redirect STDOUT to a file. +++ -** The function format-time-string now supports the %N directive, for -higher-resolution time stamps. +** The function `format-time-string' now supports the %N directive, +for higher-resolution time stamps. ** New input reading functions +++ @@ -1434,7 +1422,7 @@ syntactic rules. *** Syntax tables support a new "comment style c" additionally to style b. +++ -** New hook post-self-insert-hook run at the end of self-insert-command. +** New hook `post-self-insert-hook', run after `self-insert-command'. --- ** 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. +++ *** `define-minor-mode' accepts new keywords :variable, :after-hook. +** File-handling changes + +++ -** `delete-file' and `delete-directory' now accept optional arg TRASH. +*** `delete-file' and `delete-directory' now accept optional arg TRASH. Trashing is performed if TRASH and `delete-by-moving-to-trash' are both non-nil. Interactively, TRASH defaults to t, unless a prefix argument is supplied (see Trash changes, above). +++ -** New file predicate functions: file-equal-p, file-in-directory-p. +*** New file predicates: `file-equal-p', `file-in-directory-p'. +++ ** Tool-bars can display separators. @@ -1496,18 +1486,29 @@ The old name is an obsolete alias to the new one. +++ *** Image mode can view any image type that ImageMagick supports. This requires Emacs to be built with ImageMagick support. -If your Emacs has ImageMagick support, then the function -`imagemagick-types' is defined, and returns a list of image file -extensions that your installation of ImageMagick supports. The -function `imagemagick-register-types' enables ImageMagick support for -these image types, minus those listed in `imagemagick-types-inhibit'. -Visiting one of these file types will then use Image mode. + +**** New function `imagemagick-types', defined if ImageMagick support +is enabled, returns a list of image file extensions that your +ImageMagick installation supports. + +**** New function `imagemagick-register-types' enables ImageMagick +image types in Image mode and in `create-image' and other helper +functions. + +**** New option `imagemagick-types-inhibit' excludes certain +ImageMagick image types from `imagemagick-register-types'. + +--- +**** With ImageMagick support, there are extra Image mode commands to +resize and rotate images: `image-transform-fit-to-height', +`image-transform-fit-to-width', `image-transform-set-rotation', and +`image-transform-set-scale'. --- -*** New commands to resize and rotate images in Image mode. -These require Emacs to be built with ImageMagick support. -image-transform-fit-to-height, image-transform-fit-to-width, -image-transform-set-rotation, image-transform-set-scale. +** `compose-mail' now accepts an optional 8th arg, RETURN-ACTION, and +passes it to the mail user agent function. This argument specifies an +action for returning to the caller after finishing with the mail. For +example, this is used by Rmail to optionally delete a mail window. +++ ** XML and HTML parsing @@ -1516,16 +1517,29 @@ functions: `libxml-parse-html-region' (which parses "real world" HTML) and `libxml-parse-xml-region' (which parses XML). Both return an Emacs Lisp parse tree. -** GnuTLS +** Networking and encryption changes -*** New library `gnutls.el'. -This requires Emacs to have been built with GnuTLS support. -If your Emacs has GnuTLS support, the function gnutls-available-p is -defined and returns non-nil. The main functions are `open-gnutls-stream' -and `gnutls-negotiate'. It's easiest to use these functions through -`open-network-stream' because it can upgrade connections through -STARTTLS opportunistically or use plain SSL, depending on your needs. -For debugging, set `gnutls-log-level' greater than 0. ++++ +*** `open-network-stream' can now be used to open an encrypted stream. +It now accepts an optional `:type' parameter for initiating a TLS +connection, directly or via STARTTLS. To do STARTTLS, additional +parameters (`:end-of-command', `:success', `:capabilities-command') +must also be supplied. + +*** New library gnutls.el. + +If Emacs is built with GnuTLS support, the function +`gnutls-available-p' is defined and returns non-nil. The main entry +points are `open-gnutls-stream' and `gnutls-negotiate'. It's easiest +to use these functions through `open-network-stream', because that can +upgrade connections through STARTTLS opportunistically or use plain +SSL, depending on your needs. For debugging, set `gnutls-log-level' +greater than 0. + ++++ +*** New primitive `secure-hash' that supports many secure hash algorithms: +md5, sha1, sha2, sha224, sha256, sha384, and sha512. The lisp library +sha1.el has been removed. The `sha1' feature is provided by default. ** Isearch @@ -1547,10 +1561,10 @@ being reverted, even if the buffer has a local `revert-buffer-function'. --- ** New variables `delayed-warnings-list' and `delayed-warnings-hook'. If delayed-warnings-list is non-nil, the command loop calls -delayed-warnings-hook after post-command-hook. At present, this is -only used by Emacs on some platforms to display warnings during -startup, which might otherwise not be noticed. This uses the functions -display-delayed-warnings and collapse-delayed-warnings. +`delayed-warnings-hook' after `post-command-hook'. At present, this +is only used by Emacs on some platforms to display warnings during +startup, which might otherwise not be noticed. This uses the +functions `display-delayed-warnings' and `collapse-delayed-warnings'. --- ** rx.el has a new `group-n' construct for explicitly numbered groups. @@ -1574,7 +1588,7 @@ an empty uninterned symbol. +++ ** New math functions `isnan', `copysign', `frexp', `ldexp'. -** Obsolete functions and variables +** The following functions and variables are obsolete: --- *** `tooltip-use-echo-area' is obsolete. -- 2.39.2