etc/NEWS.
[bpt/emacs.git] / etc / NEWS
index 31e8620..e1e7ba7 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,9 +1,9 @@
 GNU Emacs NEWS -- history of user-visible changes.
 
 GNU Emacs NEWS -- history of user-visible changes.
 
-Copyright (C) 2007, 2008, 2009 Free Software Foundation, Inc.
+Copyright (C) 2007, 2008, 2009, 2010 Free Software Foundation, Inc.
 See the end of the file for license conditions.
 
 See the end of the file for license conditions.
 
-Please send Emacs bug reports to emacs-pretest-bug@gnu.org.
+Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
 If possible, use M-x report-emacs-bug.
 
 This file is about changes in Emacs version 23.
 If possible, use M-x report-emacs-bug.
 
 This file is about changes in Emacs version 23.
@@ -14,17 +14,53 @@ for changes in older Emacs versions.
 You can narrow news to a specific version by calling `view-emacs-news'
 with a prefix argument or by typing C-u C-h C-n.
 
 You can narrow news to a specific version by calling `view-emacs-news'
 with a prefix argument or by typing C-u C-h C-n.
 
+\f
+* Installation Changes in Emacs 23.3
+
+* Startup Changes in Emacs 23.3
+
+* Changes in Emacs 23.3
+
+** The nextstep port can have different modifiers for the left and right
+alt/option key by customizing the value for ns-right-alternate-modifier.
+
+\f
+* Editing Changes in Emacs 23.3
+
+\f
+* Changes in Specialized Modes and Packages in Emacs 23.3
+
+---
+** The appt-add command takes an optional argument for the warning time.
+This can be used in place of the default appt-message-warning-time.
+
+** Obsolete packages
+
++++
+*** lmenu.el and cl-compat.el are now obsolete.
+
+\f
+* New Modes and Packages in Emacs 23.3
+
+\f
+* Incompatible Lisp Changes in Emacs 23.3
+
+\f
+* Lisp changes in Emacs 23.3
+
+** `e' and `pi' are now called `float-e' and `float-pi'.
+  The old names are obsolete.
+** The use of unintern without an obarray arg is declared obsolete.
+
+** New function byte-to-string, like char-to-string but for bytes.
 
 
-Temporary note:
- +++ indicates that the appropriate manual has already been updated.
- --- means no change in the manuals is called for.
-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
+* Changes in Emacs 23.3 on non-free operating systems
 
 \f
 * Installation Changes in Emacs 23.2
 
 
 \f
 * Installation Changes in Emacs 23.2
 
-** New configure options for Emacs developers
+** New configure options for Emacs developers.
 These are not new features; only the configure flags are new.
 
 *** --enable-profiling builds Emacs with profiling enabled.
 These are not new features; only the configure flags are new.
 
 *** --enable-profiling builds Emacs with profiling enabled.
@@ -32,75 +68,57 @@ This might not work on all platforms.
 
 *** --enable-checking[=OPTIONS] builds emacs with extra runtime checks.
 
 
 *** --enable-checking[=OPTIONS] builds emacs with extra runtime checks.
 
----
 ** `make install' now consistently ignores umask, creating a
 world-readable install.
 
 ** `make install' now consistently ignores umask, creating a
 world-readable install.
 
+** Emacs compiles with Gconf support, if it is detected.
+Use the configure option --without-gconf to disable this.
+This is used by the `font-use-system-font' feature (see below).
+
 * Startup Changes in Emacs 23.2
 
 * Startup Changes in Emacs 23.2
 
-** Command-line option -Q (--quick) now also disables loading X resources.
-Note however that this does not affect Lucid or Motif widgets, if you
-are using those toolkits.  On Windows, this option causes Emacs to
-ignore Registry settings, though environment variables set on the
-Registry are still honored.
+** The command-line option -Q (--quick) also inhibits loading X resources.
+However, if Emacs is compiled with the Lucid or Motif toolkit, X
+resource settings for the graphical widgets are still applied.
+On Windows, the -Q option causes Emacs to ignore Registry settings,
+but environment variables set on the Registry are still honored.
 
 *** The new variable `inhibit-x-resources' shows whether X resources
 were loaded.
 
 
 *** The new variable `inhibit-x-resources' shows whether X resources
 were loaded.
 
+** New command-line option -mm (--maximized) maximizes the initial frame.
+
 * Changes in Emacs 23.2
 
 * Changes in Emacs 23.2
 
-** The maximum size of buffers (as well as the largest fixnum) is doubled.
+** The maximum size of buffers (and the largest fixnum) is doubled.
 On typical 32bit systems, buffers can now be up to 512MB.
 
 On typical 32bit systems, buffers can now be up to 512MB.
 
-** Function arguments in *Help* buffers are now in uppercase by default.
-You can customize the new variable `help-downcase-arguments' to change it.
-
-** Unibyte sessions are now considered obsolete.
-I.e. the use of the environment variable EMACS_UNIBYTE, or command line
-arguments --unibyte, --multibyte, --no-multibyte, and --no-unibyte
-is deprecated.  Similarly for custom-izing enable-multibyte-characters, or
-setting default-enable-multibyte-characters.
-
-** The default value of `trash-directory' has changed to nil, which
-means that `move-file-to-trash' trashes files according to
+** The default value of `trash-directory' is now nil.
+This means that `move-file-to-trash' trashes files according to
 freedesktop.org specifications, the same method used by the Gnome,
 KDE, and XFCE desktops.  (This change has no effect on Windows, which
 uses `system-move-file-to-trash' for trashing.)
 
 freedesktop.org specifications, the same method used by the Gnome,
 KDE, and XFCE desktops.  (This change has no effect on Windows, which
 uses `system-move-file-to-trash' for trashing.)
 
-+++
-** Emacs frames can be maximized.
-The command line arguments -mm/--maximized and the value maximized to the
-frame parameter fullscreen makes the Emacs frame maximized.
-
-+++
-** New frame parameter sticky makes Emacs frames sticky in virtual desktops.
-
 ** The pointer now becomes invisible when typing.
 ** The pointer now becomes invisible when typing.
-Customize make-pointer-invisible to turn it off.
+Customize `make-pointer-invisible' to disable this feature.
 
 
-** Emacs can use the system default monospaced font in Gnome.
-The use of the system default font can be turned on or off by customizing
-the variable 'font-use-system-font'.  It is off by default.
-If the system default is changed, Emacs changes also.
-This requires that gconf-support is built in.  If configure finds the
-gconf-libraries, that support is included. Gconf-support can be
-turned off with the configure option --without-gconf.
+** Font changes
 
 
-** Emacs now reacts to Xft-changes made by configuration tools on X11.
-Changes to antialias, hinting, hintstyle, RGBA, DPI and lcdfilter are
-handeled.  The XSETTINGS mechanism is used to implement this.
+*** Emacs can use the system default monospaced font in Gnome.
+To enable this feature, set `font-use-system-font' to non-nil (it is
+nil by default).  If the system default changes, Emacs changes also.
+This feature requires Gconf support, which is automatically included
+at compile-time if configure detects the gconf libraries (you can
+disable this with the configure option --without-gconf).
 
 
-** Killing a buffer with a running process now asks for confirmation.
-You can remove this query in two ways: either remove
-`process-kill-buffer-query-function' from `kill-buffer-query-functions',
-or set the appropriate process flag with `set-process-query-on-exit-flag'.
+*** On X11, Emacs reacts to Xft changes made by configuration tools,
+via the XSETTINGS mechanism.  This includes antialias, hinting,
+hintstyle, RGBA, DPI and lcdfilter changes.
 
 
-** The variable `load-in-progress' won't get corrupted by binding it
-with `let'.  In certain situations, loading an Emacs Lisp file from
-source while in the midst of loading another file (e.g., with
-`require' or `autoload') could cause the value of `load-in-progress'
-to be corrupted once the outer load completed.  Most code doesn't care
-about this, but some (like c-mode) may check it.
+** Killing a buffer with a running process now asks for confirmation.
+To remove this query, remove `process-kill-buffer-query-function' from
+`kill-buffer-query-functions', or set the appropriate process flag
+with `set-process-query-on-exit-flag'.
 
 ** File-local variable changes
 
 
 ** File-local variable changes
 
@@ -108,61 +126,108 @@ about this, but some (like c-mode) may check it.
 unconditionally.  The previous behavior, toggling the mode, was
 neither reliable nor generally desirable.
 
 unconditionally.  The previous behavior, toggling the mode, was
 neither reliable nor generally desirable.
 
-*** New commands for adding and removing file-local variables:
+*** There are new commands for adding and removing file-local variables:
 `add-file-local-variable', `delete-file-local-variable',
 `add-file-local-variable-prop-line', and
 `delete-file-local-variable-prop-line'.
 
 `add-file-local-variable', `delete-file-local-variable',
 `add-file-local-variable-prop-line', and
 `delete-file-local-variable-prop-line'.
 
-*** New commands for adding and removing directory-local variables,
+*** There are new commands for adding and removing directory-local variables,
 and copying them to and from file-local variable lists:
 `add-dir-local-variable', `delete-dir-local-variable',
 `copy-dir-locals-to-file-locals',
 `copy-dir-locals-to-file-locals-prop-line' and
 `copy-file-locals-to-dir-locals'.
 
 and copying them to and from file-local variable lists:
 `add-dir-local-variable', `delete-dir-local-variable',
 `copy-dir-locals-to-file-locals',
 `copy-dir-locals-to-file-locals-prop-line' and
 `copy-file-locals-to-dir-locals'.
 
-** New coding system `utf-8-hfs' is available in
-international/ucs-normalize.el.  It is suitable for
-default-file-name-coding-system on Mac OS X.
+** Internationalization changes
+
+*** Unibyte sessions are now considered obsolete.
+This refers to the EMACS_UNIBYTE environment variable as well as the
+--unibyte, --multibyte, --no-multibyte, and --no-unibyte command line
+arguments.  Customizing enable-multibyte-characters and setting
+default-enable-multibyte-characters are also deprecated.
+
+*** New coding system `utf-8-hfs'.
+This is suitable for default-file-name-coding-system on Mac OS X; see
+international/ucs-normalize.el.
+
+** Function arguments in *Help* buffers are now shown in upper-case.
+Customize `help-downcase-arguments' to t to show them in lower-case.
+
+** New command `async-shell-command', bound globally to `M-&'.
+This executes the command asynchronously, similar to calling `M-!' and
+manually adding an ampersand to the end of the command.  With `M-&',
+you don't need the ampersand.  The output appears in the buffer
+`*Async Shell Command*'.
+
+** When running in a new enough xterm (newer than version 242), Emacs
+asks xterm what the background color is and it sets up faces
+accordingly for a dark background if needed (the current default is to
+consider the background light).
 
 \f
 * Editing Changes in Emacs 23.2
 
 
 \f
 * Editing Changes in Emacs 23.2
 
-** Selection changes
-+++
+** Kill-ring and selection changes
+
 *** If `select-active-regions' is t, any active region automatically
 becomes the primary selection (for interaction with other window
 applications).  If you enable this, you might want to bind
 `mouse-yank-primary' to Mouse-2.
 
 *** If `select-active-regions' is t, any active region automatically
 becomes the primary selection (for interaction with other window
 applications).  If you enable this, you might want to bind
 `mouse-yank-primary' to Mouse-2.
 
-*** When `save-interprogram-paste-before-kill' is non-nil, emacs will
-not clobber the the interprogram paste when something is killed in it
-by saving the former in the `kill-ring' before the latter.
+*** When `save-interprogram-paste-before-kill' is non-nil, the kill
+commands save the interprogram-paste selection into the kill ring
+before doing anything else.  This avoids losing the selection.
 
 
-** When `kill-do-not-save-duplicates' is non-nil, identical subsequent
-kills are not duplicated in the `kill-ring'.
+*** When `kill-do-not-save-duplicates' is non-nil, identical
+subsequent kills are not duplicated in the `kill-ring'.
 
 
-+++
-** The default value for `blink-matching-paren-distance' has been increased.
+** Completion changes
 
 
-** The new completion-style `initials' is available.
+*** The new command `completion-at-point' provides mode-sensitive completion.
+
+*** tab-always-indent set to `complete' lets TAB do completion as well.
+
+*** The new completion-style `initials' is available.
 For instance, this can complete M-x lch to list-command-history.
 
 For instance, this can complete M-x lch to list-command-history.
 
-** Completions in the *Completions* buffer are sorted vertically
-when the value of the new variable `completions-format' is `vertical'.
+*** The new variable `completions-format' determines how completions
+are displayed in the *Completions* buffer.  If you set it to
+`vertical', completions are sorted vertically in columns.
+
+** The default value of `blink-matching-paren-distance' is increased.
+
+** M-n provides more default values in the minibuffer for commands
+that read file names.  These include the file name at point (when ffap
+is loaded without ffap-bindings), the file name on the current line
+(in Dired buffers), and the directory names of adjacent Dired windows
+(for Dired commands that operate on several directories, such as copy,
+rename, or diff).
+
+** M-r is bound to the new `move-to-window-line-top-bottom'.
+This moves point to the window center, top and bottom on successive
+invocations, in the same spirit as the C-l (recenter-top-bottom)
+command.
+
+** The new variable `recenter-positions' determines the default
+cycling order of C-l (`recenter-top-bottom').
+
+** The abbrevs file is now a file named abbrev_defs in
+user-emacs-directory; but the old location, ~/.abbrev_defs, is used if
+that file exists.
 
 \f
 * Changes in Specialized Modes and Packages in Emacs 23.2
 
 
 \f
 * Changes in Specialized Modes and Packages in Emacs 23.2
 
-** lucid.el and levents.el are now declared obsolete.
+** The bookmark menu has a narrowing search via bookmark-bmenu-search.
 
 
-** pcomplete provides a new command `pcomplete-std-completion' which
-is similar to `pcomplete' but using the standard completion UI code.
+** Calc
 
 
-** .calc.el and .abbrev_defs obey user-emacs-directory.
+*** The Calc settings file is now a file named calc.el in
+user-emacs-directory; but the old location, ~/.calc.el, is used if
+that file exists.
 
 
-** Calc graphing commands (`g f' etc.) now work on MS-Windows,
-if you have the native Windows port of Gnuplot version 3.8 or later
-installed.
+*** Graphing commands (`g f' etc.) now work on MS-Windows, if you have
+the native Windows port of Gnuplot version 3.8 or later installed.
 
 ** Calendar and diary
 
 
 ** Calendar and diary
 
@@ -171,12 +236,11 @@ If you prefer the simple display, customize `diary-display-function'.
 
 *** The diary's fancy display now enables view-mode.
 
 
 *** The diary's fancy display now enables view-mode.
 
----
 *** The command `calendar-current-date' accepts an optional argument
 giving an offset from today.
 
 ** Desktop
 *** The command `calendar-current-date' accepts an optional argument
 giving an offset from today.
 
 ** Desktop
----
+
 *** The default value for `desktop-buffers-not-to-save' is nil.
 This means Desktop will try restoring all buffers, when you restart
 your Emacs session.  Also, `desktop-buffers-not-to-save' is only
 *** The default value for `desktop-buffers-not-to-save' is nil.
 This means Desktop will try restoring all buffers, when you restart
 your Emacs session.  Also, `desktop-buffers-not-to-save' is only
@@ -184,10 +248,39 @@ effective for buffers that have no associated file.  If you want to
 exempt buffers that do correspond to files, customize the value of
 `desktop-files-not-to-save' instead.
 
 exempt buffers that do correspond to files, customize the value of
 `desktop-files-not-to-save' instead.
 
-** FIXME mail-user-agent change
-This probably affects a lot of documentation.
+** Dired
+
+*** The new variable `dired-auto-revert-buffer', if non-nil, causes
+Dired buffers to be reverted automatically on revisiting them.
+
+** DocView
+
+*** When `doc-view-continuous' is non-nil, scrolling a line
+on the page edge advances to the next/previous page.
+
+** Elint
+
+*** Elint now uses compilation-mode.
+
+*** Elint can now scan individual files and whole directories,
+and can be run in batch mode.
 
 
-** FIXME gdb-mi
+*** Elint does a more thorough initialization, and recognizes more built-in
+functions and variables.  Customize `elint-scan-preloaded' if you want
+to sacrifice some accuracy for a faster startup.
+
+*** Elint attempts some basic understanding of featurep and (f)boundp tests.
+
+*** Customize `elint-ignored-warnings' to suppress some warnings.
+
+** GDB-UI
+
+*** Toolbar functionality for reverse debugging.  Display of STL
+collections as watch expressions.  These features require GDB 7.0 or later.
+
+** Grep
+
+*** A new command `zrgrep' searches recursively in gzipped files.
 
 ** Info
 
 
 ** Info
 
@@ -198,14 +291,50 @@ matched topics found in the index.
 manual that generates an Info file which gives the same information
 through a menu structure.
 
 manual that generates an Info file which gives the same information
 through a menu structure.
 
-+++
-** New connection methods in Tramp.
-The new connection methods "rsyncc", "imap" and "imaps" have been
-introduced.  On systems which support GVFS-Fuse, Tramp offers also the
-new connection methods "dav", "davs", "obex" and "synce".
+** LaTeX mode now provides completion (via completion-at-point).
+
+** Message mode is now the default mode for composing mail.
+
+The default for `mail-user-agent' is now message-user-agent, so the
+C-x m (`compose-mail') command uses Message mode instead of Mail mode.
+
+Message mode has been included in Emacs, as part of the Gnus package,
+for several years.  It provides several features that are absent in
+Mail mode, such as MIME handling.
+
+*** If the user has not customized mail-user-agent, `compose-mail'
+checks for Mail mode customizations, and issues a warning if these
+customizations are found.  This alerts users who may otherwise be
+unaware that their mail configuration has changed.
+
+To disable this check, set compose-mail-user-agent-warnings to nil.
+
+** The default value of mail-interactive is t, since Emacs 23.1.
+(This was not announced at the time.)  It means that when sending mail,
+Emacs will wait for the process sending mail to return.  If you
+experience delays when sending mail, you may wish to set this to nil.
 
 ** nXML mode is now the default for editing XML files.
 
 
 ** nXML mode is now the default for editing XML files.
 
+** pcomplete provides a new command `pcomplete-std-completion' which
+is similar to `pcomplete' but using the standard completion UI code.
+
+** Shell (and other comint modes)
+
+*** M-s is no longer bound to `comint-next-matching-input'.
+
+*** M-r is now bound to `comint-history-isearch-backward-regexp'.
+This starts an incremental search of the comint/shell input history.
+
+*** ansi-color is now enabled by default in Shell mode.
+To disable it, set ansi-color-for-comint-mode to nil.
+
+** Tramp
+
+*** New connection methods "rsyncc", "imap" and "imaps".
+On systems which support GVFS-Fuse, Tramp offers also the new
+connection methods "dav", "davs", "obex" and "synce".
+
 ** VC and related modes
 
 *** When using C-x v v or C-x v i on a unregistered file that is in a
 ** VC and related modes
 
 *** When using C-x v v or C-x v i on a unregistered file that is in a
@@ -213,75 +342,107 @@ directory not controlled by any VCS, ask the user what VC backend to
 use to create a repository, create a new repository and register the
 file.
 
 use to create a repository, create a new repository and register the
 file.
 
-*** FIXME: add info about the new VC functions: vc-root-diff and
-vc-root-print-log once they stabilize.
+*** New command `vc-root-print-log', bound to `C-x v L'.
+This displays a `*vc-change-log*' buffer showing the history of the
+version-controlled directory tree as a whole.
+
+*** New command `vc-root-diff', bound to `C-x v D'.
+This is similar to `vc-diff', but compares the entire directory tree
+of the current VC directory with its working revision.
 
 
-*** The log functions (C-x v l and C-x v L) do not show the full log
-by default anymore.  The number of entries shown can be chosen
-interactively with a prefix argument, by customizing
-vc-log-show-limit.  The log buffer display buttons that can be used
-to change the number of entries shown.
-RCS, SCCS, CVS and Git do not support this feature.
+*** `C-x v l' and `C-x v L' do not show the full log by default.
+The number of entries shown can be chosen interactively with a prefix
+argument, or by customizing vc-log-show-limit.  The `*vc-change-log*'
+buffer now contains buttons at the end of the buffer, which can be
+used to increase the number of entries shown.  RCS, SCCS, and CVS do
+not support this feature.
 
 *** vc-annotate supports annotations through file copies and renames,
 it displays the old names for the files and it can show logs/diffs for
 the corresponding lines.  Currently only Git and Mercurial take
 advantage of this feature.
 
 
 *** vc-annotate supports annotations through file copies and renames,
 it displays the old names for the files and it can show logs/diffs for
 the corresponding lines.  Currently only Git and Mercurial take
 advantage of this feature.
 
+*** The log command in vc-annotate can display a single log entry
+instead of redisplaying the full log.  The RCS, CVS and SCCS VC
+backends do not support this.
+
 *** When a file is not found, VC will not try to check it out of RCS anymore.
 
 *** When a file is not found, VC will not try to check it out of RCS anymore.
 
-*** Diff and log operations can be used from dired buffers.
+*** Diff and log operations can be used from Dired buffers.
 
 *** vc-git changes
 
 
 *** vc-git changes
 
-**** The new variable vc-git-add-signoff can be used to add a
-Signed-off-by line when committing.
+**** The short log format for git makes use of the graph display,
+so it's not supported on git versions earlier than 1.5.6.
+
+**** vc-dir uses the --relative option of git, and so requires at least
+git version 1.5.5.
 
 
-**** Support for operating with stashes has been added to vc-dir: the stash list is
-displayed in the *vc-dir* header, stashes can be created, removed and
-their content displayed.
+**** Support for operating with stashes has been added to vc-dir:
+the stash list is displayed in the *vc-dir* header, stashes can be
+created, removed, applied and their content displayed.
 
 
-**** vc-dir displays the stash status
+*** vc-bzr supports operating with shelves: the shelve list is
+displayed in the *vc-dir* header, shelves can be created, removed and applied.
 
 *** log-edit-strip-single-file-name controls whether or not single filenames
 are stripped when copying text from the ChangeLog to the *VC-Log* buffer.
 
 
 *** log-edit-strip-single-file-name controls whether or not single filenames
 are stripped when copying text from the ChangeLog to the *VC-Log* buffer.
 
-** Elint
-
----
-*** Elint now uses compilation-mode.
-
----
-*** Elint can now scan individual files and whole directories,
-and can be run in batch mode.
+** Miscellaneous
 
 
----
-*** Elint does a more thorough initialization, and recognizes more built-in
-functions and variables.  Customize `elint-scan-preloaded' if you want
-to sacrifice some accuracy for a faster startup.
+*** Interactively `multi-isearch-buffers' and `multi-isearch-buffers-regexp'
+read buffer names to search, one by one, ended with RET.  With a prefix
+argument, they ask for a regexp, and search in buffers whose names match
+the specified regexp.  Interactively `multi-isearch-files' and
+`multi-isearch-files-regexp' read file names to search, one by one,
+ended with RET.  With a prefix argument, they ask for a wildcard, and
+search in file buffers whose file names match the specified wildcard.
 
 
----
-*** Elint attempts some basic understanding of featurep and (f)boundp tests.
+*** Autorevert Tail mode now works also for remote files.
 
 
----
-*** Customize `elint-ignored-warnings' to suppress some warnings.
+*** The new eshell built-in commands `su' and `sudo' support Tramp.
+Thus, they change `default-directory' to reflect the new user id, and
+let commands run under that user's permissions.  This works even when
+`default-directory' is already remote.  Calling the external commands
+is possible via `*su' or `*sudo', respectively.
 
 
-** Miscellaneous
+** Obsolete packages
 
 
-*** The new command `async-shell-command' bound globally to `M-&' executes
-the command asynchronously without the need to manually add ampersand to
-the end of the command.  Its output appears in the buffer `*Async Shell
-Command*'.
+*** sym-comp.el is now obsolete, superseded by completion-at-point.
 
 
-+++
-*** Autorevert Tail mode now works now for remote files.
+*** lucid.el and levents.el are now obsolete.
 
 \f
 * New Modes and Packages in Emacs 23.2
 
 
 \f
 * New Modes and Packages in Emacs 23.2
 
-** htmlfontify.el turns a fontified Emacs buffer into an HTML page.
+** CEDET (the Collection of Emacs Development Tools) is now in Emacs.
+This is a collection of packages to aid with using Emacs as an IDE
+(integrated development environment):
+
+*** The Semantic package allows the use of parsers to intelligently
+edit and navigate source code.  Parsers for C/C++, Java, Javascript,
+and several other languages are included by default, and Semantic can
+also interface with external tools such as GNU Global and GNU Idutils.
 
 
-** FIXME CEDET
+To enable Semantic, use the global minor mode `semantic-mode'.
+See the Semantic manual for details.
+
+*** EDE (Emacs Development Environment) is a package for managing code
+projects, including features such as automatic Makefile generation.
+
+To enable EDE, use the minor mode `global-ede-mode'.
+See the EDE manual for details.
+
+*** SRecode is a library for recoding Semantic tags back into source
+code.  It is currently used by some parts of Semantic and EDE; in the
+future, it may be used for code generation features.
+
+*** The EIEIO library implements a subset of the Common Lisp Object
+System (CLOS).  It is used by the other CEDET packages.
+
+** mpc.el is a front end for the Music Player Daemon.  Run it with M-x mpc.
+
+** htmlfontify.el turns a fontified Emacs buffer into an HTML page.
 
 ** js.el is a new major mode for JavaScript files.
 
 
 ** js.el is a new major mode for JavaScript files.
 
@@ -290,6 +451,13 @@ Command*'.
 \f
 * Incompatible Lisp Changes in Emacs 23.2
 
 \f
 * Incompatible Lisp Changes in Emacs 23.2
 
+** The Lisp reader turns integers that are too large/small into floats.
+For instance, on machines where `536870911' is the largest integer,
+reading `536870912' gives the floating-point object `536870912.0'.
+
+This change only concerns the Lisp reader; it does not affect how
+actual integer objects overflow.
+
 ** Several obsolete functions removed.
 The functions have been obsolete since Emacs 19, and are unlikely to
 be in use:
 ** Several obsolete functions removed.
 The functions have been obsolete since Emacs 19, and are unlikely to
 be in use:
@@ -299,61 +467,110 @@ be in use:
   time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss,
   time-stamp-hhmm, baud-rate
 
   time-stamp-yyyy-mm-dd, time-stamp-yymmdd, time-stamp-hh:mm:ss,
   time-stamp-hhmm, baud-rate
 
----
 ** Support for generating Emacs 18 compatible bytecode (by setting
 the variable `byte-compile-compatibility') has been removed.
 
 ** Support for generating Emacs 18 compatible bytecode (by setting
 the variable `byte-compile-compatibility') has been removed.
 
+** In image-mode.el `image-mode-maybe' is obsolete.
+Instead, you can either use `image-mode' (which displays an image file
+as the actual image initially), or `image-mode-as-text' (when you want
+to display an image file as text initially).  `image-mode-as-text' is a
+combination of a non-image mode from `auto-mode-alist' (or Fundamental
+mode) and `image-minor-mode'.  `image-minor-mode' provides a `C-c C-c'
+key binding to toggle image display.
+`image-toggle-display-text' removes image properties.
+`image-toggle-display-image' adds image properties.
+`image-toggle-display' toggles between `image-mode-as-text' and `image-mode'.
+
 \f
 * Lisp changes in Emacs 23.2
 
 \f
 * Lisp changes in Emacs 23.2
 
-** New function `completion-in-region' to use the standard completion
-facilities on a particular region of text.
+** All the default-FOO variables that hold the default value of the FOO
+variable, are now declared obsolete.
 
 
-** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
+** read-key is a function halfway between read-event and read-key-sequence.
+It reads a single key, but obeys input and escape sequence decoding.
 
 
-** read-file-name-predicate is obsolete.  It was used to pass the predicate
-to read-file-name-internal because read-file-name-internal abused its `pred'
-argument to pass the current directory, but this hack is not needed
-any more.
+** Frame parameter changes
+
+*** You can give the `fullscreen' frame parameter the value `maximized'.
+This maximizes the frame.
+
+*** The new frame parameter `sticky' makes Emacs frames sticky in
+virtual desktops.
 
 
-** completion-base-size is obsoleted by completion-base-position.
+** Completion changes
+
+*** completion-base-size is obsoleted by completion-base-position.
 This change causes a few backward incompatibilities, mostly with
 choose-completion-string-functions where the `mini-p' argument has
 been replaced by a `base-position' argument, and where the `base-size'
 argument is now always nil.
 
 This change causes a few backward incompatibilities, mostly with
 choose-completion-string-functions where the `mini-p' argument has
 been replaced by a `base-position' argument, and where the `base-size'
 argument is now always nil.
 
+*** New function `completion-in-region' to use the standard completion
+facilities on a particular region of text.
+
+*** The 4th arg to all-completions (aka hide-spaces) is declared obsolete.
+
+*** completion-annotate-function specifies how to compute annotations
+for completions displayed in *Completions*.
+
+** Minibuffer changes
+
+*** read-file-name-predicate is obsolete.  It was used to pass the predicate
+to read-file-name-internal because read-file-name-internal abused its `pred'
+argument to pass the current directory, but this hack is not needed
+any more.
+
+** Changes to file-manipulation functions
+
+*** `delete-directory' has an optional parameter RECURSIVE.
+
+*** New function `copy-directory', which copies a directory recursively.
+
 ** called-interactively-p now takes one argument and replaces interactive-p
 which is now marked obsolete.
 ** called-interactively-p now takes one argument and replaces interactive-p
 which is now marked obsolete.
+
 ** New function set-advertised-calling-convention makes it possible
 to obsolete arguments as well as make some arguments mandatory.
 ** New function set-advertised-calling-convention makes it possible
 to obsolete arguments as well as make some arguments mandatory.
-** eval-next-after-load is obsolete.
-** New hook `after-load-functions' run after loading an Elisp file.
 
 ** You can control which binding is preferentially shown in menus and
 docstrings by adding a `:advertised-binding' property to the corresponding
 command's symbol.  That property can hold a single binding or a list
 of bindings.
 
 
 ** You can control which binding is preferentially shown in menus and
 docstrings by adding a `:advertised-binding' property to the corresponding
 command's symbol.  That property can hold a single binding or a list
 of bindings.
 
-** New macro with-silent-modifications to tweak text properties without
-affecting the buffer's modification state.
-** All the default-FOO variables that hold the default value of the FOO
-variable, are now declared obsolete.
+** Network and process changes
 
 
-** read-key is a function halfway between read-event and read-key-sequence.
-It reads a single key, but obeys input and escape sequence decoding.
-
-** start-process-shell-command and start-file-process-shell-command
+*** start-process-shell-command and start-file-process-shell-command
 now only take a single `command' argument.
 
 now only take a single `command' argument.
 
-** The variable `process-file-side-effects' shall be bound to nil, if
-a `process-file' call does not change a remote file.  By this, file
-name handlers like Tramp can apply optimizations.
+*** The new variable `process-file-side-effects' should be set to nil
+if a `process-file' call does not change a remote file.  This allows
+file name handlers such as Tramp to optimizations.
+
+*** make-network-process can now also create `seqpacket' Unix sockets.
+
+** Loading changes
+
+*** eval-next-after-load is obsolete.
+
+*** New hook `after-load-functions' run after loading an Elisp file.
+
+** Byte compilation changes
+
+*** Changing the file-names generated by byte-compilation by redefining
+the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
+Instead, customize byte-compile-dest-file-function.
+
+*** `byte-compile-warnings' has new members, `constants' and `suspicious'.
+
+** New macro with-silent-modifications to tweak text properties without
+affecting the buffer's modification state.
 
 ** Hash tables have a new printed representation that is readable.
 The feature `hashtable-print-readable' identifies this new
 functionality.
 
 
 ** Hash tables have a new printed representation that is readable.
 The feature `hashtable-print-readable' identifies this new
 functionality.
 
-** Functions performing Unicode normalization are added.  They are:
+** New functions for performing Unicode normalization:
 ucs-normalize-NFD-region, ucs-normalize-NFD-string,
 ucs-normalize-NFC-region, ucs-normalize-NFC-string,
 ucs-normalize-NFKD-region, ucs-normalize-NFKD-string,
 ucs-normalize-NFD-region, ucs-normalize-NFD-string,
 ucs-normalize-NFC-region, ucs-normalize-NFC-string,
 ucs-normalize-NFKD-region, ucs-normalize-NFKD-string,
@@ -361,32 +578,14 @@ ucs-normalize-NFKC-region, ucs-normalize-NFKC-string,
 ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string,
 ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string.
 
 ucs-normalize-HFS-NFD-region, ucs-normalize-HFS-NFD-string,
 ucs-normalize-HFS-NFC-region, ucs-normalize-HFS-NFC-string.
 
-** completion-annotate-function specifies how to compute annotations
-for completions displayed in *Completions*.
-
-+++
 ** Face aliases can now be marked as obsolete, using the macro
 `define-obsolete-face-alias'.
 
 ** Face aliases can now be marked as obsolete, using the macro
 `define-obsolete-face-alias'.
 
----
-** Changing the file-names generated by byte-compilation by redefining
-the function `byte-compile-dest-file' before loading bytecomp.el is obsolete.
-Instead, customize byte-compile-dest-file-function.
-
----
-** `byte-compile-warnings' can have a new member, `constants'.
-
-** `delete-directory' has an optional parameter RECURSIVE.
-
-** New function `copy-directory', which copies a directory recursively.
-
-+++
 ** New function `window-full-height-p', analogous to the full-width version.
 
 \f
 * Changes in Emacs 23.2 on non-free operating systems
 
 ** New function `window-full-height-p', analogous to the full-width version.
 
 \f
 * Changes in Emacs 23.2 on non-free operating systems
 
----
 ** On MS-Windows, `display-time' now displays the system load average
 as well as the time, as it does on GNU and Unix.
 
 ** On MS-Windows, `display-time' now displays the system load average
 as well as the time, as it does on GNU and Unix.
 
@@ -423,7 +622,7 @@ a GIF library.
 
 *** Emacs now supports multi-page TIFF images.
 
 
 *** Emacs now supports multi-page TIFF images.
 
-** New NeXTSTEP-based port
+** New NeXTSTEP-based port.
 This provides support for GNUstep (via the GNUstep libraries) and Mac
 OS X (via the Cocoa libraries).
 
 This provides support for GNUstep (via the GNUstep libraries) and Mac
 OS X (via the Cocoa libraries).
 
@@ -454,7 +653,7 @@ emacs-devel@gnu.org to inform the Emacs developers.
 *** Old GNU/Linux systems based on libc version 5.
 
 *** Old FreeBSD, NetBSD, and OpenBSD systems based on the COFF
 *** Old GNU/Linux systems based on libc version 5.
 
 *** Old FreeBSD, NetBSD, and OpenBSD systems based on the COFF
-    executable format.
+executable format.
 
 *** Solaris versions 2.6 and below.
 
 
 *** Solaris versions 2.6 and below.
 
@@ -1024,23 +1223,23 @@ specifies what to do when a buffer is visited, killed, or written.
 ** Abbrev has been rewritten in Elisp and extended with more flexibility.
 
 *** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put,
 ** Abbrev has been rewritten in Elisp and extended with more flexibility.
 
 *** New functions: abbrev-get, abbrev-put, abbrev-table-get, abbrev-table-put,
-    abbrev-table-p, abbrev-insert, abbrev-table-menu.
+abbrev-table-p, abbrev-insert, abbrev-table-menu.
 
 *** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'.
 
 *** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take
 
 *** Special hook `abbrev-expand-functions' obsoletes `pre-abbrev-expand-hook'.
 
 *** `make-abbrev-table', `define-abbrev', `define-abbrev-table' all take
-    extra arguments for arbitrary properties.
+extra arguments for arbitrary properties.
 
 *** New variable `abbrev-minor-mode-table-alist'.
 
 *** `local-abbrev-table' can hold a list of abbrev-tables.
 
 *** Abbrevs have now the following special properties:
 
 *** New variable `abbrev-minor-mode-table-alist'.
 
 *** `local-abbrev-table' can hold a list of abbrev-tables.
 
 *** Abbrevs have now the following special properties:
-    `:count', `:system', `:enable-function', `:case-fixed'.
+`:count', `:system', `:enable-function', `:case-fixed'.
 
 *** Abbrev-tables have now the following special properties:
 
 *** Abbrev-tables have now the following special properties:
-    `:parents', `:case-fixed', `:enable-function', `:regexp',
-    `abbrev-table-modiff'.
+`:parents', `:case-fixed', `:enable-function', `:regexp',
+`abbrev-table-modiff'.
 
 ** Apropos
 
 
 ** Apropos
 
@@ -1194,11 +1393,11 @@ rather than fortran-indent-comment.
 ** Gnus
 
 *** The Gnus package has been updated
 ** Gnus
 
 *** The Gnus package has been updated
-There are many news features, bug fixes and improvements; see the file
+There are many new features, bug fixes and improvements; see the file
 GNUS-NEWS or the node "No Gnus" in the Gnus manual for details.
 
 *** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for
 GNUS-NEWS or the node "No Gnus" in the Gnus manual for details.
 
 *** In Emacs 23, Gnus uses Emacs' new internal coding system `utf-8-emacs' for
-saving articles drafts and ~/.newsrc.eld.  These file may not be read
+saving articles, drafts, and ~/.newsrc.eld.  These file may not be read
 correctly in Emacs 22 and below.  If you want to Gnus across different Emacs
 versions, you may set `mm-auto-save-coding-system' to `emacs-mule'.
 
 correctly in Emacs 22 and below.  If you want to Gnus across different Emacs
 versions, you may set `mm-auto-save-coding-system' to `emacs-mule'.
 
@@ -1251,8 +1450,8 @@ for buff-menu.el and ibuffer.el are bound to the keys `M-s a C-s' and
 *** `C-h C-h' in Isearch mode displays isearch-specific Help screen,
 `C-h b' displays all Isearch key bindings, `C-h k' displays the full
 documentation of the given Isearch key sequence, `C-h m' displays
 *** `C-h C-h' in Isearch mode displays isearch-specific Help screen,
 `C-h b' displays all Isearch key bindings, `C-h k' displays the full
 documentation of the given Isearch key sequence, `C-h m' displays
-documentation of Isearch mode.  All the rest Help commands exit Isearch mode
-and execute their global definitions.
+documentation for Isearch mode.  All the other Help commands exit
+Isearch mode and execute their global definitions.
 
 *** When started in the minibuffer, Isearch searches in the minibuffer
 history.  See `Minibuffer changes', above.
 
 *** When started in the minibuffer, Isearch searches in the minibuffer
 history.  See `Minibuffer changes', above.
@@ -1986,7 +2185,6 @@ ordered by their priorities.
 **** `coding-system-from-name' returns a coding system matching with
 the argument name.
 
 **** `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).
 ** 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).