Revision: miles@gnu.org--gnu-2005/emacs--unicode--0--patch-95
[bpt/emacs.git] / etc / NEWS
index c21ffa8..f138074 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -14,6 +14,81 @@ Temporary note:
 When you add a new item, please add it without either +++ or ---
 so we will look at it and add it to the manual.
 
+Fixme: The notes about Emacs 23 are quite incomplete.
+
+\f
+* Changes in Emacs 23.1
+
+** The Emacs character set is now a superset of Unicode.  
+(It has about four times the code space, which should be plenty).
+
+The internal encoding used for buffers and strings is now
+Unicode-based and called `utf-8-emacs'.  utf-8-emacs is backwards
+compatible with the UTF-8 encoding of Unicode.  The `emacs-mule'
+coding system can still read and write data in the old internal
+encoding.
+
+There are still charsets which contain disjoint sets of characters
+where this is necessary or useful, especially for various Far Eastern
+sets which are problematic with Unicode.
+
+Since the internal encoding is also used by default for byte-compiled
+files -- i.e. the normal coding system for byte-compiled Lisp files is
+now utf-8-Emacs -- Lisp containing non-ASCII characters which is
+compiled by Emacs 23 can't be read by earlier versions of Emacs.  Files
+compiled by Emacs 20, 21, or 22 are loaded correctly as emacs-mule
+(whether or not they contain multibyte characters), which makes loading
+them somewhat slower than Emacs 23-compiled files.  Thus it may be worth
+recompiling existing .elc files which don't need to be shared with older
+Emacsen.
+
+** There are assorted new coding systems/aliases -- see
+M-x list-coding-systems.
+
+** New charset implementation with many new charsets.
+See M-x list-character-sets.  New charsets can be defined conveniently
+as tables of unicodes.
+
+The dimension of a charset is now 0, 1, 2, or 3, and the size of each
+dimension is no longer limited to 94 or 96.
+
+Generic characters no longer exist.  
+
+A dynamic charset priority list is used to infer the charset of
+unicodes for display &c.
+
+** The following facilities are obsolete:
+
+Minor modes: unify-8859-on-encoding-mode, unify-8859-on-decoding-mode
+
+\f
+* Lisp changes in Emacs 23.1
+
+map-char-table's behaviour has changed.
+
+New functions: characterp, max-char, map-charset-chars,
+define-charset-alias, primary-charset, set-primary-charset,
+unify-charset, clear-charset-maps, charset-priority-list,
+set-charset-priority, define-coding-system,
+define-coding-system-alias, coding-system-aliases, langinfo,
+string-to-multibyte.
+
+Changed functions: copy-sequence, decode-char, encode-char,
+set-fontset-font, new-fontset, modify-syntax-entry, define-charset,
+modify-category-entry
+
+Obsoleted: char-bytes, chars-in-region, set-coding-priority,
+char-valid-p
+
+\f
+* Incompatible Lisp changes
+
+Deleted functions: make-coding-system, register-char-codings,
+coding-system-spec
+
+** The character codes for characters from the
+eight-bit-control/eight-bit-graphic charsets aren't now in the range
+128-255.
 \f
 * Installation Changes in Emacs 22.1
 
@@ -108,9 +183,20 @@ types any more.  Add -DUSE_LISP_UNION_TYPE if you want union types.
 ---
 ** When pure storage overflows while dumping, Emacs now prints how
 much pure storage it will approximately need.
+
+** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the
+contents of buffers from a core dump and save them to files easily, should
+emacs crash.
+
+---
+** The Emacs terminal emulation in term.el uses a different terminfo name.
+The Emacs terminal emulation in term.el now uses "eterm-color" as its
+terminfo name, since term.el now supports color.
+
 \f
 * Startup Changes in Emacs 22.1
 
++++
 ** New command line option -Q or --quick.
 This is like using -q --no-site-file, but in addition it also disables
 the fancy startup screen.
@@ -169,6 +255,11 @@ disables the splash screen; see also the variable
 `inhibit-startup-message' (which is also aliased as
 `inhibit-splash-screen').
 
++++
+** The default is now to use an bitmap as the icon, so the command-line options
+--icon-type, -i has been replaced with options --no-bitmap-icon, -nbi to turn
+the bitmap icon off.
+
 +++
 ** New user option `inhibit-startup-buffer-menu'.
 When loading many files, for instance with `emacs *', Emacs normally
@@ -344,6 +435,10 @@ understand two new boolean pseudo-frame-parameters `same-frame' and
 ** The default for the paper size (variable ps-paper-type) is taken
 from the locale.
 
+** The command `list-faces-display' now accepts a prefix arg.
+When passed, the function prompts for a regular expression and lists
+only faces matching this regexp.
+
 ** Mark command changes:
 
 +++
@@ -607,6 +702,12 @@ supplied.  This behavior is analogous to `write-file'.
 controls whether or not the function `make-auto-save-file-name' will
 attempt to construct a unique auto-save name (e.g. for remote files).
 
++++
+*** The new option `write-region-inhibit-fsync' disables calls to fsync
+in `write-region'.  This can be useful on laptops to avoid spinning up
+the hard drive upon each file save.  Enabling this variable may result
+in data loss, use with care.
+
 +++
 *** If the user visits a file larger than `large-file-warning-threshold',
 Emacs asks for confirmation.
@@ -652,6 +753,12 @@ same uses the face `completions-first-difference'.  By default,
 parts less visible than normal, so that the rest of the differing
 parts is, by contrast, slightly highlighted.
 
+Above fontification is always done when listing completions is
+triggered at minibuffer. If you want to fontify completions whose
+listing is triggered at the other normal buffer, you have to pass
+the common prefix of completions to `display-completion-list' as
+its second argument.
+
 +++
 *** File-name completion can now ignore specified directories.
 If an element of the list in `completion-ignored-extensions' ends in a
@@ -681,9 +788,9 @@ appears between the position information and the major mode.
 *** New face `escape-glyph' highlights control characters and escape glyphs.
 
 +++
-*** Non-breaking space and hyphens are now prefixed with an escape
-character, unless the new user variable `show-nonbreak-escape' is set
-to nil.
+*** Non-breaking space and hyphens are now displayed with a special
+face, either nobreak-space or escape-glyph.  You can turn this off or
+specify a different mode by setting the variable `nobreak-char-display'.
 
 +++
 *** The parameters of automatic hscrolling can now be customized.
@@ -701,6 +808,7 @@ gives the fraction of the window's width to scroll the window.
 The variable `automatic-hscrolling' was renamed to
 `auto-hscroll-mode'.  The old name is still available as an alias.
 
+---
 *** Moving or scrolling through images (and other lines) taller that
 the window now works sensibly, by automatically adjusting the window's
 vscroll property.
@@ -787,6 +895,24 @@ appears in.
 *** The variable `cursor-in-non-selected-windows' can now be set to any
 of the recognized cursor types.
 
+** New faces:
+
++++
+*** `mode-line-highlight' is the standard face indicating mouse sensitive
+elements on mode-line (and header-line) like `highlight' face on text
+areas.
+
++++
+*** `shadow' face defines the appearance of the "shadowed" text, i.e.
+the text which should be less noticeable than the surrounding text.
+This can be achieved by using shades of grey in contrast with either
+black or white default foreground color.  This generic shadow face
+allows customization of the appearance of shadowed text in one place,
+so package-specific faces can inherit from it.
+
++++
+*** `vertical-border' face is used for the vertical divider between windows.
+
 ** Font-Lock changes:
 
 +++
@@ -817,8 +943,10 @@ trouble with fontification and/or indentation.
 +++
 *** New standard font-lock face `font-lock-preprocessor-face'.
 
++++
 *** New standard font-lock face `font-lock-comment-delimiter-face'.
 
++++
 *** Easy to overlook single character negation can now be font-locked.
 You can use the new variable `font-lock-negation-char-face' and the face of
 the same name to customize this.  Currently the cc-modes, sh-script-mode,
@@ -854,8 +982,7 @@ This menu allows you to turn various display features on and off (such
 as the fringes, the tool bar, the speedbar, and the menu bar itself).
 You can also move the vertical scroll bar to either side here or turn
 it off completely.  There is also a menu-item to toggle displaying of
-current date and time, current line and column number in the
-mode-line.
+current date and time, current line and column number in the mode-line.
 
 ---
 *** Speedbar has moved from the "Tools" top level menu to "Show/Hide".
@@ -893,12 +1020,10 @@ the new dialog.
 ** Mouse changes:
 
 +++
-*** New display feature: focus follows the mouse from one Emacs window
-to another, even within a frame.  If you set the variable
-mouse-autoselect-window to non-nil value, moving the mouse to a
-different Emacs window will select that window (minibuffer window can
-be selected only when it is active).  The default is nil, so that this
-feature is not enabled.
+*** If you set the new variable `mouse-autoselect-window' to a non-nil
+value, windows are automatically selected as you move the mouse from
+one Emacs window to another, even within a frame.  A minibuffer window
+can be selected only when it is active.
 
 +++
 *** On X, when the window manager requires that you click on a frame to
@@ -966,7 +1091,7 @@ mouse-wheel-inhibit-click-time variables.
 +++
 *** Under X, mouse-wheel-mode is turned on by default.
 
-** Mule changes:
+** Multilingual Environment (Mule) changes:
 
 ---
 *** Language environment and various default coding systems are setup
@@ -1098,12 +1223,11 @@ in CNS encoding; it accepts both Big 5 and CNS as input; on saving,
 Big 5 is then converted to CNS.
 
 ---
-*** Many new coding systems are available by loading the `code-pages'
-library.  These include complete versions of most of those in
-codepage.el, based on Unicode mappings.  `codepage-setup' is now
-obsolete and is used only in the MS-DOS port of Emacs.  windows-1252
-and windows-1251 are preloaded since the former is so common and the
-latter is used by GNU locales.
+*** Many new coding systems are available in the `code-pages' library.
+These include complete versions of most of those in codepage.el, based
+on Unicode mappings.  `codepage-setup' is now obsolete and is used
+only in the MS-DOS port of Emacs.  All coding systems defined in
+`code-pages' are auto-loaded.
 
 ---
 *** New variable `utf-translate-cjk-unicode-range' controls which
@@ -1116,6 +1240,12 @@ fontset appropriately.
 
 ** Customize changes:
 
++++
+*** Custom themes are collections of customize options.  Create a
+custom theme with M-x customize-create-theme.  Use M-x load-theme to
+load and enable a theme, and M-x disable-theme to disable it.  Use M-x
+enable-theme to renable a disabled theme.
+
 +++
 *** The commands M-x customize-face and M-x customize-face-other-window
 now look at the character after point.  If a face or faces are
@@ -1238,6 +1368,7 @@ modes (shell-mode etc) inserts arguments from previous command lines,
 like bash's `ESC .' binding.  It is bound by default to `C-c .', but
 otherwise behaves quite similarly to the bash version.
 
++++
 *** `comint-use-prompt-regexp-instead-of-fields' has been renamed
 `comint-use-prompt-regexp'.  The old name has been kept as an alias,
 but declared obsolete.
@@ -1270,6 +1401,10 @@ This option allows you to specify environment variables for inferior
 compilation processes without affecting the environment that all
 subprocesses inherit.
 
++++
+*** New user option `compilation-disable-input'.
+If this is non-nil, send end-of-file as compilation process input.
+
 +++
 *** New options `next-error-highlight' and `next-error-highlight-no-select'
 specify the method of highlighting of the corresponding source line
@@ -1283,9 +1418,11 @@ buffer causes automatic display in another window of the corresponding
 matches, compilation errors, etc.  This minor mode can be toggled with
 C-c C-f.
 
++++
 *** When the left fringe is displayed, an arrow points to current message in
 the compilation buffer.
 
++++
 *** The new variable `compilation-context-lines' controls lines of leading
 context before the current message.  If nil and the left fringe is displayed,
 it doesn't scroll the compilation output window.  If there is no left fringe,
@@ -1438,6 +1575,29 @@ colors as on X.
 \f
 * New Modes and Packages in Emacs 22.1
 
+** Rcirc is now part of the Emacs distribution.
+
+Rcirc is an Internet relay chat (IRC) client.  It supports
+simultaneous connections to multiple IRC servers.  Each discussion
+takes place in its own buffer.  For each connection you can join
+several channels (many-to-many) and participate in private
+(one-to-one) chats.  Both channel and private chats are contained in
+separate buffers.
+
+To start an IRC session, type M-x irc, and follow the prompts for
+server, port, nick and initial channels.
+
+---
+** Newsticker is now part of the Emacs distribution.
+
+Newsticker asynchronously retrieves headlines (RSS) from a list of news
+sites, prepares these headlines for reading, and allows for loading the
+corresponding articles in a web browser.  Its documentation is in a
+separate manual.
+
++++
+** savehist saves minibuffer histories between sessions.
+
 +++
 ** Filesets are collections of files.  You can define a fileset in
 various ways, such as based on a directory tree or based on
@@ -1516,6 +1676,21 @@ versions of cua.el and cua-mode.el.  To ensure proper operation, you
 must remove older versions of cua.el or cua-mode.el as well as the
 loading and customization of those packages from the .emacs file.
 
++++
+** Org mode is now part of the Emacs distribution
+
+Org mode is a mode for keeping notes, maintaining ToDo lists, and
+doing project planning with a fast and effective plain-text system.
+It also contains a plain-text table editor with spreadsheet-like
+capabilities.
+
+The Org mode table editor can be integrated into any major mode by
+activating the minor Orgtbl-mode.
+
+The documentation for org-mode is in a separate manual; within Emacs,
+type "C-h i m org RET" to read that manual.  A reference card is
+available in `etc/orgcard.tex' and `etc/orgcard.ps'.
+
 +++
 ** The new package dns-mode.el add syntax highlight of DNS master files.
 The key binding C-c C-s (`dns-mode-soa-increment-serial') can be used
@@ -1585,7 +1760,7 @@ before calling it, if used while defining a macro.
 
 In addition, when ending or calling a macro with C-x e, the macro can
 be repeated immediately by typing just the `e'.  You can customize
-this behavior via the variable kmacro-call-repeat-key and
+this behavior via the variables kmacro-call-repeat-key and
 kmacro-call-repeat-with-arg.
 
 Keyboard macros can now be debugged and edited interactively.
@@ -1612,6 +1787,7 @@ referred to as "soft word wrap" in other text editors.  This is
 similar to Refill mode, but more reliable.  To turn the word wrap
 feature off, set `longlines-auto-wrap' to nil.
 
++++
 ** The printing package is now part of the Emacs distribution.
 
 If you enable the printing package by including (require 'printing) in
@@ -1701,9 +1877,60 @@ recognized.
 ---
 ** The TCL package tcl-mode.el was replaced by tcl.el.
 This was actually done in Emacs-21.1, and was not documented.
+
+** The new package scroll-lock.el provides the Scroll Lock minor mode
+for pager-like scrolling.  Keys which normally move point by line or
+paragraph will scroll the buffer by the respective amount of lines
+instead and point will be kept vertically fixed relative to window
+boundaries during scrolling.
 \f
 * Changes in Specialized Modes and Packages in Emacs 22.1:
 
+** Changes in Allout
+
+*** Topic cryptography added, enabling easy gpg topic encryption and
+decryption.  Per-topic basis enables interspersing encrypted-text and
+clear-text within a single file to your hearts content, using symmetric
+and/or public key modes.  Time-limited key caching, user-provided
+symmetric key hinting and consistency verification, auto-encryption of
+pending topics on save, and more, make it easy to use encryption in
+powerful ways.
+
+*** many substantial fixes and refinements, including:
+
+   - repaired inhibition of inadvertant edits to concealed text
+   - repaired retention of topic body hanging indent upon topic depth shifts
+   - prevent "containment discontinuities" where a topic is shifted deeper
+     than the offspring-depth of its' container
+   - easy to adopt the distinctive bullet of a topic in a topic created
+     relative to it, or select a new one, or use the common topic bullet
+   - plain bullets, by default, now alternate between only two characters
+     ('.' and ','), yielding less cluttered outlines.
+   - many internal fixes.
+
+** The variable `woman-topic-at-point' was renamed
+to `woman-use-topic-at-point' and behaves differently: if this
+variable is non-nil, the `woman' command uses the word at point
+automatically, without asking for a confirmation.  Otherwise, the word
+at point is suggested as default, but not inserted at the prompt.
+
+---
+** Changes to cmuscheme
+
+*** Emacs now offers to start Scheme if the user tries to
+evaluate a Scheme expression but no Scheme subprocess is running.
+
+*** If a file `.emacs_NAME' (where NAME is the name of the Scheme interpreter)
+exists in the user's home directory or in ~/.emacs.d, its
+contents are sent to the Scheme subprocess upon startup.
+
+*** There are new commands to instruct the Scheme interpreter to trace
+procedure calls (`scheme-trace-procedure') and to expand syntactic forms
+(`scheme-expand-current-form').  The commands actually sent to the Scheme
+subprocess are controlled by the user options `scheme-trace-command',
+`scheme-untrace-command' and `scheme-expand-current-form'.
+
+---
 ** Makefile mode has submodes for automake, gmake, makepp and BSD make.
 
 The former two couldn't be differentiated before, and the latter two
@@ -1765,7 +1992,7 @@ when Emacs visits them.
 *** A numeric prefix argument of `info' selects an Info buffer
 with the number appended to the `*info*' buffer name (e.g. "*info*<2>").
 
----
++++
 *** isearch in Info uses Info-search and searches through multiple nodes.
 
 Before leaving the initial Info node isearch fails once with the error
@@ -1776,31 +2003,38 @@ aroung the whole manual to the top/final node.  The user option
 or the default isearch search function that wraps around the current
 Info node.
 
+---
 *** New search commands: `Info-search-case-sensitively' (bound to S),
 `Info-search-backward', and `Info-search-next' which repeats the last
 search without prompting for a new search string.
 
++++
 *** New command `Info-history-forward' (bound to r and new toolbar icon)
 moves forward in history to the node you returned from after using
 `Info-history-back' (renamed from `Info-last').
 
+---
 *** New command `Info-history' (bound to L) displays a menu of visited nodes.
 
+---
 *** New command `Info-toc' (bound to T) creates a node with table of contents
 from the tree structure of menus of the current Info file.
 
++++
 *** New command `info-apropos' searches the indices of the known
 Info files on your system for a string, and builds a menu of the
 possible matches.
 
+---
 *** New command `Info-copy-current-node-name' (bound to w) copies
 the current Info node name into the kill ring.  With a zero prefix
 arg, puts the node name inside the `info' function call.
 
----
++++
 *** New face `info-xref-visited' distinguishes visited nodes from unvisited
 and a new option `Info-fontify-visited-nodes' to control this.
 
+---
 *** http and ftp links in Info are now operational: they look like cross
 references and following them calls `browse-url'.
 
@@ -1949,7 +2183,7 @@ exceptions are M-a (c-beginning-of-statement) and M-e
 
 The notion of "defun" has been augmented to include AWK pattern-action
 pairs.  C-M-a (c-awk-beginning-of-defun) and C-M-e (c-awk-end-of-defun)
-recognise these pattern-action pairs, as well as user defined
+recognize these pattern-action pairs, as well as user defined
 functions.
 
 **** Auto-newline Insertion and Clean-ups
@@ -1986,7 +2220,7 @@ cells.  E.g. a line that previously had the syntactic analysis
 
 ((inclass . 11) (topmost-intro . 13))
 
-is now analysed as
+is now analyzed as
 
 ((inclass 11) (topmost-intro 13))
 
@@ -2133,6 +2367,9 @@ line is left untouched.
 The function `c-toggle-syntactic-indentation' can be used to toggle
 syntactic indentation.
 
+** In sh-script, a continuation line is only indented if the backslash was
+preceded by a SPC or a TAB.
+
 ---
 ** Perl mode has a new variable `perl-indent-continued-arguments'.
 
@@ -2169,6 +2406,80 @@ majority.
 the syntax of backslashes in F90 buffers.
 
 ---
+** Reftex mode changes
++++
+*** Changes to RefTeX's table of contents
+
+The new command keys "<" and ">" in the TOC buffer promote/demote the
+section at point or all sections in the current region, with full
+support for multifile documents.
+
+The new command `reftex-toc-recenter' (`C-c -') shows the current
+section in the TOC buffer without selecting the TOC window.
+Recentering can happen automatically in idle time when the option
+`reftex-auto-recenter-toc' is turned on.  The highlight in the TOC
+buffer stays when the focus moves to a different window.  A dedicated
+frame can show the TOC with the current section always automatically
+highlighted.  The frame is created and deleted from the toc buffer
+with the `d' key.
+
+The toc window can be split off horizontally instead of vertically.
+See new option `reftex-toc-split-windows-horizontally'.
+
+Labels can be renamed globally from the table of contents using the
+key `M-%'.
+
+The new command `reftex-goto-label' jumps directly to a label
+location.
+
++++
+*** Changes related to citations and BibTeX database files
+
+Commands that insert a citation now prompt for optional arguments when
+called with a prefix argument.  Related new options are
+`reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'.
+
+The new command `reftex-create-bibtex-file' creates a BibTeX database
+with all entries referenced in the current document.  The keys "e" and
+"E" allow to produce a BibTeX database file from entries marked in a
+citation selection buffer.
+
+The command `reftex-citation' uses the word in the buffer before the
+cursor as a default search string.
+
+The support for chapterbib has been improved.  Different chapters can
+now use BibTeX or an explicit `thebibliography' environment.
+
+The macros which specify the bibliography file (like \bibliography)
+can be configured with the new option `reftex-bibliography-commands'.
+
+Support for jurabib has been added.
+
++++
+*** Global index matched may be verified with a user function
+
+During global indexing, a user function can verify an index match.
+See new option `reftex-index-verify-function'.
+
++++
+*** Parsing documents with many labels can be sped up.
+
+Operating in a document with thousands of labels can be sped up
+considerably by allowing RefTeX to derive the type of a label directly
+from the label prefix like `eq:' or `fig:'.  The option
+`reftex-trust-label-prefix' needs to be configured in order to enable
+this feature.  While the speed-up is significant, this may reduce the
+quality of the context offered by RefTeX to describe a label.
+
++++
+*** Miscellaneous changes
+
+The macros which input a file in LaTeX (like \input, \include) can be
+configured in the new option `reftex-include-file-commands'.
+
+RefTeX supports global incremental search.
+
++++
 ** Prolog mode has a new variable `prolog-font-lock-keywords'
 to support use of font-lock.
 
@@ -2273,7 +2584,7 @@ GDB. You can interact with GDB through the GUD buffer in the usual way, but
 there are also further buffers which control the execution and describe the
 state of your program.  It can separate the input/output of your program from
 that of GDB and watches expressions in the speedbar.  It also uses features of
-Emacs 21/22 such as the the toolbar, and bitmaps in the fringe to indicate
+Emacs 21/22 such as the toolbar, and bitmaps in the fringe to indicate
 breakpoints.
 
 Use M-x gdb to start GDB-UI.
@@ -2373,14 +2684,19 @@ The recent file list is now automatically cleanup when recentf mode is
 enabled.  The new option `recentf-auto-cleanup' controls when to do
 automatic cleanup.
 
+The ten most recent files can be quickly opened by using the shortcut
+keys 1 to 9, and 0, when the recent list is displayed in a buffer via
+the `recentf-open-files', or `recentf-open-more-files' commands.
+
 The `recentf-keep' option replaces `recentf-keep-non-readable-files-p'
 and provides a more general mechanism to customize which file names to
 keep in the recent list.
 
-With the more advanced option: `recentf-filename-handler', you can
-specify a function that transforms filenames handled by recentf.  For
-example, if set to `file-truename', the same file will not be in the
-recent list with different symbolic links.
+With the more advanced option `recentf-filename-handlers', you can
+specify functions that successively transform recent file names.  For
+example, if set to `file-truename' plus `abbreviate-file-name', the
+same file will not be in the recent list with different symbolic
+links, and the file name will be abbreviated.
 
 To follow naming convention, `recentf-menu-append-commands-flag'
 replaces the misnamed option `recentf-menu-append-commands-p'.  The
@@ -2392,6 +2708,7 @@ old name remains available as alias, but has been marked obsolete.
 +++
 *** Desktop saving is now a minor mode, `desktop-save-mode'.
 
++++
 *** The variable `desktop-enable' is obsolete.
 
 Customize `desktop-save-mode' to enable desktop saving.
@@ -2462,6 +2779,7 @@ currently highlighted regions in an inferior Ediff session. If you answer 'n'
 then it reverts to the old behavior and asks the user to select regions for
 comparison.
 
++++
 *** The new command `ediff-backup' compares a file with its most recent
 backup using `ediff'.  If you specify the name of a backup file,
 `ediff-backup' compares it with the file of which it is a backup.
@@ -2507,7 +2825,7 @@ per line.  Lines beginning with space or tab are ignored.
 
 Previously, only the `template' and `class' keywords had this effect.
 
-**** The GCC __attribute__ keyword is now recognised and ignored.
+**** The GCC __attribute__ keyword is now recognized and ignored.
 
 **** New language HTML.
 
@@ -2626,6 +2944,10 @@ See the documentation of the user option
 ---
 *** Rmail now displays 5-digit message ids in its summary buffer.
 
+*** The new commands rmail-end-of-message and rmail-summary end-of-message,
+by default bound to `/', go to the end of the current mail message in
+Rmail and Rmail summary buffers.
+
 +++
 *** Support for `movemail' from GNU mailutils was added to Rmail.
 
@@ -2651,11 +2973,15 @@ See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details.
 ---
 ** MH-E changes.
 
-Upgraded to MH-E version 7.84. There have been major changes since
+Upgraded to MH-E version 7.85. There have been major changes since
 version 5.0.2; see MH-E-NEWS for details.
 
 ** Calendar changes:
 
++++
+*** You can now use < and >, instead of C-x < and C-x >, to scroll
+the calendar left or right.  (The old key bindings still work too.)
+
 +++
 *** There is a new calendar package, icalendar.el, that can be used to
 convert Emacs diary entries to/from the iCalendar format.
@@ -2709,6 +3035,50 @@ from Outlook-format appointments in mail messages.  The variable
 `diary-outlook-formats' can be customized to recognize additional
 formats.
 
++++
+** Speedbar changes:
+
+*** Speedbar items can now be selected by clicking mouse-1, based on
+the `mouse-1-click-follows-link' mechanism.
+
+*** SPC and DEL are no longer bound to scroll up/down in the speedbar
+keymap.
+
+*** The new command `speedbar-toggle-line-expansion', bound to SPC,
+contracts or expands the line under the cursor.
+
+*** New command `speedbar-create-directory', bound to `M'.
+
+*** The new commands `speedbar-expand-line-descendants' and
+`speedbar-contract-line-descendants', bound to `[' and `]'
+respectively, expand and contract the line under cursor with all of
+its descendents.
+
+*** The new user option `speedbar-query-confirmation-method' controls
+how querying is performed for file operations.  A value of 'always
+means to always query before file operations; 'none-but-delete means
+to not query before any file operations, except before a file
+deletion.
+
+*** The new user option `speedbar-select-frame-method' specifies how
+to select a frame for displaying a file opened with the speedbar.  A
+value of 'attached means to use the attached frame (the frame that
+speedbar was started from.)  A number such as 1 or -1 means to pass
+that number to `other-frame'.
+
+*** The new user option `speedbar-use-tool-tips-flag', if non-nil,
+means to display tool-tips for speedbar items.
+
+*** The frame management code in speedbar.el has been split into a new
+`dframe' library.  Emacs Lisp code that makes use of the speedbar
+should use `dframe-attached-frame' instead of
+`speedbar-attached-frame', `dframe-timer' instead of `speedbar-timer',
+`dframe-close-frame' instead of `speedbar-close-frame', and
+`dframe-activity-change-focus-flag' instead of
+`speedbar-activity-change-focus-flag'.  The variables
+`speedbar-update-speed' and `speedbar-navigating-speed' are also
+obsolete; use `dframe-update-speed' instead.
+
 ---
 ** sql changes.
 
@@ -2812,11 +3182,17 @@ updated `skeleton-insert' docstring explains these new features along
 with other details of skeleton construction.
 
 ---
-** New variable `hs-set-up-overlay' allows customization of the overlay
+** Hideshow mode changes
+
+*** New variable `hs-set-up-overlay' allows customization of the overlay
 used to effect hiding for hideshow minor mode.  Integration with isearch
 handles the overlay property `display' specially, preserving it during
 temporary overlay showing in the course of an isearch operation.
 
+*** New variable `hs-allow-nesting' non-nil means that hiding a block does
+not discard the hidden state of any "internal" blocks; when the parent
+block is later shown, the internal blocks remain hidden.  Default is nil.
+
 +++
 ** `hide-ifdef-mode' now uses overlays rather than selective-display
 to hide its text.  This should be mostly transparent but slightly
@@ -2890,8 +3266,13 @@ inverse-video.
 default, all trivial operations involving whole lines are performed
 automatically.  The game uses faces for better visual feedback.
 
+** battery.el changes:
+
+---
+*** display-battery-mode replaces display-battery.
+
 ---
-** display-battery-mode replaces display-battery.
+*** battery.el now works on recent versions of OS X.
 
 ---
 ** calculator.el now has radix grouping mode.
@@ -2912,6 +3293,21 @@ variable `calculator-radix-grouping-mode'.
 \f
 * Changes in Emacs 22.1 on non-free operating systems
 
++++
+** The HOME directory defaults to Application Data under the user profile.
+
+If you used a previous version of Emacs without setting the HOME
+environment variable and a `.emacs' was saved, then Emacs will continue
+using C:/ as the default HOME.  But if you are installing Emacs afresh,
+the default location will be the "Application Data" (or similar
+localized name) subdirectory of your user profile.  A typical location
+of this directory is "C:\Documents and Settings\USERNAME\Application Data",
+where USERNAME is your user name.
+
+This change means that users can now have their own `.emacs' files on
+shared computers, and the default HOME directory is less likely to be
+read-only on computers that are administered by someone else.
+
 +++
 ** Passing resources on the command line now works on MS Windows.
 
@@ -2984,6 +3380,20 @@ MS Windows, Emacs now uses the appropriate locale coding-system, so
 the clipboard should work correctly for your local language without
 any customizations.
 
+---
+** Running in a console window in Windows now uses the console size.
+
+Previous versions of Emacs erred on the side of having a usable Emacs
+through telnet, even though that was inconvenient if you use Emacs in
+a local console window with a scrollback buffer. The default value of
+w32-use-full-screen-buffer is now nil, which favours local console
+windows. Recent versions of Windows telnet also work well with this
+setting. If you are using an older telnet server then Emacs detects
+that the console window dimensions that are reported are not sane, and
+defaults to 80x25. If you use such a telnet server regularly at a size
+other than 80x25, you can still manually set
+w32-use-full-screen-buffer to t.
+
 ---
 ** On Mac OS, `keyboard-coding-system' changes based on the keyboard script.
 
@@ -3016,6 +3426,10 @@ the command `undefined'.  (In earlier Emacs versions, it used
 
 ** General Lisp changes:
 
+*** The function `expt' handles negative exponents differently.
+The value for `(expt A B)', if both A and B are integers and B is
+negative, is now a float.  For example: (expt 2 -2) => 0.25.
+
 +++
 *** The function `eql' is now available without requiring the CL package.
 
@@ -3029,6 +3443,10 @@ If APPEND is non-nil, the new element gets added at the end of the
 list instead of at the beginning.  This change actually occurred in
 Emacs 21.1, but was not documented then.
 
++++
+*** New function `add-to-ordered-list' is like `add-to-list' but
+associates a numeric ordering of each element added to the list.
+
 +++
 *** New function `copy-tree' makes a copy of a tree.
 
@@ -3132,6 +3550,10 @@ It returns nil if the given Lisp form can't possibly do anything
 dangerous; otherwise it returns a reason why the form might be unsafe
 (calls unknown function, alters global variable, etc).
 
+*** `list-faces-display' takes an optional argument, REGEXP.
+
+If it is non-nil, the function lists only faces matching this regexp.
+
 ** Lisp code indentation features:
 
 +++
@@ -3349,6 +3771,13 @@ clone to the other.
 ---
 *** The function `insert-string' is now obsolete.
 
+** Filling changes.
+
++++
+*** In determining an adaptive fill prefix, Emacs now tries the function in
+`adaptive-fill-function' _before_ matching the buffer line against
+`adaptive-fill-regexp' rather than _after_ it.
+
 +++
 ** Atomic change groups.
 
@@ -3423,6 +3852,31 @@ binding of VARIABLE (a symbol) in buffer BUFFER.  If VARIABLE does not
 have a buffer-local binding in buffer BUFFER, it returns the default
 value of VARIABLE instead.
 
+*** The function `frame-or-buffer-changed-p' now lets you maintain
+various status records in parallel.
+
+It take a variable (a symbol) as argument.  If the variable is non-nil,
+then its value should be a vector installed previously by
+`frame-or-buffer-changed-p'.  If the frame names, buffer names, buffer
+order, or their read-only or modified flags have changed, since the
+time the vector's contents were recorded by a previous call to
+`frame-or-buffer-changed-p', then the function returns t.  Otherwise
+it returns nil.
+
+On the first call to `frame-or-buffer-changed-p', the variable's
+value should be nil.  `frame-or-buffer-changed-p' stores a suitable
+vector into the variable and returns t.
+
+If the variable is itself nil, then `frame-or-buffer-changed-p' uses,
+for compatibility, an internal variable which exists only for this
+purpose.
+
++++
+*** The function `read-buffer' follows the convention for reading from
+the minibuffer with a default value: if DEF is non-nil, the minibuffer
+prompt provided in PROMPT is edited to show the default value provided
+in DEF before the terminal colon and space.
+
 ** Local variables lists:
 
 +++
@@ -3489,6 +3943,11 @@ properties from surrounding text.
 element, if the last match was on a buffer.  `set-match-data'
 accepts such a list for restoring the match state.
 
++++
+*** Functions `match-data' and `set-match-data' now have an optional
+argument `reseat'.  When non-nil, all markers in the match data list
+passed to these function will be reseated to point to nowhere.
+
 +++
 *** The default value of `sentence-end' is now defined using the new
 variable `sentence-end-without-space', which contains such characters
@@ -3575,6 +4034,7 @@ of text properties as well as the character code.
 *** `syntax-class' extracts the class of a syntax code (as returned
 by `syntax-after').
 
++++
 *** The new function `syntax-ppss' rovides an efficient way to find the
 current syntactic context at point.
 
@@ -3663,6 +4123,10 @@ operations.
 This is useful for autoloaded handlers, to prevent them from being
 autoloaded when not really necessary.
 
++++
+*** The function `make-auto-save-file-name' is now handled by file
+name handlers.  This will be exploited for remote files mainly.
+
 ** Input changes:
 
 +++
@@ -3684,7 +4148,8 @@ using the text properties (esp. the face) of the prompt string.
 *** (while-no-input BODY...) runs BODY, but only so long as no input
 arrives.  If the user types or clicks anything, BODY stops as if a
 quit had occurred.  `while-no-input' returns the value of BODY, if BODY
-finishes.  It returns nil if BODY was aborted.
+finishes.  It returns nil if BODY was aborted by a quit, and t if
+BODY was aborted by arrival of input.
 
 ** Minibuffer changes:
 
@@ -3883,7 +4348,7 @@ function is still supported, but new code should use the new
 functions.
 
 *** Function `signal-process' now accepts a process object or process
-name in addition to a process id to identify the signalled process.
+name in addition to a process id to identify the signaled process.
 
 *** Processes now have an associated property list where programs can
 maintain process state and other per-process related information.
@@ -3912,8 +4377,7 @@ emacs tries to read it.
 
 *** The new function `call-process-shell-command'.
 
-This executes a shell command command synchronously in a separate
-process.
+This executes a shell command synchronously in a separate process.
 
 *** The new function `process-file' is similar to `call-process', but
 obeys file handlers.  The file handler is chosen based on
@@ -4041,6 +4505,7 @@ return window edges in units of pixels, rather than columns and lines.
 +++
 *** The new macro `with-selected-window' temporarily switches the
 selected window without impacting the order of `buffer-list'.
+It saves and restores the current buffer, too.
 
 +++
 *** `select-window' takes an optional second argument NORECORD.
@@ -4050,7 +4515,8 @@ This is like `switch-to-buffer'.
 +++
 *** `save-selected-window' now saves and restores the selected window
 of every frame.  This way, it restores everything that can be changed
-by calling `select-window'.
+by calling `select-window'.  It also saves and restores the current
+buffer.
 
 +++
 *** `set-window-buffer' has an optional argument KEEP-MARGINS.
@@ -4058,6 +4524,9 @@ by calling `select-window'.
 If non-nil, that says to preserve the window's current margin, fringe,
 and scroll-bar settings.
 
++++
+*** The new function `window-tree' returns a frame's window tree.
+
 +++
 ** Customizable fringe bitmaps
 
@@ -4323,6 +4792,21 @@ When you click the mouse when the mouse pointer is over a hot-spot,
 an event is composed by combining the ID of the hot-spot with the
 mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'.
 
++++
+*** The function `find-image' now searches in etc/images/ and etc/.
+The new variable `image-load-path' is a list of locations in which to
+search for image files.  The default is to search in etc/images, then
+in etc/, and finally in the directories specified by `load-path'.
+Subdirectories of etc/ and etc/images are not recursively searched; if
+you put an image file in a subdirectory, you have to specify it
+explicitly; for example, if an image is put in etc/images/foo/bar.xpm:
+
+  (defimage foo-image '((:type xpm :file "foo/bar.xpm")))
+
++++
+*** The new variable `max-image-size' defines the maximum size of
+images that Emacs will load and display.
+
 ** Mouse pointer features:
 
 +++ (lispref)
@@ -4478,6 +4962,13 @@ releases of Emacs, the order was the opposite.  This change was made
 so that :inherit face lists operate identically to face lists in text
 `face' properties.
 
+---
+*** On terminals, faces with the :inverse-video attribute are displayed
+with swapped foreground and background colors even when one of them is
+not specified.  In previous releases of Emacs, if either foreground
+or background color was unspecified, colors were not swapped.  This
+was inconsistent with the face behavior under X.
+
 ---
 *** `set-fontset-font', `fontset-info', `fontset-font' now operate on
 the default fontset if the argument NAME is nil..
@@ -4771,10 +5262,8 @@ used to add text properties to mode-line elements.
 to display the size of the accessible part of the buffer on the mode
 line.
 
++++
 *** Mouse-face on mode-line (and header-line) is now supported.
-`mode-line-highlight' is the standard face indicating mouse sensitive
-elements on mode-line (and header-line) like `highlight' face on text
-areas.
 
 ** Menu manipulation changes:
 
@@ -4847,6 +5336,10 @@ running under X.
 
 ** GC changes:
 
++++
+*** New variable `gc-cons-percentage' automatically grows the GC cons threshold
+as the heap size increases.
+
 +++
 *** New variables `gc-elapsed' and `gcs-done' provide extra information
 on garbage collection.
@@ -4870,6 +5363,7 @@ such things as help and apropos buffers.
 of hierarchical data as an outline.  For example, the tree-widget is
 well suited to display a hierarchy of directories and files.
 
++++
 ** The new library bindat.el provides functions to unpack and pack
 binary data structures, such as network packets, to and from Lisp
 data structures.
@@ -13251,10 +13745,10 @@ not by default.  Use --members to turn this feature on.
 *** C++ member functions are now recognized as tags.
 
 *** Java is tagged like C++.  In addition, "extends" and "implements"
-constructs are tagged.  Files are recognised by the extension .java.
+constructs are tagged.  Files are recognized by the extension .java.
 
 *** Etags can now handle programs written in Postscript.  Files are
-recognised by the extensions .ps and .pdb (Postscript with C syntax).
+recognized by the extensions .ps and .pdb (Postscript with C syntax).
 In Postscript, tags are lines that start with a slash.
 
 *** Etags now handles Objective C and Objective C++ code.  The usual C and
@@ -13262,7 +13756,7 @@ C++ tags are recognized in these languages; in addition, etags
 recognizes special Objective C syntax for classes, class categories,
 methods and protocols.
 
-*** Etags also handles Cobol.  Files are recognised by the extension
+*** Etags also handles Cobol.  Files are recognized by the extension
 .cobol.  The tagged lines are those containing a word that begins in
 column 8 and ends in a full stop, i.e. anything that could be a
 paragraph name.
@@ -14253,7 +14747,8 @@ select one of those items.
 ----------------------------------------------------------------------
 Copyright information:
 
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2005 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
+   2005 Free Software Foundation, Inc.
 
    Permission is granted to anyone to make or distribute verbatim copies
    of this document as received, in any medium, provided that the