More updates for VC documentation.
[bpt/emacs.git] / etc / NEWS
index 6d6efa7..95d47de 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -51,8 +51,8 @@ This is not a new feature; only the configure flag is new.
 ---
 ** There is a 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 512 MiB to
-a bit less than 4 GiB, with the exact limit set by the operating system.
+On 32-bit hosts, this raises the limit on buffer sizes from about 512 MiB
+to about 2 GiB.
 
 ---
 ** New translation of the Emacs Tutorial in Hebrew is available.
@@ -109,9 +109,9 @@ and pops down the *Completions* buffer accordingly.
 *** Completion can cycle, depending on completion-cycle-threshold.
 +++
 *** New completion style `substring'.
-
++++
 *** Completion style can be set per-category `completion-category-overrides'.
-
++++
 *** Completion of buffers now uses substring completion by default.
 
 ** Mail changes
@@ -133,7 +133,10 @@ That variable used to have the default value "~/.authinfo", in which
 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
@@ -147,7 +150,7 @@ then the equivalent line in ~/.authinfo would be
 
 **** 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"
 
@@ -172,7 +175,7 @@ server should listen.
 *** 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.
@@ -225,15 +228,19 @@ cannot be encoded by the `terminal-coding-system'.
 ---
 *** New input methods for Farsi: farsi and farsi-translit.
 
-** Improved GTK integration
++++
+*** `nobreak-char-display' now also highlights Unicode hyphen chars
+(U+2010 and U+2011).
 
+** Improved GTK integration
++++
 *** GTK scroll-bars are now placed on the right by default.
 Use `set-scroll-bar-mode' to change this.
-
++++
 *** 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
@@ -249,6 +256,7 @@ off by customizing x-gtk-use-system-tooltips.
 ** 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
@@ -268,14 +276,10 @@ context in their return values.
 
 *** The new functions file-selinux-context and set-file-selinux-context
 get and set the SELinux context of a file.
-
+---
 *** Tramp offers handlers for file-selinux-context and set-file-selinux-context
 for remote machines which support SELinux.
 
-+++
-** The function format-time-string now supports the %N directive, for
-higher-resolution time stamps.
-
 ** Changes for exiting Emacs
 +++
 *** The function kill-emacs is now run upon receipt of the signals
@@ -291,24 +295,20 @@ consider if it is still appropriate to add it in the noninteractive case.
 (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)
 when `scroll-error-top-bottom' is non-nil.
-
 +++
 *** New variable `scroll-error-top-bottom' (see above).
-
++++
 *** New scrolling commands `scroll-up-line' and `scroll-down-line'
 scroll a line instead of full screen.
-
 +++
 *** New property `scroll-command' should be set on a command's symbol to
 define it as a scroll command affected by `scroll-preserve-screen-position'.
-
 +++
 *** If you customize `scroll-conservatively' to a value greater than 100,
 Emacs will never recenter point in the window when it scrolls due to
 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.
 If you customize `scroll-up-aggressively' or
@@ -370,7 +370,6 @@ Affected modes include dired, vc-dir, and log-edit.  For example,
 adding "(diff-mode . ((mode . whitespace)))" to .dir-locals.el will
 turn on `whitespace-mode' for *vc-diff* buffers.  Modes should call
 `hack-dir-local-variables-non-file-buffer' to support this.
-
 +++
 *** Using "mode: MINOR-MODE" to enable a minor mode is deprecated.
 Instead, use "eval: (minor-mode 1)".
@@ -384,7 +383,7 @@ The elisp implementation sha1.el is removed. Feature sha1 is provided
 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.
 
@@ -408,20 +407,21 @@ specified by `display-buffer-fallback-action'.
 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'.
@@ -444,7 +444,7 @@ pops up *Messages*" feature, which can now easily be changed.
 +++
 *** C-y in Isearch is now bound to isearch-yank-kill, instead of
 isearch-yank-line.
----
++++
 *** M-y in Isearch is now bound to isearch-yank-pop, instead of
 isearch-yank-kill.
 +++
@@ -456,6 +456,7 @@ isearch-yank-kill.
 *** `count-lines-region' is now an alias for `count-words-region',
 bound to M-=, which shows the number of lines, words, and characters.
 
++++
 ** The default value of `backup-by-copying-when-mismatch' is now t.
 
 +++
@@ -553,14 +554,23 @@ 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.
@@ -616,7 +626,7 @@ view-diary-entries, list-diary-entries, show-all-diary-entries
 ** 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.
 
@@ -624,6 +634,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.
+
 ** Customize
 
 *** Customize buffers now contain a search field.
@@ -707,7 +721,7 @@ 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.
@@ -723,6 +737,11 @@ more variants, including Mercury, and a lot more.
 *** The command `rmail-epa-decrypt' decrypts OpenPGP data
 in the Rmail incoming message.
 
+---
+*** 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.
@@ -800,12 +819,12 @@ additional details about each column.
 *** latex-electric-env-pair-mode keeps \begin..\end matched on the fly.
 
 ** Tramp
-
+---
 *** There exists a 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".
-
+---
 *** The option `ange-ftp-binary-file-name-regexp' has changed its
 default value to "".
 
@@ -814,25 +833,29 @@ controlling the degree of parallelism.
 
 ** 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
@@ -843,11 +866,17 @@ use this to display the full log entry for the revision at point.
 **** 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.
 
 +++
-*** The option vc-initial-comment was removed in Emacs 23.2, but
+*** The option `vc-initial-comment' was removed in Emacs 23.2, but
+this was not advertised at the time.
+
++++
+*** `vc-toggle-read-only' is an obsolete alias for `toggle-read-only'.
+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.
@@ -879,6 +908,7 @@ They are superseded by shift-select-mode enabled by default in 23.1.
 \f
 * New Modes and Packages in Emacs 24.1
 
++++
 ** Occur Edit mode applies edits made in *Occur* buffers to the
 original buffers.  It is bound to "e" in Occur mode.
 
@@ -964,6 +994,9 @@ has now been removed.
 
 ** cl.el no longer provides `cl-19'.
 
+** 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,
@@ -1027,33 +1060,31 @@ directionality are not known in advance, without disrupting the layout
 of the line.
 
 ** Window changes
-
 +++
 *** Window tree functions are accessible in Elisp.
 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.
-
 +++
-*** Window manipulation can deal with internal windows.
+**** New function `window-valid-p' gives non-nil for live and internal
+windows.
++++
+**** Window manipulation can deal with internal windows.
 Many window handling functions like `split-window', `delete-window', or
 `delete-other-windows' as well as the window resizing functions can now
 act on any window including internal ones.
-
 +++
 *** window-total-height/-width vs window-body-height/-width.
 The function `window-height' has been renamed to `window-total-height'
 and `window-width' has been renamed to `window-body-width'.  The old
 names are provided as aliases.  Two new functions `window-total-width'
 and `window-body-height' are provided.
-
 +++
 *** Window parameters specific to window handling functions.
 For each window you can specify a parameter to override the default
 behavior of a number of functions like `split-window', `delete-window'
 and `delete-other-windows'.  The variable `ignore-window-parameters'
 allows to ignore processing such parameters.
-
 +++
 *** New semantics of third argument of `split-window'.
 The third argument of `split-window' has been renamed to SIDE and can be
@@ -1061,17 +1092,14 @@ set to any of the values 'below, 'right, 'above, or 'left to make the
 new window appear on the corresponding side of the window that shall be
 split.  Any other value of SIDE will cause `split-window' to split the
 window into two side-by-side windows as before.
-
 +++
 *** Window resizing functions.
 A new standard function for resizing windows called `window-resize' has
 been introduced.  This and all other functions for resizing windows no
 longer delete any windows when they become too small.
-
 +++
 *** Deleting the selected window now selects the most recently selected
 live window on that frame instead.
-
 +++
 *** `adjust-window-trailing-edge' adjustments.
 `adjust-window-trailing-edge' can now deal with fixed-size windows and
@@ -1079,7 +1107,6 @@ is able to resize other windows if a window adjacent to the trailing
 edge cannot be shrunk any more.  This makes its behavior more similar to
 that of Emacs 21 without compromising, however, its inability to delete
 windows which was introduced in Emacs 22.
-
 +++
 *** Window-local buffer lists.
 Windows now have local buffer lists.  This means that removing a buffer
@@ -1087,17 +1114,16 @@ from display in a window will preferably show the buffer previously
 shown in that window with its previous window-start and window-point
 positions.  This also means that the same buffer may be automatically
 shown twice even if it already appears in another window.
-
 +++
 *** `switch-to-buffer' has a new optional argument FORCE-SAME-WINDOW,
 which if non-nil requires the buffer to be displayed in the currently
 selected window, signaling an error otherwise.  If nil, another window
 can be used, e.g. if the selected one is strongly dedicated.
-
++++
 *** `split-window-vertically' and `split-window-horizontally' renamed
-to `split-window-above-each-other' and `split-window-side-by-side'
-respectively.  The old names are kept as aliases.
-
+to `split-window-below' and `split-window-right' respectively.
+The old names are kept as aliases.
++++
 *** Display actions
 
 **** The second arg to `display-buffer' and `pop-to-buffer' is now
@@ -1122,7 +1148,7 @@ state before the last buffer display operation in that window.
 
 +++
 *** 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
@@ -1166,7 +1192,13 @@ must also be supplied.
 ** pre/post-command-hook are not reset to nil upon error.
 Instead, the offending function is removed.
 
-** New low-level function run-hook-wrapped.
+** New hook types
+
+*** New function `run-hook-wrapped' for running an abnormal hook by
+passing the hook functions as arguments to a "wrapping" function.
++++
+*** New macro `with-wrapper-hook' for running an abnormal hook as a
+set of "wrapping" filters, similar to around advice.
 
 ** `server-eval-at' is provided to allow evaluating forms on different
 Emacs server instances.
@@ -1180,6 +1212,10 @@ Also the debugger can now "continue" from an error, which means it will jump
 to the error handler as if the debugger had not been invoked instead of
 jumping all the way to the top-level.
 
++++
+** The function format-time-string now supports the %N directive, for
+higher-resolution time stamps.
+
 ** New function `read-char-choice' reads a restricted set of characters,
 discarding any inputs not inside the set.
 
@@ -1205,15 +1241,22 @@ syntactic rules.
 
 ** frame-local variables cannot be let-bound any more.
 
+** Major and minor mode changes
 +++
-** prog-mode is a new major-mode meant to be the parent of programming mode.
-The prog-mode-hook it defines can be used to enable features for
-programming modes.  For example:
-(add-hook 'prog-mode-hook 'flyspell-prog-mode)
-enables on the fly spell checking for comments and strings for
-programming modes.
+*** `prog-mode' is a new major mode from which programming modes
+should be derived.
 
-** define-minor-mode accepts a new keyword :variable.
+**** `prog-mode-hook' can be used to enable features for programming
+modes, e.g. (add-hook 'prog-mode-hook 'flyspell-prog-mode) to enable
+on-the-fly spell checking for comments and strings.
+
+*** New hook `change-major-mode-after-body-hook', run by
+`run-mode-hooks' just before any other mode hooks.
+
+*** Enabled globalized minor modes can be disabled in specific modes,
+by running (FOO-mode-hook 0) via a mode hook.
+
+*** `define-minor-mode' accepts a new keyword :variable.
 
 +++
 ** `delete-file' and `delete-directory' now accept optional arg TRASH.
@@ -1223,7 +1266,7 @@ argument is supplied (see Trash changes, above).
 
 ** `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.
@@ -1271,6 +1314,8 @@ functions.  It's easiest to use these functions through
 STARTTLS opportunistically or use plain SSL, depending on your needs.
 
 Only versions 2.8.x and higher or GnuTLS have been tested.
+[FIXME: this statement needs clarifying, given that GnuTLS >= 2.6.6
+is the test used by configure.]
 
 *** gnutls-log-level
 Set `gnutls-log-level' higher than 0 to get debug output.  1 is for
@@ -1304,6 +1349,8 @@ as well as those in the -*- line.
 
 ** 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
@@ -1338,6 +1385,8 @@ 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.
+
 ** On Nextstep/OSX, the menu bar can be hidden by customizing
 ns-auto-hide-menu-bar.