diff etc/NEWS @ 96333:90d2cbaa59f6

Rearrange items, and delete some duplicates.
author Chong Yidong <cyd@stupidchicken.com>
date Thu, 26 Jun 2008 17:26:15 +0000
parents c0227e195a0e
children 399d3bf4ec08
line wrap: on
line diff
--- a/etc/NEWS	Thu Jun 26 16:20:49 2008 +0000
+++ b/etc/NEWS	Thu Jun 26 17:26:15 2008 +0000
@@ -173,6 +173,10 @@
 *** The font setting chosen by "Set Default Font" is saved if the
 "Save Options" item is used.
 
+*** The Tools menu contains a new Encryption/Decryption submenu.
+This contains commands provided by EasyPG, the newly-included
+interface to GnuPG (see New Modes and Packages).
+
 *** The Options menu contains a new entry to turn on Longlines mode.
 
 ** Mode-line changes
@@ -238,7 +242,8 @@
 +++
 *** mark-even-if-inactive now defaults to t
 +++
-*** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without activating it.
+*** When Transient Mark mode is on, C-SPC C-SPC pushes a mark without
+activating it.
 +++
 *** When Transient Mark mode is on, M-q now fills the region if the
 region is active.  Otherwise, it fills the current paragraph.
@@ -306,12 +311,9 @@
 
 ** Face changes
 
-*** The new function `face-all-attributes' returns an alist describing
-all the basic attributes of a given face.
-
-*** S-down-mouse-1 now pops up a menu for changing the default font
-and text size of the default face in the current buffer.  The face is
-changed via face remapping (see below).
+*** 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).
 
 *** FIXME face-remap
 
@@ -322,8 +324,8 @@
 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.
+*** You can disable kill ring commands from accessing the primary
+selection by setting `x-select-enable-primary' to nil.
 
 ** Completion changes
 
@@ -335,9 +337,9 @@
 *** The new command `minibuffer-force-complete' chooses one of the
 possible completions, rather than stopping at the common prefix.
 
-*** `completion-auto-help' can be set to `lazy' to list the completions only
-if you repeat the completion.  This was already supported in
-`partial-completion-mode'.
+*** `completion-auto-help' can be set to `lazy' to list the
+completions only if you repeat the completion.  This was already
+supported in `partial-completion-mode'.
 
 ** Continuation lines can be wrapped at word boundaries
 (word-wrapping) instead of the right window edge.  The new per-buffer
@@ -354,12 +356,6 @@
 *** The new command balance-windows-area balances windows both
 vertically and horizontally.
 
-** Continuation lines can be wrapped at word boundaries
-(word-wrapping) instead of the right window edge.  The new per-buffer
-variable `word-wrap', if non-nil turns on word-wrapping.  Word
-wrapping does not take place if continuation lines are not shown,
-e.g. if truncate-lines is non-nil.
-
 ** Miscellaneous changes:
 
 *** New keymap `search-map' bound to `M-s' provides global bindings
@@ -389,8 +385,8 @@
 *** 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 commands `pp-macroexpand-expression' and
+`pp-macroexpand-last-sexp' pretty-print macro expansions.
 
 
 * New Modes and Packages in Emacs 23.1
@@ -406,28 +402,20 @@
 
 ** bug-reference.el provides clickable links to bug reports.
 
-** copyright.el adds utilities for specifying copyright holders' names.
-
-*** Only copyright lines with holders matching copyright-names-regexp
-will be considered for update.
-
-*** The Copyright package looks for copyright at the end of the buffer
-if `copyright-at-end-flag' is non-nil (change-log-mode sets this).
+** copyright.el provides utilities for updating copyright notices in files.
 
 ** dbus.el provides D-Bus language bindings.
 D-Bus is an inter-process communication mechanism for applications
-residing on the same host, based on messages.  See the manual for
-details.
+residing on the same host.  See the manual for details.
 
-** Doc View Mode supports viewing of PDF, PostScript and DVI documents
-inside an Emacs buffer.  It works by converting the document to a set
-of PNG images first.  One can also search for a regular expression in
-the document.  The commentary in doc-view.el explains its usage.
+** Doc View 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.
 
-** EasyPG is an all-in-one GnuPG interface.
-It includes GnuPG keyring browser, cryptographic operations on regions
-and files, and automatic encryption of *.gpg files.  For details, see
-the EasyPG Assistant User's Manual.
+** EasyPG provides an interface to the GNU Privacy Guard (GnuPG).
+It includes a GnuPG keyring browser, cryptographic operations on
+regions and files, and automatic encryption of *.gpg files.  For
+details, see the EasyPG Assistant User's Manual.
 
 ** json.el is a library for parsing and generating JSON
 (JavaScript Object Notation), a lightweight data-interchange format.
@@ -820,35 +808,22 @@
 * Incompatible Lisp Changes in Emacs 23.1
 
 ** Variables cannot be both buffer-local and frame-local any more.
-** The argument DEFAULT of minibuffer input functions `read-from-minibuffer',
-`read-string', `completing-read', `read-buffer', `read-command',
-`read-variable' now can be a list of default values.  The elements of
-this list are available for inserting to the minibuffer with `M-n'.
-If the user enters empty input, the first element is used as the default.
 
 ** `functionp' returns nil for special forms.
 I.e., it only returns t for objects that can be passed to `funcall'.
 
-+++
-** The multibyteness of process filters is determined by the coding-system
-used for decoding.  The functions `process-filter-multibyte-p' and
-`set-process-filter-multibyte' are obsolete.
-
 ** The behavior of map-char-table has changed.  It may call the
 specified function with a cons (FROM . TO) as a key if characters in
 that range have the same value.
 
-** The value of the function `charset-id' is now always 0.
-
-** The functions `register-char-codings' and `coding-system-spec'
-have been removed.
-
-** The cpXXX coding systems are now supported automatically.  The
-functions cp-...-codepage, which you had to use in Emacs 22 to enable
-support for these coding systems, have been deleted.
-
+** Process changes
++++
+*** The function `dired-call-process' has been removed.
 +++
-** The function `dired-call-process' has been removed.
+*** The multibyteness of process filters is now determined by the
+coding-system used for decoding.  The functions
+`process-filter-multibyte-p' and `set-process-filter-multibyte' are
+obsolete.
 
 ** The variable `byte-compile-warnings' can now be a list starting with `not',
 meaning to disable the specified warnings.  The meaning of this list
@@ -861,31 +836,110 @@
 ** `mode-name' is no longer guaranteed to be a string.
 Use `(format-mode-line mode-name)' to ensure a string value.
 
-** The following features have been removed.  They were used for
+** Internationalization changes
+
+*** The value of the function `charset-id' is now always 0.
+
+*** The functions `register-char-codings' and `coding-system-spec'
+have been removed.
+
+*** The cpXXX coding systems are now supported automatically.
+The functions cp-...-codepage, which you had to use in Emacs 22 to
+enable support for these coding systems, have been deleted.
+
+*** The following features have been removed.  They were used for
 displaying various scripts with specific fonts, and are no longer
 needed now that OpenType font support is available:
 
-*** `devanagari' and `devan-util', and all associated devanagari-* and
+**** `devanagari' and `devan-util', and all associated devanagari-* and
 dev-* functions and variables (formerly used for Devanagari script).
 
-*** `kannada' and `knd-util', and all associated kannada-* and knd-*
+**** `kannada' and `knd-util', and all associated kannada-* and knd-*
 functions and variables (formerly used for Kannada script).
 
-*** `malayalam' and `mlm-util', and all associated malayalam-* and
+**** `malayalam' and `mlm-util', and all associated malayalam-* and
 mlm-* functions and variables (formerly used for Malayalam script).
 
-*** `tamil' and `tml-util, and all associated tamil-* and tml-*
+**** `tamil' and `tml-util, and all associated tamil-* and tml-*
 functions and variables (formerly used for Tamil script).
 
 
 * Lisp Changes in Emacs 23.1
 
-** bookmark provides `bookmark-make-record-function' so special major modes
-like Info can teach bookmark.el how to save&restore the relevant data.
++++
+** New variable `user-emacs-directory'.
+Use this instead of "~/.emacs.d".
+
+** If a local hook function has a non-nil `permanent-local-hook'
+property, `kill-all-local-variables' does not remove it from the local
+value of the hook variable; it remains even if you change major modes.
+
+** `frame-inherited-parameters' lets new frames inherit parameters from
+the selected frame.
+
+** New keymap `input-decode-map' overrides like key-translation-map, but
+applies before function-key-map.  Also it is terminal-local contrary to
+key-translation-map.  Terminal-specific key-sequences are generally added to
+this map rather than to function-key-map now.
+
+** `ignore-errors' is now a standard macro (does not require the CL package).
+
+** `interprogram-paste-function' can now return one string or a list
+of strings.  In the latter case, Emacs puts the second and following
+strings on the kill ring.
+
++++
+** In `condition-case', a handler can specify "let the debugger run first".
+You do this by writing `debug' in the list of conditions to be handled,
+like this:
+
+    (condition-case nil
+	(foo bar)
+      ((debug error) nil))
+
+** clone-indirect-buffer now runs the clone-indirect-buffer-hook.
+
+** `beginning-of-defun-function' now takes one argument, the count
+given to `beginning-of-defun'.
 
-** The new variable next-error-recenter specifies how next-error should
-recenter the visited source file.  Its value can be a number (for example,
-0 for top line, -1 for bottom line), or nil for no recentering.
++++
+** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED.
+IDENTIFICATION specifies which part of the remote identifier has to be
+returned.  With CONNECTED passed non-nil, it is checked whether a
+remote connection has been established already.
+
+** The new macro `declare-function' suppresses compiler warnings about
+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.
+
+*** `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'.
+
+*** 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,
+reset transient-mark-mode to the value OLDVAL.  The values `only' and
+`identity', introduced in Emacs 22, are now deprecated.
 
 ** Emacs session information
 
@@ -897,131 +951,73 @@
 *** The new function `emacs-init-time' returns the duration of the
 Emacs initialization.
 
-** The new function `format-seconds' converts a number of seconds into a
-readable string of days, hours, etc.
-
-** set-file-modes is now interactive and can take the mode value in
-symbolic notation thanks to auxiliary functions.
+** Changes affecting display-buffer
 
-** If you set find-file-confirm-nonexistent-file to t, then C-x C-f
-requires confirmation before opening a non-existent file.
-
-** Built-in functions (subr) 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.
-
-** 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.
 
-** The variable window-point-insertion-type determines the insertion-type
-of the marker used for window-point.
-
-** 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.
-
-** New function `apply-partially' for curried application.
-
-** `fill-forward-paragraph-function' specifies which function the filling
-code should use to find paragraph boundaries.
-
-** The variable `this-command-keys-shift-translated' is non-nil if the
-key sequence invoking the current command was found by
-shift-translation.
-
-** The new interactive spec code ^ says to first call
-handle-shift-selection if shift-select-mode is non-nil, before reading
-the command arguments.
-
-** When deleting a terminal, the special hook `delete-terminal-functions'
-is run.
-
-** The `read-shell-command' function does what its name says, with completion.
-It uses the minibuffer-local-shell-command-map for that.
-
-** The `buffer-swap-text' function can swap the text between two buffers.
-This can be useful for modes such as tar-mode, archive-mode, RMAIL.
-
-** `clear-image-cache' can be told to flush only images of a specific file.
-
-** clone-indirect-buffer now runs the clone-indirect-buffer-hook.
-
-** `beginning-of-defun-function' now takes one argument, the count
- given to `beginning-of-defun'.
-
-** The variable `inhibit-changing-match-data', if non-nil, prevents the
-search and match primitives from changing the match data.
-
+** Minibuffer and completion changes
 +++
-** 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.
-
-** 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'.
-
-** If a local hook function has a non-nil `permanent-local-hook'
-property, then `kill-all-local-variables' does not remove it from
-the local value of the hook variable.  This means it remains
-even if you change major modes.
-
-+++
-** A list of default values can be specified for the DEFAULT argument of
+*** A list of default values can be specified for the DEFAULT argument of
 functions `read-from-minibuffer', `read-string', `read-command',
 `read-variable', `read-buffer', `completing-read'.  Elements of this list
 are available for inserting into the minibuffer by typing `M-n'.
 For empty input these functions return the first element of this list.
 
-** `custom-note-var-changed' tells Custom to treat the change in a certain
-variable as having been made within Custom.
+*** minibuffer-local-must-match-filename-map is now named
+minibuffer-local-filename-must-match-map.
 
-** `frame-inherited-parameters' lets new frames inherit parameters from
-the selected frame.
+*** `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.
 
-** Commands should use `use-region-p' to test whether there is
-an active region that they should operate on.
+*** The `require-match' argument to `completing-read' accepts a new value
+`confirm-only'.
 
-** `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'.
+** Search and replacement changes
++++
+*** The regexp form \(?<num>:<regexp>\) specifies the group number explicitly.
++++
+*** 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.
 
-** 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,
-reset transient-mark-mode to the value OLDVAL.  The values `only' and
-`identity', introduced in Emacs 22, are now deprecated.
+*** 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'.
 
-** New keymap `input-decode-map' overrides like key-translation-map, but
-applies before function-key-map.  Also it is terminal-local contrary to
-key-translation-map.  Terminal-specific key-sequences are generally added to
-this map rather than to function-key-map now.
+*** The variable `inhibit-changing-match-data', if non-nil, prevents
+the search and match primitives from changing the match data.
+
+** File handling changes
+
+*** set-file-modes is now interactive and can take the mode value in
+symbolic notation thanks to auxiliary functions.
 
-** The new macro `declare-function' suppresses compiler warnings about
-undefined functions.  The new `check-declare' package verifies that such
-statements are accurate (i.e. the functions are actually defined in
-the specified files).
+*** If you set find-file-confirm-nonexistent-file to t, then C-x C-f
+requires confirmation before opening a non-existent file.
 
-** `ignore-errors' is now a standard macro (does not require the CL package).
-
-** The new function `read-color' reads a color name using the minibuffer.
+** 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'
+and `process-file-shell-command' are also new; they call internally
+`start-file-process' and `process-file', respectively.
 
-** `interprogram-paste-function' can now return one string or a list
-of strings.  In the latter case, Emacs puts the second and following
-strings on the kill ring.
+*** The new function `process-lines' executes an external program and
+returns its output as a list of lines.
 
 ** Character code, representation, and charset changes.
 
@@ -1031,42 +1027,21 @@
 
 Generic characters no longer exist.
 
-In buffer and string, characters are represented by UTF-8 byte
-sequence in a multibyte buffer/string.
+In buffers and strings, characters are represented by UTF-8 byte
+sequences in a multibyte buffer/string.
 
-The concept of a charset has changed.  A single character may belong to
-multiple charsets (e.g. a-grave, U+00E0, belongs to charsets unicode,
-iso-8859-1, iso-8859-3, etc).
-
-*** The new function `characterp' returns t if and only if the argument
-is a character.  This replaces `char-valid-p', which is now obsolete.
-
-*** The new function `max-char' returns the maximum character code
-(currently it is #x3FFFFF).
+The concept of a charset has changed.  A single character may belong
+to multiple charsets (e.g. a-grave, U+00E0, belongs to charsets
+unicode, iso-8859-1, iso-8859-3, etc).
 
 *** 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).
 
-*** The new function `define-charset-alias' defines an alias of a charset.
-
 *** The value of the function `char-charset' depends on the current
 priorities of charsets.
 
-*** The new function `charset-priority-list' returns the list of
-charsets ordered by priority.
-
-*** The new function `set-charset-priority' sets priorities of charsets.
-
-*** The new function `unibyte-string' make a unibyte string from bytes.
-
-*** The new function `define-char-code-property' defines a character
-code property.
-
-*** The new function `char-code-property-description' returns the
-description string of a character code property.
-
 *** The function get-char-code-property now accepts many Unicode base
 character properties.  They are `name', `general-category',
 `canonical-combining-class', `bidi-class', `decomposition',
@@ -1074,25 +1049,47 @@
 `old-name', `iso-10646-comment', `uppercase', `lowercase', and
 `titlecase'.
 
-*** The new variable `find-word-boundary-function-table' is a
-char-table of functions to search for a word boundary.
-
-*** The new variable `char-script-table' is a char-table of script names.
-
-*** The new variable `char-width-table' is a char-table of character widths.
+*** The functions `modify-syntax-entry' and `modify-category-entry' now
+accept a cons of characters as the first argument, and modify all
+entries in that range of characters.
 
-*** The new variable `print-charset-text-property' controls how to
-handle `charset' text property on printing a string.
-
-*** The new variable `printable-chars' is a char-table defining if a
-character is printable or not.
-
-*** The functions `modify-syntax-entry' and `modify-category-entry' now
-accepts a cons of characters as the first argument, and modify all
-entries in that range of characters.
 +++
 *** `translation-table-for-input' is now obsolete.
 
+*** New functions:
+
+**** `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.
+
+**** `set-charset-priority' sets priorities of charsets.
+
+**** `charset-priority-list' returns a prioritized list of charsets.
+
+**** `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.
+
+*** New variables:
+
+**** `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
@@ -1106,25 +1103,25 @@
 have an optional 4th argument specifying a buffer to store the result
 of conversion.
 
-*** The new function `with-coding-priority' executes the body part with
-the specified coding system priority order.
+*** The functions `set-coding-priority' and `make-coding-system' are obsolete.
+
+*** New functions:
 
-*** The new function `check-coding-systems-region' checks if the text
-in the region is encodable by the specified coding systems.
+**** `with-coding-priority' executes Lisp code using the specified
+coding system priority order.
 
-*** The new function `coding-system-aliases' returns a list of aliases
-of a coding system.
+**** `check-coding-systems-region' checks if the text in the region is
+encodable by the specified coding systems.
 
-*** The new function `coding-system-charset-list' returns a list of
-charsets supported by a coding system.
+**** `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.
 
-*** The new function `coding-system-priority-list' returns a list of
-coding systems ordered by their priorities.
+**** `coding-system-priority-list' returns a list of coding systems
+ordered by their priorities.
 
-*** The new function `set-coding-system-priority' sets priorities of
-coding systems.
-
-*** The functions `set-coding-priority' and `make-coding-system' are obsolete.
+**** `set-coding-system-priority' sets priorities of coding systems.
 
 ** There is a new input method, Robin, different from Quail.
 It has three functionalities:
@@ -1158,151 +1155,160 @@
 font-backends supported by the frame's graphic device.  On X, they are
 currently `x' and `xft'.
 
-*** New function `fontp' checks if the argument is a font-spec or font-entity.
-
-*** New function `font-spec' creates a new font-spec object.
-
-*** New function `font-get' returns a font property value.
-
-*** New function `font-face-attributes' returns a plist of face
-attributes set by a font.
-
-*** New function `font-put' sets a font property value.
-
-*** New function `list-fonts' returns a list of font-entities matching
-the given specification.
-
-*** New function `list-families' returns a list of family names of
-available fonts.
-
-*** New function `font-font' returns a font-entity best matching with
-the given specification.
-
-*** New function `font-xlfd-name' returns an XLFD name of a given font
-(font-spec, font-entity, or font-object).
-
-*** New function `clear-font-cache' clears all font caches.
-
 *** The function `set-fontset-font' now accepts a script name as the
 second argument, and has an optional 5th argument to control how to
 set the font.
 
-** Changes related to multiple tty support
+*** 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.
+
+**** `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 has been made frame-local.  The new
+*** 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 new function `make-frame-on-tty' allows you to create a new
-frame on another tty device interactively.
-
 *** The function `make-frame-on-display' now works during a tty
 session, and `make-frame-on-tty' works during a graphical session.
 
-*** New functions: `delete-tty', `suspend-tty', `resume-tty'.
-
 *** A new data type for terminals with functions: `get-device-terminal',
 `terminal-parameters', `terminal-parameter', `set-terminal-parameter'.
 
-*** New hooks: `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.
+*** 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.
+
+*** New hooks:
+
+**** `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.
 
-*** New function: `environment'.
+**** The special hook `delete-terminal-functions' is called before
+deleting a terminal.
+
+*** New functions:
+
+**** `environment'
 
-*** New variable: `local-function-key-map'.
-This in addition to the global function-key-map variable that
-already existed.  The global variable is not used directly any more;
-instead, the local-function-key-map is initialized so as to inherit from
-function-key-map.
+**** `make-frame-on-tty' creates a new frame on another tty device.
+
+**** `delete-tty'
+
+**** `suspend-tty'
+
+**** `resume-tty'.
 
 *** `initial-environment' holds the environment inherited from Emacs's parent.
 
-*** The `keyboard-translate-table' variable and the terminal and
-keyboard coding systems have been made terminal-local.
+** Redisplay changes
 
-*** In addition to the global function-key-map, Emacs has terminal-local
-local-function-key-map variables, and uses them instead of the
-global keymaps to set up translations and function key sequences
-relevant to a specific terminal device.
+*** For underlined characters, the distance between the underline and
+the baseline is controlled by a new variable, `underline-minimum-offset'.
 
-*** `underline-minimum-offset' keeps the underline away from the baseline.
-
-** You can now also pass the value of the `invisible' property to invisible-p
-to check whether it would cause the text to be invisible.  Convenient when
-checking invisibility of text which has no buffer position
+*** You can now pass the value of the `invisible' property to
+invisible-p to check whether it would cause the text to be invisible.
+Convenient when checking invisibility of text with no buffer position
 (e.g. in before/after-strings).
 
-** Non-breaking space now acts as whitespace.
-
-+++
-** In `condition-case', a handler can specify "let the debugger run first".
+*** Non-breaking space is now displayed as whitespace.
 
-You do this by writing `debug' in the list of conditions to be handled,
-like this:
+*** `clear-image-cache' can be told to flush only images of a specific file.
 
-    (condition-case nil
-	(foo bar)
-      ((debug error) nil))
+** Miscellaneous new functions
 
-** The `require-match' argument to `completing-read' accepts a new value
-`confirm-only'.
+*** `format-seconds' converts a number of seconds into a readable
+string of days, hours, etc.
 
-+++
-** The regexp form \(?<num>:<regexp>\) specifies the group number explicitly.
+*** `apply-partially' performs a "curried" application of a function.
 
-** New function `window-full-width-p' returns t if a window is as wide
-as its frame.
+*** `read-shell-command' does what its name says, with completion.  It
+uses the minibuffer-local-shell-command-map for that.
 
-** The new function `split-string-and-unquote' does (what?)
-
-** The new function `combine-and-quote-strings' does (what?)
+*** `buffer-swap-text' swaps text between two buffers.  This can be
+useful for modes such as tar-mode, archive-mode, RMAIL.
 
-** The new function `image-refresh' refreshes all images associated
-with a given image specification.
+*** `read-color' reads a color name using the minibuffer.
 
-+++
-** New variable `user-emacs-directory'.
-Use this instead of "~/.emacs.d".
+*** `face-all-attributes' returns an alist describing all the basic
+attributes of a given face.
+
+*** `window-full-width-p' returns t if a window is as wide as its
+frame.
 
-+++
-** 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'
-and `process-file-shell-command' are also new; they call internally
-`start-file-process' and `process-file', respectively.
+*** `split-string-and-unquote' does (what?)
+
+*** `combine-and-quote-strings' does (what?)
 
-** The new function `process-lines' executes an external program and
-returns its output as a list of lines.
+*** `image-refresh' refreshes all images associated with a given image
+specification.
 
-+++
-** `file-remote-p' has new optional parameters IDENTIFICATION and CONNECTED.
-IDENTIFICATION specifies which part of the remote identifier has to be
-returned.  With CONNECTED passed non-nil, it is checked whether a
-remote connection has been established already.
-
-** The two new functions `looking-at-p' and `string-match-p' can do
+*** The two new functions `looking-at-p' and `string-match-p' can do
 the same matching as `looking-at' and `string-match' without changing
 the match data.
 
-** 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.
+** Miscellaneous new variables
+
+*** `this-command-keys-shift-translated' is non-nil if the key
+sequence invoking the current command was found by shift-translation.
+
+*** `window-point-insertion-type' determines the insertion-type of the
+marker used for window-point.
+
+*** bookmark provides `bookmark-make-record-function' so special major
+modes like Info can teach bookmark.el how to save and restore the
+relevant data.
+
+*** `next-error-recenter' specifies how next-error should recenter the
+visited source file.  Its value can be a number (for example, 0 for
+top line, -1 for bottom line), or nil for no recentering.
+
+*** `fill-forward-paragraph-function' specifies which function the
+filling code should use to find paragraph boundaries.
+
+*** `custom-note-var-changed' tells Custom to treat the change in a
+certain variable as having been made within Custom.
+
 
 * New Packages for Lisp Programming in Emacs 23.1
 
-** The new major mode `special-mode' is intended as a parent for
-major modes such as those that set the "'mode-class 'special" property.
+** The new package avl-tree.el deals with the AVL tree data structure.
+
+** The new package check-declare.el verifies the accuracy of
+declare-function macros (see Lisp Changes, above).
 
 ** find-cmd.el can build `find' commands using lisp syntax.
 
@@ -1312,7 +1318,8 @@
 `isearch-buffers-next-buffer-function' defines the function to call
 to get the next buffer to search in the series of multiple buffers.
 
-** The new package avl-tree.el deals with the AVL tree data structure.
+** The new major mode `special-mode' is intended as a parent for
+major modes such as those that set the "'mode-class 'special" property.
 
 
 ----------------------------------------------------------------------