GNU Emacs NEWS -- history of user-visible changes.
-Copyright (C) 2010-2011 Free Software Foundation, Inc.
+Copyright (C) 2010-2012 Free Software Foundation, Inc.
See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
** Completion
*** 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.
-
++++
*** `completion-at-point' now handles tags and semantic completion.
---
*** Completion in a non-minibuffer now tries to detect the end of completion
** Mail changes
-The default of `send-mail-function' is now `sendmail-query-once',
++++
+*** 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
case you won't see any difference. But if you changed it to be a list
of user names and passwords, that setting is now ignored; you will be
prompted for the user name and the password, which will then be saved
-to ~/.authinfo.
+to ~/.authinfo. (To control where and how the credentials are stored,
+see the auth-source manual. You may want to change the auth-source
+preferences if you want to store the credentials encrypted, for
+instance.)
You can also manually copy the credentials to your ~/.authinfo file.
For example, if you had
**** The variable `smtpmail-starttls-credentials' has been removed.
-If you had that set, then then you need to put
+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.
-*** sendmail changes
+*** Mail mode changes (this is the old Mail mode, not Message mode)
+++
-You can now add MIME attachments to outgoing messages with the new
-command `mail-add-attachment'.
-
+**** New command `mail-add-attachment' for adding MIME attachments
---
-The command `mail-attach-file' was renamed to `mail-insert-file'; the
-old name is now an obsolete alias to the new name.
+**** The command `mail-attach-file' was renamed to `mail-insert-file'.
+The old name is now an obsolete alias to the new name.
** Emacs server and client changes
+++
*** New emacsclient argument --frame-parameters can be used to set the
frame parameters of a newly-created graphical frame.
+++
-*** If emacsclient shuts down as a result of Emacs signalling an
+*** If emacsclient shuts down as a result of Emacs signaling an
error, its exit status is 1.
+++
*** New emacsclient argument --parent-id ID.
** 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
by default.
** Menu-bar changes
-
+---
*** `menu-bar-select-buffer-function' lets you choose another operation
instead of `switch-to-buffer' when selecting an item in the Buffers menu.
display actions, taking precedence over `display-buffer-base-action'.
+++
-*** New option `window-nest'.
-The new option `window-nest' allows to return the space obtained for
-resizing or creating a window more reliably to the window from which
-such space was obtained.
+*** New option `window-combination-limit'.
+The new option `window-combination-limit' allows to return the space
+obtained for resizing or creating a window more reliably to the window
+from which such space was obtained.
+++
-*** New option `window-splits'.
-The new option `window-splits' allows to split a window that otherwise
-cannot be split because it's too small by stealing space from other
-windows in the same combination.
+*** New option `window-combination-resize'.
+The new option `window-combination-resize' allows to split a window that
+otherwise cannot be split because it's too small by stealing space from
+other windows in the same combination. Subsequent resizing or deletion
+of the window will resize all windows in the same combination as well.
+++
*** New commands `maximize-window' and `minimize-window'.
-These maximize and minize the size of a window within its frame.
+These maximize and minimize the size of a window within its frame.
+++
*** New commands `switch-to-prev-buffer' and `switch-to-next-buffer'.
prompts for a number to count from and for a format string.
+++
-** The default value of redisplay-dont-change is now t
+** The default value of redisplay-dont-pause is now 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
updates later on, and Emacs appears to be unable to keep up.
++++
+** The behavior of <TAB> for active regions in Text mode has changed.
+In Text and related modes, typing <TAB> (`indent-for-tab-command')
+when the region is active causes Emacs to indent all the lines in the
+region, aligning them with the line previous to the first line in the
+region (or with the left margin if there is no previous line).
+
\f
* Changes in Specialized Modes and Packages in Emacs 24.1
+++
** 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
*** BibTeX mode now supports biblatex.
** comint and modes derived from it use the generic completion code.
** Compilation mode
-
+---
*** Compilation mode can be used without font-lock-mode.
`compilation-parse-errors-function' is now obsolete.
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.
+
** Customize
*** Customize buffers now contain a search field.
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.
exists, that is used instead.
** gdb-mi
-
++++
*** GDB User Interface migrated to GDB Machine Interface and now
supports multithread non-stop debugging and debugging of several
threads simultaneously.
remember the name of the buffer visiting the manual you want to
consult.
++++
** The Landmark game is now invoked with `landmark', not `lm'.
-** MH-E has been upgraded to MH-E version 8.3.
+** MH-E has been upgraded to MH-E version 8.3.1.
See MH-E-NEWS for details.
** Modula-2 mode provides auto-indentation.
*** The command `rmail-epa-decrypt' decrypts OpenPGP data
in the Rmail incoming message.
-** Shell mode
+---
+*** The variable `rmail-message-filter' no longer has any effect.
+This change was made in Emacs 23.1 but was not advertised at the time.
+Try using `rmail-show-message-hook' instead.
+** Shell mode
++++
*** Shell mode uses pcomplete rules, with the standard completion UI.
-
++++
*** The `shell' command prompts for the shell path name if the default
directory is a remote file name and neither the environment variable
$ESHELL nor the variable `explicit-shell-file-name' is set.
-*** New variable `shell-dir-cookie-re'.
-If set to an appropriate regexp, Shell mode can track your cwd by
-reading it from your prompt.
-
---
** SQL Mode enhancements.
** VC and related modes
++++
*** Support for pulling on distributed version control systems.
-The vc-pull command runs a "pull" operation, if it is supported.
-This updates the current branch from upstream. A prefix argument
-means to prompt the user for specifics, e.g. a pull location.
+`C-x v +' (`vc-pull') runs a "pull" operation, if it is supported, 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'.
**** Currently supported by Bzr, Git, and Mercurial.
++++
*** Support for merging on distributed version control systems.
-The vc-merge command now runs a "merge" operation, if it is supported.
-This merges another branch into the current one. This command prompts
-the user for specifics, e.g. a merge source.
+The vc-merge command now runs a "merge" operation, if it is supported,
+to merge changes from another branch into the current one. It prompts
+for specifics, e.g. a merge source.
**** Currently supported for Bzr, Git, and Mercurial.
++++
*** New option `vc-revert-show-diff' controls whether `vc-revert'
shows a diff while querying the user. It defaults to t.
++++
*** Log entries in some Log View buffers can be toggled to display a
longer description by typing RET (log-view-toggle-entry-display).
In the Log View buffers made by `C-x v L' (vc-print-root-log), you can
**** Packages using Log View mode can enable this functionality by
binding `log-view-expanded-log-entry-function' to a suitable function.
++++
*** New command `vc-ediff' allows visual comparison of two revisions
of a file similar to `vc-diff', but using ediff backend.
---
*** `copyright-fix-years' can optionally convert consecutive years to ranges.
++++
*** New command `nato-region' converts text to NATO phonetic alphabet.
\f
Functions are provided to return the parent, siblings or child windows
of any window including internal windows (windows not associated with a
buffer) in the window tree.
-
++++
**** New function `window-valid-p' gives non-nil for live and internal
windows.
+++
+++
*** The new option `frame-auto-hide-function' lets you choose between
-iconfying or deleting a frame when burying a buffer shown in a dedicated
+iconifying or deleting a frame when burying a buffer shown in a dedicated
frame or quitting a window showing a buffer in a frame of its own.
** Completion
** `facemenu-read-color' is now an alias for `read-color'.
The command `read-color' now requires a match for a color name or RGB
-triplet, instead of signalling an error if the user provides a invalid
+triplet, instead of signaling an error if the user provides a invalid
input.
** Tool-bars can display separators.
** keymaps can inherit from multiple parents.
+** `debug-on-event' lets you debug Emacs when stuck because of inhibit-quit.
+
+++
** New reader macro ## which stands for the empty symbol.
This means that the empty symbol can now be read back. Also, #: by itself