Fix date in entry.
[bpt/emacs.git] / etc / NEWS
index d4e1088..cb40238 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,6 +1,6 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2007, 2008 Free Software Foundation, Inc.
+Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 Please send Emacs bug reports to emacs-pretest-bug@gnu.org.
@@ -21,9 +21,6 @@ When you add a new item, please add it without either +++ or ---
 so we will look at it and add it to the manual.
 
 \f
-* About external Lisp packages
-
-\f
 * Installation Changes in Emacs 23.1
 
 ** The default X toolkit is now Gtk+, rather than Lucid.
@@ -60,7 +57,7 @@ a GIF library.
 This provides support for GNUstep (via the GNUstep libraries) and Mac
 OS X (via the Cocoa libraries).
 
-Specify --with-ns to configure for this. By default, a self-contained
+Specify --with-ns to configure for this.  By default, a self-contained
 app will be built (containing all lisp).  To install/share lisp with
 other emacsen (e.g. X11 build) use --disable-ns-self-contained.  See
 nextstep/README and nextstep/INSTALL in the Emacs source directory.
@@ -134,8 +131,13 @@ testing for the `multi-tty' feature.
 starts the server.  Clients can connect and create graphical or
 terminal frames using emacsclient.
 
+**** emacsclient starts emacs in daemon mode and connects to it when
+--alternate-editor="" is used (or when the evironment variable
+ALTERNATE_EDITOR is set to "") and emacsclient cannot connect to an
+emacs server.
+
 *** The new command close-display-connection closes a connection to a
-remote display.
+remote display.  There are some bugs for Gtk+.  See etc/PROBLEMS.
 
 *** Emacs now supports the XEmbed specification.
 You can embed Emacs in another application on X11.  The new command line
@@ -146,8 +148,8 @@ for details about XEmbed.
 *** Emacs can now set the frame opacity.
 The opacity of a frame can be controlled by setting the `alpha' frame
 parameter.  This only takes effect on a compositing window manager for
-the X Window System, such as Compiz, Beryl and Compiz Fusion, or on
-Windows 2000 and later versions of Windows.
+the X Window System, such as Compiz, Beryl and Compiz Fusion, on Mac
+OS X, or on Windows 2000 and later versions of Windows.
 
 The alpha parameter should be an integer between 0 (transparent) and
 100 (opaque), or a float number between 0.0 and 1.0.  It can also be a
@@ -251,7 +253,7 @@ line are now interactive: mouse-1 can be used on them to pop up a menu.
 +++
 ** File deletion can make use of the Recycle Bin or system Trash folder.
 Set `delete-by-moving-to-trash' non-nil to use this.  Deleted files
-and directories will then be sent to the Recyle Bin on Windows, and
+and directories will then be sent to the Recycle Bin on Windows, and
 to `trash-directory' on other systems.
 
 +++
@@ -311,8 +313,18 @@ the history list.
 the minibuffer that toggles word search (i.e. using key sequences
 `C-s RET C-w' or `C-s M-e C-w') is obsolete.  You can use the global key
 `M-s w' to start word search, or type `M-s w' in Isearch mode to
-toggle word search.
+toggle word search.  To start nonincremental word search you can now use
+`M-s w RET' and `M-s w C-r RET' instead of `C-s RET C-w' and `C-r RET C-w'.
+
++++
+** In Info, `Info-search' is unbound from `M-s' to allow using `M-s w'
+for word search as well as other search commands from the global prefix
+key `M-s'.  `Info-search' is still bound to `s', and also incremental
+search commands `C-s', `C-M-s', `C-r', `C-M-r' are available for searching
+through multiple Info nodes, together with their nonincremental versions
+`C-s RET', `C-r RET', `C-M-s RET', `C-M-r RET', `M-s w RET'.
 
+---
 ** In Text mode, `center-line' and `center-paragraph' are rebound
 from `M-s' and `M-S' to global keys `M-o M-s' and `M-o M-S' on the
 global prefix map `M-o' intended for such formatting commands.
@@ -325,6 +337,14 @@ norwegian-alt-postfix, scandinavian-alt-postfix, spanish-alt-postfix,
 and swedish-alt-postfix.  Use the versions without "alt-", which are
 identical.
 
++++
+** If a function in write-region-annotate-functions returns with a
+different buffer current, Emacs no longer kills that buffer
+automatically.  This behavior existed in previous versions of Emacs,
+but was undocumented.  To kill a buffer after write-region, give the
+variable `write-region-post-annotation-function' a buffer-local value
+of `kill-buffer'.
+
 \f
 * Editing Changes in Emacs 23.1
 
@@ -378,6 +398,19 @@ buffer).
 
 ** Minibuffer and completion changes
 +++
+*** Emacs may ask for confirmation before opening a non-existent file
+or buffer.  By default, Emacs requests confirmation if you type RET
+immediately after TAB, and the resulting input is not an existing file
+or buffer; this usually happens when the minibuffer input did not
+complete far enough and you entered RET by mistake.  In that case,
+Emacs puts the message "[Confirm]" in the minibuffer; type RET again
+to create the file or buffer.
+
+The new variable confirm-nonexistent-file-or-buffer determines whether
+Emacs asks for confirmation.  The default value is `after-completion'.
+If you change it to t, Emacs always asks for confirmation; if you
+change it to nil, Emacs never asks for confirmation.
++++
 *** When M-n in the minibuffer reaches the end of the list of defaults,
 it adds the completion list to the end, so next M-n continues putting
 completion items to the minibuffer.  The same principle applies to
@@ -464,6 +497,7 @@ 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.
 
+---
 ** Continuation lines can now be wrapped at word boundaries
 (word-wrapping).  This is controlled by the new per-buffer variable
 `word-wrap'.  Word wrapping does not take place if continuation lines
@@ -474,14 +508,14 @@ editing commands to work on screen lines rather than text lines.  See
 New Modes and Packages, below.
 
 ** Window management changes
-
++++
 *** truncate-partial-width-windows now accepts integer values, which
 specify a minimum window width for partial-width windows, below which
 lines are truncated.  The default has been changed to 50.
 
 *** The new command balance-windows-area balances windows both
 vertically and horizontally.
-
+---
 *** pop-to-buffer now always sets input focus when the popped-to window
 is on a different frame.
 
@@ -489,8 +523,8 @@ is on a different frame.
 +++
 *** 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.
-
+successive invocations.
++++
 *** scroll-preserve-screen-position also preserves the column position.
 +++
 *** If `yank-pop-change-selection' is t, rotating the kill ring also
@@ -508,17 +542,14 @@ run processes remotely.
 +++
 *** The new command kill-matching-buffers kills buffers whose name
 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.
-+++
-*** Emacs requires confirmation before opening a non-existent file or buffer.
-You can recover the previous behavior by setting
-confirm-nonexistent-file-or-buffer to nil.
+Coreutils, in addition to an octal number.  `chmod' is a new
+convenience alias for this function.
 
 *** `next-error-recenter' specifies how next-error should recenter the
 visited source file.  Its value can be a number (for example, 0 for
@@ -526,6 +557,8 @@ top line, -1 for bottom line), or nil for no recentering.
 +++
 *** When typing in a password in the echo area, C-y yanks the current
 kill into the password.
+
+*** `mkdir' is a new convenience alias for `make-directory'.
 \f
 * New Modes and Packages in Emacs 23.1
 
@@ -537,6 +570,9 @@ automatically when they are displayed.  It is globally on by default.
 It uses `auto-composition-function' (default `auto-compose-chars').
 
 ** Bubbles, a new game, is similar to SameGame.
+---
+** butterfly flips the desired bit on the drive platter.
+See http://xkcd.com/378/
 
 ** bug-reference.el provides clickable links to bug reports.
 
@@ -544,7 +580,8 @@ It uses `auto-composition-function' (default `auto-compose-chars').
 D-Bus is an inter-process communication mechanism for applications
 residing on the same host.  See the manual for details.
 
-** Doc View mode allows viewing of PDF, PostScript and DVI documents.
++++
+** DocView mode allows viewing of PDF, PostScript and DVI documents.
 One can also search for a regular expression in the document.  For
 details, see the commentary in doc-view.el.
 
@@ -573,6 +610,7 @@ Maildir/MH setups.
 
 ** minibuffer-depth-indicate-mode shows the minibuffer depth in the prompt.
 
++++
 ** nXML Mode
 This is a new mode for editing XML documents.  It allows a schema to
 be associated with the XML document being edited, using Relax NG as
@@ -585,17 +623,21 @@ any invalid parts of your document.
 attribute name or data value by using information about what is
 allowed by the schema in that context.
 
-** proced.el provides a Dired-like interface for operating on processes.
-Proced makes an Emacs buffer containing a listing of the current
-processes (using ps(1)).  You can use the normal Emacs commands to
-move around in this buffer, and special Proced commands to operate on
-the processes listed.
+** proced.el provides a Dired-like interface for operating on
+processes.  Proced makes an Emacs buffer containing a listing of the
+current processes.  You can use the normal Emacs commands to move
+around in this buffer, and special Proced commands to operate on the
+processes listed.  It is currently only functional on GNU/Linux,
+MS-Windows and Solaris.
 
 ** Remember Mode is a mode for jotting down things to remember.
 Notes can be saved to a Diary file.  For details, see the Remember
 Manual.
 
-** RST mode is a major mode for editing ReSTructured-Text files.
+** RST mode is a major mode for editing reStructuredText files.
+
++++
+** Ruby mode is a major mode for Ruby files.
 
 +++
 ** Visual Line mode provides support for editing by visual lines.
@@ -650,6 +692,7 @@ specifies what to do when a buffer is visited, killed, or written.
 Note, however, that the free version of the unrar command only handles
 versions 1 and 2 of the Rar format.
 
+---
 ** BibTeX mode
 
 *** New command `bibtex-initialize' (re)initializes BibTeX buffers.
@@ -717,7 +760,7 @@ the first error encountered during compilations.
 says to stop auto scrolling at the first error that occurs.
 ---
 *** The `cc' alias for C++ files in `grep-file-aliases' has been
-improved. `hh' can be used to match C++ header files and `cchh' both
+improved.  `hh' can be used to match C++ header files and `cchh' both
 C++ sources and headers.
 
 ** Copyright
@@ -744,8 +787,8 @@ diff-auto-refine-mode.  It is bound to `C-c C-b'.
 buffer and tries to create ChangeLog entries for each change.
 It is bound to `C-x 4 A'.
 +++
-*** The new function `diff-show-trailing-whitespaces' shows
-trailing whitespace problems in the modified lines of a diff buffer.
+*** Turning on `whitespace-mode' in a diff buffer will show trailing
+whitespace problems in the modified lines.
 
 ** Dired
 +++
@@ -859,7 +902,7 @@ history.  See `Minibuffer changes', above.
 +++
 ** MH-E
 
-*** Upgraded to MH-E version 8.1. See MH-E-NEWS for details.
+*** Upgraded to MH-E version 8.1.  See MH-E-NEWS for details.
 
 ** Python
 *** The file etc/emacs.py now supports both Python 2 and 3, meaning
@@ -876,8 +919,72 @@ way as gud-mode does for debugging C programs with gdb.
 remote files, if there is no established connection to the
 corresponding remote host.
 
-** TeX modes
+** Rmail
+
++++
+*** Rmail no longer converts the messages to Babyl format.
+Instead, it uses UNIX mbox format, both on disk and in Rmail buffers,
+and does conversion and decoding when a message is displayed.
+
+The first time you visit an Rmail file in Babyl format, Rmail
+automatically converts it to mbox format.  This is a one-time
+conversion, but it can take a few minutes, depending on how fast is
+your machine and on the size of the file.  You should find the rest of
+Rmail usage unaltered.
+
+However, M-x set-rmail-inbox-list now lasts only for one session
+because there is no way to save the list of inbox files in an
+mbox-format file.
+
+If you have written any extensions to Rmail, they are likely to need
+updating.  Conceptually, the Rmail buffer that you see is no longer
+just a narrowed portion of the whole.  So you cannot access the whole
+of a message (or message collection) by a simple save-restriction and
+widen.  Instead, there are two buffers: the rmail-buffer, and the
+rmail-view-buffer.  The former is the buffer that you see, the latter
+is invisible.  Most of the time, the invisible `view' buffer contains
+the full contents of the Rmail file, and the Rmail buffer contains a
+decoded copy of the current message (with only a subset of the
+headers).  In this state, Rmail is said to be `swapped'.
 
+You may find the following functions useful:
+
+`rmail-get-header' and `rmail-set-header' get or set the value of a
+message header, whether or not it is currently visible.
+
+`rmail-apply-in-message' is a general purpose function that calls a
+function (with arguments) which you specify on the full text of a given
+message.  To further narrow to just the headers, search forward for "\n\n".
+
++++
+*** The new command `rmail-mime' displays MIME messages.
+It is bound to `v' in Rmail buffers and summaries.  It displays plain
+text and multipart messages in a temporary buffer, and offers buttons
+to save attachments.
+
+---
+*** The command `rmail-redecode-body' no longer accepts the optional arg RAW.
+Since Rmail now holds messages in their original undecoded form in a
+separate buffer, `rmail-redecode-body' no longer encodes the original
+message, and therefore there should be no need to avoid encoding it.
+
++++
+*** The o command is now `rmail-output'.  It is an all-purpose command
+for copying messages from Rmail and appending them to files.  It
+handles Babyl-format files as well as mbox-format files, and it
+handles both kinds properly when they are visited in Emacs.  It always
+copies the full headers of the message.
+
++++
+*** The C-o command is now `rmail-output-as-seen'.  It uses
+the message as displayed, appending it to an mbox file.
+
+---
+*** The modified status of the Rmail buffer is reported in the mode-line.
+Previously, this information was hidden.
+
+** TeX modes
+---
 *** New option latex-indent-within-escaped-parens
 permits to customize indentation of LaTeX environments delimited
 by escaped parens.
@@ -898,6 +1005,10 @@ The new methods "plinkx", "plink2", "psftp", "sftp" and "fish" have
 been introduced.  There are also new so-called gateway methods
 "tunnel" and "socks".
 
+*** IPv6 addresses.
+IPv6 addresses are supported now as host names.  They must be embedded
+in square brackets, like in "/ssh:[::1]:".
+
 *** Multihop syntax has been removed.
 The pseudo-method "multi" has been removed.  Instead of, multi hops
 can be specified by the new variable `tramp-default-proxies-alist'.
@@ -935,6 +1046,14 @@ a single changeset.
 status.  It allows to apply various VC operations to a file, a
 directory or a set of files/directories.
 +++
+*** VC switches are no longer appended, rather the first non-nil value is used.
+(This was for the most part true in Emacs 22, but was not advertised).
+This is because there is an increasing variety of VC systems, and they
+do not all accept the same "common" options.  For example, a CVS diff
+command used to append the values of `vc-cvs-diff-switches',
+`vc-diff-switches', and `diff-switches'.  Now the first non-nil value
+from that sequence is used.  The special value `t' means "no switches".
++++
 *** 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.
@@ -973,7 +1092,7 @@ to update it to the new VC.
 *** comint-mode uses `start-file-process' now (see Lisp Changes).
 If `default-directory' is a remote file name, subprocesses are started
 on the corresponding remote system.
-
+---
 *** Eldoc highlights the function argument under point
 with the face `eldoc-highlight-function-argument'.
 +++
@@ -991,7 +1110,7 @@ goto-address-prog-mode, which buttonize URLS and email addresses.
 
 *** The new variable `ffap-rfc-directories' specifies a list of local
 directories in which `ffap-rfc' will first search for RFCs.
-
++++
 *** hide-ifdef-mode allows shadowing ifdef-blocks instead of hiding them.
 See option `hide-ifdef-shadow' and function `hide-ifdef-toggle-shadowing'.
 
@@ -1024,7 +1143,7 @@ tex-suscript-height-minimum.
 
 *** view-remove-frame-by-deleting is now by default t
 since users found iconification of view-mode frames distracting.
-
+---
 *** WoMan tries to add locale-specific manual page directories to the
 search path.  This can be disabled by setting `woman-locale' to nil.
 
@@ -1070,7 +1189,7 @@ w32-pass-multimedia-buttons to nil.  See the doc string of that variable
 for the list of extra keys that are available.
 
 ** BDF fonts no longer supported on MS-Windows.
-The font backend was completely rewritten for this release. The focus
+The font backend was completely rewritten for this release.  The focus
 on Windows has been getting acceptable performance and full unicode
 support, including complex script shaping for native Windows fonts.  A
 rewrite of the BDF font support has not happened due to lack of time
@@ -1116,6 +1235,10 @@ checking/manipulating elements directly, use the new functions
 ** `mode-name' is no longer guaranteed to be a string.
 Use `(format-mode-line mode-name)' to ensure a string value.
 
++++
+** The function x-font-family-list has been removed.
+Use the new function font-family-list (see Lisp Changes, below).
+
 ** Internationalization changes
 
 *** The value of the function `charset-id' is now always 0.
@@ -1143,13 +1266,26 @@ mlm-* functions and variables (formerly used for Malayalam script).
 **** `tamil' and `tml-util, and all associated tamil-* and tml-*
 functions and variables (formerly used for Tamil script).
 
+---
+** The variable temp-file-name-pattern has been removed.
+This variable was only used by call-process-region, which now uses
+temporary-file-directory instead.
+
 \f
 * Lisp Changes in Emacs 23.1
 
 ** New coding system alias `emacs-internal'.
 
 +++
-** New primitives `list-system-processes' and `system-process-attributes'
+** The new variable `generate-autoload-cookie' controls the magic comment
+string used by `update-file-autoloads' to find autoloaded forms.  The
+variable `generated-autoload-file' similarly controls the name of the
+file where `update-file-autoloads' writes the calls to `autoload'.
+The default values are ";;;###autoload" and `loaddefs.el',
+respectively.
+
++++
+** New primitives `list-system-processes' and `process-attributes'
 let Lisp programs access the processes that are running on the local
 machine.  See the doc strings of these functions for more details.
 Not all platforms support accessing this information; on those that
@@ -1232,9 +1368,10 @@ interactive forms to subroutines.
 an active region that they should operate on.
 
 *** `region-active-p' returns non-nil when Transient Mark mode is
-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'.
+enabled and the mark is active.  Most commands that act specially on
+the active region in Transient Mark mode should use `use-region-p'
+instead of `region-active-p', because `use-region-p' obeys the new
+user option `use-empty-active-region' (see Editing Changes, above).
 
 +++
 *** If a command sets `transient-mark-mode' to (only . OLDVAL), that
@@ -1305,15 +1442,9 @@ 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'.
+*** The `require-match' argument to `completing-read' accepts the new
+values `confirm-only' and `confirm-after-completion'.
 
 ** Search and replacement changes
 +++
@@ -1363,7 +1494,7 @@ symbolic notation thanks to auxiliary functions.
 variables defined in the current buffer.
 
 ** Face-remapping
-
++++
 *** Each face can be remapped to a different face definition using the
 variable `face-remapping-alist'.  This is an alist that maps faces to
 replacement definitions (which can be face names, lists of face names,
@@ -1371,23 +1502,24 @@ or attribute/value plists.  If this variable is buffer-local, the
 remapping occurs only in that buffer.
 
 *** text-scale-mode remaps the default face to a larger or smaller
-size in the current buffer. This feature is used by the Buffer Face
+size in the current buffer.  This feature is used by the Buffer Face
 menu and the new `C-x C-+', `C-x C--', and `C-x C-0' commands (see
 Editing Changes, above).
 
 *** New functions:
-
++++
 **** `face-remap-add-relative' adds a face remapping entry to the
 current buffer.
-
++++
 **** ``face-remap-remove-relative' removes a face remapping entry from
 the current buffer.
-
++++
 **** `face-remap-reset-base' restores a face to its global definition.
-
++++
 **** `face-remap-set-base' sets the base remapping of a face.
 
-** Process changes +++
+** Process changes
++++
 *** The new function `start-file-process' is similar to `start-process',
 but obeys file handlers.  The file handler is chosen based on
 `default-directory'.  The functions `start-file-process-shell-command'
@@ -1424,6 +1556,7 @@ positional codes instead of just 2.
 +++
 *** The functions `encode-char' and `decode-char' now accept any character sets.
 
+---
 *** The function `define-charset' now accepts a completely different
 form of arguments (old-style arguments still work).
 
@@ -1431,6 +1564,7 @@ form of arguments (old-style arguments still work).
 *** The value of the function `char-charset' depends on the current
 priorities of charsets.
 
++++
 *** The function get-char-code-property now accepts many Unicode base
 character properties.  They are `name', `general-category',
 `canonical-combining-class', `bidi-class', `decomposition',
@@ -1443,7 +1577,9 @@ accept a cons of characters as the first argument, and modify all
 entries in that range of characters.
 
 +++
-*** `translation-table-for-input' is now obsolete.
+*** Use of `translation-table-for-input' for character code unification
+is now obsolete, since Emacs 23.1 and later uses Unicode as basis for
+internal representation of characters.
 
 *** New functions:
 
@@ -1451,8 +1587,10 @@ entries in that range of characters.
 **** `characterp' returns t if and only if the argument is a character.
 This replaces `char-valid-p', which is now obsolete.
 
++++
 **** `max-char' returns the maximum character code (currently #x3FFFFF).
 
+---
 **** `define-charset-alias' defines an alias of a charset.
 
 +++
@@ -1464,8 +1602,10 @@ This replaces `char-valid-p', which is now obsolete.
 +++
 **** `unibyte-string' makes a unibyte string from bytes.
 
+---
 **** `define-char-code-property' defines a character code property.
 
++++
 **** `char-code-property-description' returns the description string of
 a character code property.
 
@@ -1474,48 +1614,72 @@ a character code property.
 **** `find-word-boundary-function-table' is a char-table of functions to
 search for a word boundary.
 
++++
 **** `char-script-table' is a char-table of script names.
 
++++
 **** `char-width-table' is a char-table of character widths.
 
+---
 **** `print-charset-text-property' controls how to handle `charset' text
 property on printing a string.
 
++++
 **** `printable-chars' is a char-table of printable characters.
 
 ** Code conversion changes
 
+---
 *** The new function `define-coding-system' should be used to define a
 coding system instead of `make-coding-system' (which is now obsolete).
 
++++
 *** The functions `encode-coding-region' and `decode-coding-region'
 have an optional 4th argument to specify where the result of
 conversion should go.
 
++++
 *** The functions `encode-coding-string' and `decode-coding-string'
 have an optional 4th argument specifying a buffer to store the result
 of conversion.
 
++++
+*** The new variable `inhibit-null-byte-detection' controls whether to
+consider text with null bytes as binary data.  By default, it is
+`nil', and Emacs uses `no-conversion' for any text containing null
+bytes.
+
+---
 *** The functions `set-coding-priority' and `make-coding-system' are obsolete.
 
 *** New functions:
 
++++
 **** `with-coding-priority' executes Lisp code using the specified
 coding system priority order.
 
++++
 **** `check-coding-systems-region' checks if the text in the region is
 encodable by the specified coding systems.
 
++++
 **** `coding-system-aliases' returns a list of aliases of a coding system.
 
++++
 **** `coding-system-charset-list' returns a list of charsets supported
 by a coding system.
 
++++
 **** `coding-system-priority-list' returns a list of coding systems
 ordered by their priorities.
 
++++
 **** `set-coding-system-priority' sets priorities of coding systems.
 
+**** `coding-system-from-name' returns a coding system matching with
+the argument name.
+
+
 ** There is a new input method, Robin, different from Quail.
 It has three functionalities:
  i) a simple input method (converts an ASCII sequence into a string).
@@ -1554,52 +1718,61 @@ second argument, and has an optional 5th argument to control how to
 set the font.
 
 *** New functions:
-
++++
 **** `fontp' checks if the argument is a font-spec or font-entity.
-
++++
 **** `font-spec' creates a new font-spec object.
-
++++
 **** `font-get' returns a font property value.
-
++++
 **** `font-put' sets a font property value.
-
++++
 **** `font-face-attributes' returns a plist of face attributes set by a font.
-
++++
 **** `list-fonts' returns a list of font-entities matching a font spec.
-
-**** `font-font' returns the font-entity best matching the given font spec.
-
-**** `list-families' returns a list of family names of available fonts.
-
++++
+**** `find-font' returns the font-entity best matching the given font spec.
++++
+**** `font-family-list' returns a list of family names of available fonts.
++++
 **** `font-xlfd-name' returns an XLFD name of a given font spec, font
 entity, or font object.
-
+---
 **** `clear-font-cache' clears all font caches.
 
 ** Changes related to multiple-terminal (multi-tty) support
 
+---
 *** $TERM is now set to `dumb' for subprocesses.  If you want to know the
 $TERM inherited by Emacs you will have to look inside initial-environment.
 
+---
 *** $DISPLAY is now dynamically inherited from the frame's `display'.
 
++++
 *** The `window-system' variable is now frame-local.  The new
 `initial-window-system' variable contains the `window-system' value
 for the first frame.  `window-system' is also now a function that
 takes a frame argument.
 
++++
 *** The `keyboard-translate-table' variable and the terminal and
 keyboard coding systems are now terminal-local.
 
+---
 *** You can specify a terminal device (`tty' parameter) and a terminal
 type (`tty-type' parameter) to `make-terminal-frame'.
 
+---
 *** The function `make-frame-on-display' now works during a tty
-session, and `make-frame-on-tty' works during a graphical session.
+session.
 
-*** A new data type for terminals with functions: `get-device-terminal',
-`terminal-parameters', `terminal-parameter', `set-terminal-parameter'.
++++
+*** A new `terminal' data type.
+The functions `get-device-terminal', `terminal-parameters',
+`terminal-parameter', `set-terminal-parameter' use this data type.
 
++++
 *** Function key sequences are now mapped using `local-function-key-map',
 a new variable.  This inherits from the global variable function-key-map,
 which is not used directly any more.
@@ -1611,26 +1784,28 @@ which is not used directly any more.
 variable file-local-variables-alist, and before actually applying the
 file-local variables.
 
++++
 **** `suspend-tty-functions' and `resume-tty-functions' are called
 after a tty frame has been suspended or resumed, respectively.  The
 functions are called with the terminal id of the frame being
 suspended/resumed as a parameter.
 
++++
 **** The special hook `delete-terminal-functions' is called before
 deleting a terminal.
 
 *** New functions:
 
-**** `environment'
-
-**** `make-frame-on-tty' creates a new frame on another tty device.
-
-**** `delete-tty'
++++
+**** `delete-terminal'
 
++++
 **** `suspend-tty'
 
++++
 **** `resume-tty'.
 
++++
 *** `initial-environment' holds the environment inherited from Emacs's parent.
 
 ** Redisplay changes
@@ -1674,6 +1849,9 @@ 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.
 
+*** New variable `buffer-swapped-with' lets the modes that use
+`buffer-swap-text' arrange to save the file from the proper buffer.
+
 +++
 *** `read-color' reads a color name using the minibuffer.