nnimap.el (nnimap-wait-for-response): Minor fixup of message string.
[bpt/emacs.git] / etc / NEWS
index 8d7773b..f9ede68 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -47,6 +47,7 @@ found at build time.  To prevent this, use the configure option
 This happens by default if a suitably recent version of the library is
 found at build time.  To prevent this, use the configure option
 `--without-imagemagick'.  See below for ImageMagick features.
+This feature is not available for the Nextstep or MS ports.
 
 ---
 ** Emacs can be compiled with libxml2 support.
@@ -173,6 +174,12 @@ in your ~/.authinfo file instead.
 **** 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.
+
 ** Emacs server and client changes
 +++
 *** New option `server-port' specifies the port on which the Emacs
@@ -586,10 +593,6 @@ region (or with the left margin if there is no previous line).
 +++
 ** Archive Mode has basic support for browsing and updating 7z archives.
 
-+++
-** browse-url has a new variable `browse-url-mailto-function'
-specifies how mailto: URLs are handled.  The default is `browse-url-mail'.
-
 ---
 ** BibTeX mode
 
@@ -639,6 +642,15 @@ 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 (C, C++, etc.)
 
 *** New feature to "guess" the style in an existing buffer.
@@ -654,9 +666,10 @@ view-diary-entries, list-diary-entries, show-all-diary-entries
 inserted by the compilation filter function, when calling
 compilation-filter-hook.
 
-*** `compilation-error-screen-columns' is obeyed in the editing buffer.
-So programming language modes can set it, whereas previously only the value
-in the *compilation* buffer was used.
+*** `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.
 
 ** Customize
 
@@ -669,6 +682,7 @@ To turn off the search field, set custom-search-field to nil.
 *** Custom options now start out hidden if at their default values.
 Use the arrow to the left of the option name to toggle visibility.
 
+---
 *** custom-buffer-sort-alphabetically now defaults to t.
 
 +++
@@ -698,11 +712,9 @@ The standard directory local variables feature replaces it.
 
 ** ERC changes
 
-*** New vars `erc-autojoin-timing' and `erc-autojoin-delay'.
-If the value of `erc-autojoin-timing' is 'ident, ERC autojoins after a
-successful NickServ identification, or after `erc-autojoin-delay'
-seconds.  The default value, 'ident, means to autojoin immediately
-after connecting.
+---
+*** New options `erc-autojoin-timing' and `erc-autojoin-delay',
+controlling attempts to autojoin a channel.
 
 *** New variable `erc-coding-system-precedence': If we use `undecided'
 as the server coding system, this variable will then be consulted.
@@ -748,16 +760,20 @@ by default.
 ** MH-E has been upgraded to MH-E version 8.3.1.
 See MH-E-NEWS for details.
 
+---
 ** Modula-2 mode provides auto-indentation.
 
+---
 ** mpc.el: Can use pseudo tags of the form tag1|tag2 as a union of two tags.
 
+---
 ** 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.
 
 ** Rmail
 
++++
 *** The command `rmail-epa-decrypt' decrypts OpenPGP data
 in the Rmail incoming message.
 
@@ -775,67 +791,55 @@ directory is a remote file name and neither the environment variable
 $ESHELL nor the variable `explicit-shell-file-name' is set.
 
 ---
-** SQL Mode enhancements.
+** SQL mode
 
-*** `sql-dialect' is an alias for `sql-product'.
+---
+*** New options `sql-port', `sql-connection-alist', `sql-send-terminator',
+and `sql-oracle-scan-on'.
 
-*** New variable `sql-port' specifies the port number for connecting
-to a MySQL or Postgres server.
+---
+*** New custom variables control prompting for login parameters.
+Each supported product has a custom variable `sql-*-login-params',
+which is a list of the parameters to be prompted for before a
+connection is established.
 
+---
 *** The command `sql-product-interactive' now takes a prefix argument,
-which causes it to prompt for an SQL product instead of the current
-value of `sql-product'.
+which causes it to prompt for an SQL product.
 
-*** Product-specific SQL interactive commands now take prefix args.
+---
+*** Product-specific SQL interactive commands now take prefix arguments.
 These commands (`sql-sqlite', `sql-postgres', `sql-mysql', etc.),
 given a prefix argument, prompt for a name for the SQL interactive
 buffer.  This reduces the need for calling `sql-rename-buffer'.
 
+---
 *** SQL interactive modes suppress command continuation prompts, and
 replace tabs with spaces.  The first change impacts multiple line SQL
 statements entered with C-j between each line, statements yanked into
 the buffer and statements sent with `sql-send-*' functions.  The
-second change prevents the MySQL and Postgres interpreters from
-listing object name completions when sent text via `sql-send-*'
-functions.
-
-*** New custom variables control prompting for login parameters.
-Each supported product has a custom variable `sql-*-login-params',
-which is a list of the parameters to be prompted for before a
-connection is established.
-
-*** New variable `sql-connection-alist' for login parameter values.
-This can be used to store different username, database and server
-values.  Connections defined in this variable appear in the submenu
-SQL->Start... for making new SQLi sessions.
+second prevents the MySQL and Postgres interpreters from listing
+object name completions when sent text via `sql-send-*' functions.
 
+---
 *** New command `sql-connect' starts a predefined SQLi session,
 using the login parameters from `sql-connection-alist'.
 
+---
 *** New "Save Connection" menu item in SQLi buffers.
 This gathers the login params specified for the SQLi session, if it
 was not started by a connection, and saves them as a new connection.
 
-*** Commands for listing database objects and details.
-In an SQLi session, you can get a list of objects in the database.
-The contents of these lists are product specific.
-
-**** `C-c C-l a' or the "SQL->List all objects" menu item
-lists all the objects in the database.  With a prefix argument, it
-displays additional details or extend the listing to include other
-schemas objects.
-
-**** `C-c C-l t' or the "SQL->List Table details" menu item
-prompts for the name of a database table or view and displays the list
-of columns in the relation.  With a prefix argument, it displays
-additional details about each column.
-
-*** New options `sql-send-terminator' and `sql-oracle-scan-on'.
+---
+*** New commands for listing database objects and details:
+sql-list-all and sql-list-table.
 
+---
 *** An API for manipulating SQL product definitions has been added.
 
 ** TeX modes
 
++++
 *** latex-electric-env-pair-mode keeps \begin..\end matched on the fly.
 
 ** Tramp
@@ -899,21 +903,33 @@ this was not advertised at the time.
 Since Emacs 23, it has done the same thing as `toggle-read-only', but
 this was not advertised at the time.
 
-** FIXME: xdg-open for browse-url and reportbug, 2010/08.
-
 ** Obsolete modes
 
-*** partial-completion-mode is obsolete.
+---
+*** abbrevlist.el
+
+---
+*** erc-hecomplete.el (use erc-pcomplete.el instead)
+
+*** partial-completion-mode (complete.el) is obsolete.
 You can get a comparable behavior with:
 (setq completion-styles '(partial-completion initials))
 (setq completion-pcm-complete-word-inserts-delimiters t)
 
-*** pc-mode.el is obsolete.
+---
+*** pc-mode.el is obsolete (CUA mode is much more comprehensive).
+
+*** pgg is obsolete (use EasyPG instead)
 
+---
 *** sregex.el is obsolete, since rx.el is a strict superset.
 
-*** s-region.el and pc-select are obsolete.
-They are superseded by shift-select-mode enabled by default in 23.1.
+---
+*** s-region.el and pc-select.el are obsolete.
+They are superseded by shift-select-mode, enabled by default since 23.1.
+
++++
+*** vc-mcvs.el is obsolete (for lack of a maintainer)
 
 ** Miscellaneous
 
@@ -940,8 +956,15 @@ They are superseded by shift-select-mode enabled by default in 23.1.
 ** Occur Edit mode applies edits made in *Occur* buffers to the
 original buffers.  It is bound to "e" in Occur mode.
 
-** New global minor modes electric-pair-mode, electric-indent-mode,
-and electric-layout-mode.
+** New global minor mode electric-pair-mode.
+When enabled, typing an open parenthesis automatically inserts the
+matching closing one.
+
+** New global minor mode electric-indent-mode.
+When enabled, typing certain characters triggers reindentation.
+
+** New global minor mode electric-layout-mode.
+When enabled, typing certain characters automatically inserts newlines.
 
 ** tabulated-list.el provides a generic major mode for tabulated data,
 from which other modes can be derived.
@@ -960,14 +983,16 @@ Notifications API.  It requires D-Bus for communication.
 ** soap-client.el supports access to SOAP web services from Emacs.
 soap-inspect.el is an interactive inspector for SOAP WSDL structures.
 
-** xmodmap-generic-mode for xmodmap files.
+---
+** New generic mode, xmodmap-generic-mode, for xmodmap files.
 
+---
 ** New emacs-lock.el package.
-(The pre-existing one has been renamed to old-emacs-lock.el and moved
-to obsolete/.)  Now, Emacs Lock is a proper minor mode
-`emacs-lock-mode'.  Protection against exiting Emacs and killing the
-buffer can be set separately.  The mechanism for auto turning off
-protection for buffers with 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.
 
 \f
 * Incompatible Lisp Changes in Emacs 24.1
@@ -995,15 +1020,28 @@ coordinate in the POSITION list now counts from the top of the text
 area, excluding any header line.  Previously, it counted from the top
 of the header line.
 
-** A backquote not followed by a space is now always treated as new-style.
+---
+** 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 consider completely removing all "old-style" backquotes from
+your code as a matter of some urgency.  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.
 
 ---
 ** 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).
 
-** Passing a nil argument to a minor mode function now turns the mode
-ON unconditionally.
++++
+** 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.
 
 +++
 ** During startup, Emacs no longer adds entries for `menu-bar-lines'
@@ -1030,20 +1068,32 @@ Eg simply pass the result through substring-no-properties if you need this.
 ** The menu bar bindings's caches are not used any more.
 Use (where-is-internal <def> nil t) instead.
 
-** The following obsolete functions and aliases were removed:
-comint-kill-output, decompose-composite-char, outline-visible,
-internal-find-face, internal-get-face, frame-update-faces,
-frame-update-face-colors, x-frob-font-weight, x-frob-font-slant,
-x-make-font-bold, x-make-font-demibold, x-make-font-unbold
-x-make-font-italic, x-make-font-oblique, x-make-font-unitalic
-x-make-font-bold-italic, mldrag-drag-mode-line, mldrag-drag-vertical-line,
-iswitchb-default-keybindings, char-bytes, isearch-return-char,
-make-local-hook
-
 +++
-** The following obsolete variables and varaliases were removed:
-checkdoc-minor-keymap, vc-header-alist, directory-sep-char,
-font-lock-defaults-alist, and e (use float-e).
+** The following obsolete (mostly since at least 21.1) functions and aliases
+have been removed (the appropriate new function is given in parentheses):
+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)
+
++++
+** 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 files were removed:
@@ -1071,6 +1121,7 @@ of function value which looks like (closure ENV ARGS &rest BODY).
 *** New function `special-variable-p' to check whether a variable is
 declared as dynamically bound.
 
++++
 ** An Emacs Lisp testing tool is now included.
 Emacs Lisp developers can use this tool to write automated tests for
 their code.  See the ERT info manual for details.
@@ -1235,14 +1286,22 @@ Instead, the offending function is removed.
 
 ** New hook types
 
++++
 *** New function `run-hook-wrapped' for running an abnormal hook by
 passing the hook functions as arguments to a "wrapping" function.
+Like `run-hook-with-args-until-success', it stops at the first
+non-nil return value.
+
 +++
 *** New macro `with-wrapper-hook' for running an abnormal hook as a
 set of "wrapping" filters, similar to around advice.
 (A version of this macro was actually added in Emacs 23.2 but was not
 advertised at the time.)
 
++++
+** The macros `condition-case-no-debug' and `with-demoted-errors' were
+added in Emacs 23.1, but not advertised.
+
 +++
 ** The new function `server-eval-at' allows evaluation of Lisp forms on
 named Emacs server instances, using TCP sockets.
@@ -1326,6 +1385,7 @@ argument is supplied (see Trash changes, above).
 or RGB triplet, instead of signaling an error if the user provides
 invalid input.
 
++++
 ** Tool-bars can display separators.
 Tool-bar separators are handled like menu separators in menu-bar maps,
 i.e. via menu entries of the form `(menu-item "--")'.
@@ -1349,13 +1409,20 @@ is being animated.
 *** `image-extension-data' has been renamed to `image-metadata'.
 The old name is an obsolete alias to the new one.
 
-*** Emacs can be compiled with ImageMagick support.
++++
+*** Image mode can view any image type that ImageMagick supports.
+This requires Emacs to be built with ImageMagick support.
 Then the function `imagemagick-types' 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.
 
-See the Emacs Lisp Reference Manual for more information.
+---
+*** 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.
 
 ** XML and HTML parsing
 If Emacs is compiled with libxml2 support, there are two new functions:
@@ -1388,11 +1455,18 @@ time you call `progress-reporter-update' on that progress reporter,
 with a nil or omitted VALUE argument, the reporter message is
 displayed with a "spinning bar".
 
++++
 ** New variable `revert-buffer-in-progress-p' is true while a buffer is
 being reverted, even if the buffer has a local `revert-buffer-function'.
 
-** New variables `delayed-warnings-list' and `delayed-warnings-hook' allow
-deferring warnings until the main command loop is executed.
+---
+** 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.
+
 
 +++
 ** `set-auto-mode' now respects mode: local variables at the end of files,
@@ -1401,12 +1475,18 @@ as well as those in the -*- line.
 ---
 ** rx.el has a new `group-n' construct for explicitly numbered groups.
 
-** keymaps can inherit from multiple parents.
++++
+** New function `make-composed-keymap' that constructs a new keymap
+from multiple input maps.  You can use this to make a keymap that
+inherits from multiple maps, eg:
+ (set-keymap-parent newmap (make-composed-keymap othermap parent))
 
-** `debug-on-event' lets you debug Emacs when stuck because of inhibit-quit.
++++
+** Set `debug-on-event' to make Emacs enter the debugger e.g. on receipt
+of SIGUSR1.  This can be useful when `inhibit-quit' is set.
 
 +++
-** New reader macro ## which stands for the empty symbol.
+** New reader macro ## that stands for the empty symbol.
 This means that the empty symbol can now be read back.  Also, #: by itself
 (when not immediately followed by a possible symbol character) stands for
 an empty uninterned symbol.
@@ -1443,21 +1523,28 @@ and also when HOME is set to C:\ by default.
 
 ** New configure.bat options
 
++++
 *** --enable-checking builds Emacs with extra runtime checks.
 
++++
 *** --distfiles specifies files to be included in binary distribution.
 
++++
 *** --without-gnutls disables automatic GnuTLS detection.
 
-*** --lib for general library linkage, works with the USER_LIBS build
-variable.
++++
+*** --lib for general library linkage, works with the USER_LIBS build variable.
 
++++
 ** New make target `dist' to create binary distribution for MS Windows.
 
-** Function `w32-default-color-map' is now obsolete.
+---
+** The Lisp function `w32-default-color-map' is now obsolete.
+(It is only used internally in the Emacs C code.)
 
-** On Nextstep/OSX, the menu bar can be hidden by customizing
-ns-auto-hide-menu-bar.
++++
+** Customize ns-auto-hide-menu-bar to have the menu-bar hidden, but
+reappear on mouse-over.  (Requires OS X 10.6 or later.)
 
 \f
 ----------------------------------------------------------------------