(Color Names): Add an xref to `read-color'.
[bpt/emacs.git] / etc / NEWS
index f4c401b..a0e611e 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -237,13 +237,13 @@ mode menus have been improved to include more functionality.
 +++
 *** The mode-line displays a `@', instead of `-', if the
 default-directory for the current buffer is on a remote machine.
-
+---
 *** The mode-line displays a mode menu when mouse-1 is clicked on a
 minor mode, in the same way as it already did for major modes.
 
 *** The `mode-line-emphasis' face is used to highlight certain
 mode-line information (e.g. waiting for a VC command to finish).
-
+---
 *** The mode-line tooltips have been improved to provide more details.
 
 *** The VC, line/colum number and minor mode indicators on the mode
@@ -286,6 +286,12 @@ inside of --eval command line arguments in order to access
 following arguments.
 
 ** The abbrev file is no longer read at startup in batch mode.
+
+** Emacs now supports invocation by an X session manager.
+It can save a session and restore it later.  See the documentation of
+the functions `emacs-session-save' and `emacs-session-restore'.
+(Actually, this feature was introduced with Emacs 22, but it was not
+documented.)
 \f
 * Incompatible Editing Changes in Emacs 23.1
 
@@ -425,7 +431,7 @@ buffer only on the second attempt to complete.  This was already
 supported in `partial-completion-mode'.
 
 ** Face changes
-
++++
 *** S-down-mouse-1 now pops up a menu for changing the font and text
 size of the default face in the current buffer.  The face is changed
 via face remapping (see below).
@@ -433,12 +439,12 @@ via face remapping (see below).
 *** FIXME face-remap
 
 ** Primary selection changes
-
++++
 *** If `select-active-regions' is t, setting the mark automatically
 makes the new region into the primary selection (for interaction with
 other window applications).  If you enable this, you might want to
 bind `mouse-yank-primary' to Mouse-2.
-
++++
 *** You can disable kill ring commands from accessing the primary
 selection by setting `x-select-enable-primary' to nil.
 
@@ -460,19 +466,22 @@ lines are truncated.  The default has been changed to 50.
 *** The new command balance-windows-area balances windows both
 vertically and horizontally.
 
-** Miscellaneous changes:
+*** pop-to-buffer now always sets input focus when the popped-to window
+is on a different frame.
+
+*** New functions window-parameters, window-parameter, set-window-parameter.
 
+** Miscellaneous changes:
 +++
 *** C-l is bound to the new command recenter-top-bottom, rather than recenter.
 This moves the current line to window center, top and bottom on
 successive invokations.
 
 *** scroll-preserve-screen-position also preserves the column position.
-
++++
 *** If `yank-pop-change-selection' is t, rotating the kill ring also
 updates the selection or clipboard to the current yank, just as M-w
 would do so with the text it copies to the kill ring.
-
 +++
 *** C-M-% now shows replacement as it would look in the buffer, with
 `\N' and `\&' substituted according to the match.  Old behavior can be
@@ -482,7 +491,6 @@ restored by customizing `query-replace-show-replacement'.
 called with a prefix and the default directory is a remote file name.
 This is because some file name handlers (like ange-ftp) are not able to
 run processes remotely.
-
 +++
 *** The new command kill-matching-buffers kills buffers whose name
 matches a regexp.
@@ -490,6 +498,13 @@ matches a regexp.
 *** The new commands `pp-macroexpand-expression' and
 `pp-macroexpand-last-sexp' pretty-print macro expansions.
 
+*** The new command `set-file-modes' allows to set file's mode bits.
+The mode bits can be specified in symbolic notation, like with GNU
+Coreutils, in addition to an octal number.
+
+*** If you set find-file-confirm-nonexistent-file to t, then C-x C-f
+requires confirmation before opening a non-existent file.
+
 \f
 * New Modes and Packages in Emacs 23.1
 
@@ -764,8 +779,10 @@ authentication respectively.
 ** Help mode
 *** New macro `with-help-window' should set up help windows better
 than `with-output-to-temp-buffer' with `print-help-return-message'.
+
 *** New option `help-window-select' permits to customize whether help
 window shall be automatically selected when invoking help.
+
 *** New variable `help-window-point-marker' permits to specify new
 position of point in help window (for example in `view-lossage').
 
@@ -835,7 +852,7 @@ permits to customize indentation of LaTeX environments delimited
 by escaped parens.
 
 ** T-mouse Mode
-
+---
 *** If the gpm mouse server is running and t-mouse-mode is enabled,
 Emacs uses a Unix socket in a GNU/Linux console to talk to server,
 rather than faking events using the client program mev.  This C level
@@ -876,7 +893,7 @@ Tramp uses the package `auth-source' to read passwords from a file, if
 necessary.
 
 ** VC and related modes
-
++++
 *** VC now supports applying VC operations to a set of files at a time.
 This enables VC to work much more effectively with changeset-oriented
 version-control systems such as Subversion, GNU Arch, Mercurial, Git
@@ -890,21 +907,17 @@ directory or a set of files/directories.
 *** Clicking on the VC mode-line entry now pops the VC menu.
 
 *** The VC mode-line entry now has a tooltip that explains the VC file status.
-
++++
 *** In VC Annotate mode, for VC systems that support changesets, you can
 see the diff for the whole changeset (not only for the current file)
-by typing the D key.
-
+by typing the D key.  Using the "Show changeset diff of revision at
+line" menu entry does the same thing.
++++
 *** In VC Annotate mode, you can type v to toggle the annotation visibility.
-
++++
 *** In VC Annotate mode, you can type f to show the file revision on
 the current line.
 
-*** In VC Annotate mode, for VC systems that support changesets, you
-can see the diff for the whole changeset (not only for the current
-file) by typing the D key or using the "Show changeset diff of
-revision at line" menu entry.
-
 *** Asynchronous VC commands display [Waiting...] in the mode-line
 of the corresponding buffer as long as the asynchronous process is
 active.
@@ -1102,6 +1115,8 @@ functions and variables (formerly used for Tamil script).
 \f
 * Lisp Changes in Emacs 23.1
 
+** New coding system alias `emacs-internal'.
+
 +++
 ** New primitives `list-system-processes' and `system-process-attributes'
 let Lisp programs access the processes that are running on the local
@@ -1164,20 +1179,24 @@ undefined functions.
 
 ** Changes to interactive function handling
 
++++
 *** The new interactive spec code ^ says to first call
 handle-shift-selection if shift-select-mode is non-nil, before reading
 the command arguments.  This is used for shift-selection (see above).
 
++++
 *** Built-in functions can now have an interactive specification that
 is not a prompt string.  If the `intspec' parameter of a `DEFUN'
 starts with a `(', the string is evaluated as a Lisp form.
 
++++
 *** The interactive-form of a function can be added post-facto via the
 `interactive-form' symbol property.  Mostly useful to add complex
 interactive forms to subroutines.
 
 ** Region changes
 
++++
 *** Commands should use `use-region-p' to test whether there is
 an active region that they should operate on.
 
@@ -1186,6 +1205,7 @@ enabled and there is an active region.  This is NOT the best function
 to use to test whether a command should operate on the region instead
 of the usual behavior -- for that, use `use-region-p'.
 
++++
 *** If a command sets `transient-mark-mode' to (only . OLDVAL), that
 means to activate transient-mark-mode temporarily, until the next
 unshifted point motion command or mark deactivation.  Afterwards,
@@ -1194,26 +1214,34 @@ reset transient-mark-mode to the value OLDVAL.  The values `only' and
 
 ** Emacs session information
 
++++
 *** The new variables `before-init-time' and `after-init-time' record the
 value of `current-time' before and after Emacs loads the init files.
 
++++
 *** The new function `emacs-uptime' returns the uptime of an Emacs instance.
 
++++
 *** The new function `emacs-init-time' returns the duration of the
 Emacs initialization.
 
 ** Changes affecting display-buffer
 
++++
 *** New value nil for split-height-threshold inhibits vertical splitting
 unless there's no other window.
 
++++
 *** New option split-width-threshold controls horizontal splitting.
 
++++
 *** A window can be split horizontally even when it's not full-width.
 
++++
 *** New option split-window-preferred-function can be set to a function
 to override the default splitting mechanism of display-buffer.
 
++++
 *** If pop-up-frames has the value `graphic-only', display-buffer only
 makes a separate frame on graphic displays.
 
@@ -1225,18 +1253,22 @@ functions `read-from-minibuffer', `read-string', `read-command',
 are available for inserting into the minibuffer by typing `M-n'.
 For empty input these functions return the first element of this list.
 
++++
 *** New function `read-regexp' uses the regexp history and some useful
 regexp defaults (string at point, last Isearch/replacement regexp/string)
 via M-n when reading a regexp in the minibuffer.
 
++++
 *** minibuffer-local-must-match-filename-map is now named
 minibuffer-local-filename-must-match-map.
 
+---
 *** `all-completions' may now return the base size in the last cdr.
 Since this means the returned list is not properly nil-terminated, this
 is an incompatible change and is thus enabled by the new variable
 completion-all-completions-with-base-size.
 
++++
 *** The `require-match' argument to `completing-read' accepts a new value
 `confirm-only'.
 
@@ -1247,23 +1279,32 @@ completion-all-completions-with-base-size.
 *** New function `match-substitute-replacement' returns the result of
 `replace-match' without actually using it in the buffer.
 
++++
 *** The new variable `replace-search-function' determines the function
-to use for searching in query-replace and replace-string.
+to use for searching in query-replace and replace-string.  The
+function it specifies is called by `perform-replace' when its 4th
+argument is nil.
 
++++
 *** The new variable `replace-re-search-function' determines the
 function to use for searching in `query-replace-regexp',
 `replace-regexp', `query-replace-regexp-eval', and
-`map-query-replace-regexp'.
+`map-query-replace-regexp'.  The function it specifies is called by
+`perform-replace' when its 4th argument is non-nil.
 
++++
 *** New keymap `search-map' bound to `M-s' provides global bindings
 for search related commands.
 
++++
 *** New keymap `multi-query-replace-map' contains additonal keys bound
 to `automatic-all' and `exit-current' for multi-buffer interactive replacement.
 
+---
 *** The variable `inhibit-changing-match-data', if non-nil, prevents
 the search and match primitives from changing the match data.
 
+---
 *** New functions `word-search-forward-lax' and `word-search-backward-lax'.
 These are like `word-search-forward and `word-search-backward', except
 that the end of the search string need not match a word boundary,
@@ -1271,11 +1312,13 @@ unless it ends in whitespace.
 
 ** File handling changes
 
++++
 *** set-file-modes is now interactive and can take the mode value in
 symbolic notation thanks to auxiliary functions.
 
-*** If you set find-file-confirm-nonexistent-file to t, then C-x C-f
-requires confirmation before opening a non-existent file.
++++
+*** file-local-variables-alist stores an alist of file-local
+variables defined in the current buffer.
 
 ** Process changes
 +++
@@ -1285,6 +1328,7 @@ but obeys file handlers.  The file handler is chosen based on
 and `process-file-shell-command' are also new; they call internally
 `start-file-process' and `process-file', respectively.
 
++++
 *** The new function `process-lines' executes an external program and
 returns its output as a list of lines.
 
@@ -1351,9 +1395,6 @@ a character code property.
 
 *** New variables:
 
-**** file-local-variables-alist stores an alist of file-local
-variables defined in the current buffer.
-
 **** `find-word-boundary-function-table' is a char-table of functions to
 search for a word boundary.
 
@@ -1488,6 +1529,7 @@ which is not used directly any more.
 
 *** New hooks:
 
++++
 **** before-hack-local-variables-hook is called after setting new
 variable file-local-variables-alist, and before actually applying the
 file-local variables.
@@ -1535,17 +1577,22 @@ times the default column width.
 
 ** Miscellaneous new functions
 
++++
 *** `format-seconds' converts a number of seconds into a readable
 string of days, hours, etc.
 
++++
 *** `apply-partially' performs a "curried" application of a function.
 
++++
 *** `read-shell-command' does what its name says, with completion.  It
 uses the minibuffer-local-shell-command-map for that.
 
++++
 *** `buffer-swap-text' swaps text between two buffers.  This can be
 useful for modes such as tar-mode, archive-mode, RMAIL.
 
++++
 *** `read-color' reads a color name using the minibuffer.
 
 *** `face-all-attributes' returns an alist describing all the basic
@@ -1554,9 +1601,16 @@ attributes of a given face.
 *** `window-full-width-p' returns t if a window is as wide as its
 frame.
 
-*** `split-string-and-unquote' does (what?)
++++
+*** `split-string-and-unquote' splits a string into a list of substrings
+on the boundaries of a given delimiter, and unquotes the substrings that
+are quoted.  Useful for taking apart shell commands.
 
-*** `combine-and-quote-strings' does (what?)
++++
+*** `combine-and-quote-strings' produces a single string from a list of strings
+sticking a separator string in between each pair, and quoting those
+strings that include the separator as their substring.  Useful for
+consing shell command lines from the individual arguments.
 
 *** `image-refresh' refreshes all images associated with a given image
 specification.