]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Add section for icons that are a part of Emacs.
[gnu-emacs] / etc / NEWS
index eccfaa39e49e8fd8526f65166d6356b576736f15..98814ba2593b6b3d8f1d83b8b0d9c40898aaca99 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,15 +1,16 @@
 GNU Emacs NEWS -- history of user-visible changes.  2006-06-04
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+
+Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
           Free Software Foundation, Inc.
-See the end for copying conditions.
+See the end of the file for license conditions.
 
 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 22.
+This file is about changes in Emacs version 22.
 
 See files NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 for changes
-in older emacs versions.
+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.
@@ -95,7 +96,6 @@ doesn't automatically select the right one.
 Its name is `pt-br-refcard.tex'.  The corresponding PostScript file is
 also included.
 
-
 ---
 ** A French translation of the `Emacs Survival Guide' is available.
 
@@ -121,6 +121,10 @@ See the files mac/README and mac/INSTALL for build instructions.
 ---
 ** Support for GNU/Linux systems on X86-64 machines was added.
 
+---
+** Support for HP 9000 series 800 and Hitachi SR2001/SR2201 machines
+was removed.
+
 ---
 ** Mac OS 9 port now uses the Carbon API by default.  You can also
 create non-Carbon build by specifying `NonCarbon' as a target.  See
@@ -202,6 +206,13 @@ an interactively callable function.
 all frames you create.  A position specified with --geometry only
 affects the initial frame.
 
+---
+** Emacs built for MS-Windows now behaves like Emacs on X does,
+wrt its frame position: if you don't specify a position (in your
+.emacs init file, in the Registry, or with the --geometry command-line
+option), Emacs leaves the frame position to the Windows' window
+manager.
+
 +++
 ** Emacs can now be invoked in full-screen mode on a windowed display.
 When Emacs is invoked on a window system, the new command-line options
@@ -229,8 +240,8 @@ displays a buffer menu.  This option turns the buffer menu off.
 +++
 ** Init file changes
 If the init file ~/.emacs does not exist, Emacs will try
-~/.emacs.d/init.el or ~/.emacs.d/init.elc.  You can also put the shell
-init file .emacs_SHELL under ~/.emacs.d.
+~/.emacs.d/init.el or ~/.emacs.d/init.elc.  Likewise, if the shell init file
+~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh.
 
 +++
 ** Emacs now reads the standard abbrevs file ~/.abbrev_defs
@@ -238,6 +249,12 @@ automatically at startup, if it exists.  When Emacs offers to save
 modified buffers, it saves the abbrevs too if they have changed.  It
 can do this either silently or asking for confirmation first,
 according to the value of `save-abbrevs'.
+
++++
+** If the environment variable EMAIL is defined, Emacs now uses its value
+to compute the default value of `user-mail-address', in preference to
+concatenation of `user-login-name' with the name of your host machine.
+
 \f
 * Incompatible Editing Changes in Emacs 22.1
 
@@ -287,7 +304,8 @@ have been moved to C-h F, C-h K and C-h S.
 See below under "incremental search changes".
 
 ---
-** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case.
+** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer
+a special case.
 
 Since the default input is the current directory, this has the effect
 of specifying the current directory.  Normally that means to visit the
@@ -324,6 +342,18 @@ by whitespace.  This means you can now use them as shell wildcards
 too.  If you want to use just plain `*' as a wildcard, type `*""'; the
 doublequotes make no difference in the shell, but they prevent
 special treatment in `dired-do-shell-command'.
+
+** Adaptive filling misfeature removed.
+It no longer treats `NNN.' or `(NNN)' as a prefix.
+
+---
+** The register compatibility key bindings (deprecated since Emacs 19)
+have been removed:
+  C-x /   point-to-register (Use: C-x r SPC)
+  C-x j   jump-to-register  (Use: C-x r j)
+  C-x x   copy-to-register  (Use: C-x r s)
+  C-x g   insert-register   (Use: C-x r i)
+
 \f
 * Editing Changes in Emacs 22.1
 
@@ -495,7 +525,7 @@ hyperlinks for variables without variable documentation, unless
 preceded by one of the words `variable' or `option'.  It now makes
 hyperlinks to Info anchors (or nodes) if the anchor (or node) name is
 enclosed in single quotes and preceded by `info anchor' or `Info
-anchor' (in addition to earlier `info node' and `Info node'). In
+anchor' (in addition to earlier `info node' and `Info node').  In
 addition, it now makes hyperlinks to URLs as well if the URL is
 enclosed in single quotes and preceded by `URL'.
 
@@ -664,7 +694,8 @@ when the file name contains wildcard characters.
 
 +++
 *** find-alternate-file replaces the current file with multiple files,
-when the file name contains wildcard characters.
+when the file name contains wildcard characters.  It now asks if you
+wish save your changes and not just offer to kill the buffer.
 
 +++
 *** Auto Compression mode is now enabled by default.
@@ -760,7 +791,7 @@ 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
+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.
@@ -827,6 +858,13 @@ The variable `automatic-hscrolling' was renamed to
 the window now works sensibly, by automatically adjusting the window's
 vscroll property.
 
+*** New customize option `overline-margin' controls the space between
+overline and text.
+
+*** New variable `x-underline-at-descent-line' controls the relative
+position of the underline.  When set, it overrides the
+`x-use-underline-position-properties' variables.
+
 +++
 *** The new face `mode-line-inactive' is used to display the mode line
 of non-selected windows.  The `mode-line' face is now used to display
@@ -885,6 +923,17 @@ Such individual settings are now preserved when windows are split
 horizontally or vertically, a saved window configuration is restored,
 or when the frame is resized.
 
++++
+*** The %c and %l constructs are now ignored in frame-title-format.
+Due to technical limitations in how Emacs interacts with windowing
+systems, these constructs often failed to render properly, and could
+even cause Emacs to crash.
+
++++
+*** If value of `auto-resize-tool-bars' is `grow-only', the tool bar
+will expand as needed, but not contract automatically.  To contract
+the tool bar, you must type C-l.
+
 ** Cursor display changes:
 
 +++
@@ -934,6 +983,19 @@ so package-specific faces can inherit from it.
 +++
 *** `vertical-border' face is used for the vertical divider between windows.
 
+** ebnf2ps changes:
+
++++
+*** New option `ebnf-arrow-extra-width' which specify extra width for arrow
+shape drawing.
+The extra width is used to avoid that the arrowhead and the terminal border
+overlap.  It depens on `ebnf-arrow-shape' and `ebnf-line-width'.
+
++++
+*** New option `ebnf-arrow-scale' which specify the arrow scale.
+Values lower than 1.0, shrink the arrow.
+Values greater than 1.0, expand the arrow.
+
 ** Font-Lock changes:
 
 +++
@@ -950,11 +1012,12 @@ fontification in Info, remove `turn-on-font-lock' from
 `Info-mode-hook'.
 
 +++
-*** font-lock: in modes like C and Lisp where the fontification assumes that
-an open-paren in column 0 is always outside of any string or comment,
-font-lock now highlights any such open-paren-in-column-zero in bold-red
-if it is inside a string or a comment, to indicate that it can cause
-trouble with fontification and/or indentation.
+*** Font-Lock mode: in major modes such as Lisp mode, where some Emacs
+features assume that an open-paren in column 0 is always outside of
+any string or comment, Font-Lock now highlights any such open-paren in
+bold-red if it is inside a string or a comment, to indicate that it
+can cause trouble.  You should rewrite the string or comment so that
+the open-paren is not in column 0.
 
 +++
 *** New standard font-lock face `font-lock-preprocessor-face'.
@@ -990,6 +1053,21 @@ jit-lock-defer-contextually is renamed jit-lock-contextually and
 jit-lock-context-time determines the delay after which contextual
 refontification takes place.
 
+---
+*** lazy-lock is considered obsolete.
+
+The `lazy-lock' package is superseded by `jit-lock' and is considered
+obsolete.  `jit-lock' is activated by default; if you wish to continue
+using `lazy-lock', activate it in your ~/.emacs like this:
+
+  (setq font-lock-support-mode 'lazy-lock-mode)
+
+If you invoke `lazy-lock-mode' directly rather than through
+`font-lock-support-mode', it now issues a warning:
+
+  "Use font-lock-support-mode rather than calling lazy-lock-mode"
+
+
 ** Menu support:
 
 ---
@@ -1035,7 +1113,7 @@ ESC, like they do for Gtk+, Mac and W32.
 
 +++
 *** For the Gtk+ version, you can make Emacs use the old file dialog
-by setting the variable `x-use-old-gtk-file-dialog' to t.  Default is to use
+by setting the variable `x-gtk-use-old-file-dialog' to t.  Default is to use
 the new dialog.
 
 ** Mouse changes:
@@ -1141,7 +1219,7 @@ characters instead, depending on how the terminal (or terminal
 emulator) works.  Use `set-keyboard-coding-system' (or customize
 keyboard-coding-system) if you prefer META to work (the old default)
 or if the locale doesn't describe the character set actually generated
-by the keyboard.  See Info node `Single-Byte Character Support'.
+by the keyboard.  See Info node `Unibyte Mode'.
 
 +++
 *** The new command `revert-buffer-with-coding-system' (C-x RET r)
@@ -1410,6 +1488,13 @@ otherwise behaves quite similarly to the bash version.
 `comint-use-prompt-regexp'.  The old name has been kept as an alias,
 but declared obsolete.
 
++++
+*** The new INSIDE_EMACS environment variable is set to "t" in
+subshells running inside Emacs.  This supersedes the EMACS environment
+variable, which will be removed in a future Emacs release.  Programs
+that need to know whether they are started inside Emacs should check
+INSIDE_EMACS instead of EMACS.
+
 ** M-x Compile changes:
 
 ---
@@ -1466,6 +1551,10 @@ it doesn't scroll the compilation output window.  If there is no left fringe,
 no arrow is displayed and a value of nil means display the message at the top
 of the window.
 
++++
+*** The EMACS environment variable now defaults to Emacs's absolute
+file name, instead of to "t".
+
 ** Occur mode changes:
 
 +++
@@ -1590,8 +1679,8 @@ on the mode line, header line and display margin, when run in an xterm.
 
 ---
 *** Improved key bindings support when running in an xterm.
-When emacs is running in an xterm more key bindings are available. The
-following should work:
+When emacs is running in an xterm more key bindings are available.
+The following should work:
 {C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}.
 These key bindings work on xterm from X.org 6.8, they might not work on
 some older versions of xterm, or on some proprietary versions.
@@ -1635,8 +1724,8 @@ ERC is a powerful, modular, and extensible IRC client for Emacs.
 To see what modules are available, type
 M-x customize-option erc-modules RET.
 
-To start an IRC session, type M-x erc-select, and follow the prompts
-for server, port, and nick.
+To start an IRC session, type M-x erc, and follow the prompts for
+server, port, and nick.
 
 ---
 ** Rcirc is now part of the Emacs distribution.
@@ -1759,9 +1848,8 @@ 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
-to increment the SOA serial.
+** The new package dns-mode.el adds syntax highlighting of DNS master files.
+It is a modern replacement for zone-mode.el, which is now obsolete.
 
 ---
 ** The new global minor mode `file-name-shadow-mode' modifies the way
@@ -1801,10 +1889,10 @@ are left unspecified and can be bound individually through the global
 or local keymaps.
 
 +++
-** The new kmacro package provides a simpler user interface to
-emacs' keyboard macro facilities.
+** Emacs' keyboard macro facilities have been enhanced by the new
+kmacro package.
 
-Basically, it uses two function keys (default F3 and F4) like this:
+Keyboard macros are now defined and executed via the F3 and F4 keys:
 F3 starts a macro, F4 ends the macro, and pressing F4 again executes
 the last macro.  While defining the macro, F3 inserts a counter value
 which automatically increments every time the macro is executed.
@@ -1819,8 +1907,8 @@ manipulating the macro counter and format via C-x C-k C-c,
 C-x C-k C-a, and C-x C-k C-f.  See the commentary in kmacro.el
 for more commands.
 
-The normal macro bindings C-x (, C-x ), and C-x e now interfaces to
-the keyboard macro ring.
+The original macro bindings C-x (, C-x ), and C-x e are still
+available, but they now interface to the keyboard macro ring too.
 
 The C-x e command now automatically terminates the current macro
 before calling it, if used while defining a macro.
@@ -1957,16 +2045,22 @@ boundaries during scrolling.
 +++
 ** The file t-mouse.el is now part of Emacs and provides access to mouse
 events from the console.  It still requires gpm to work but has been updated
-for Emacs 22. In particular, the mode-line is now position sensitive.
+for Emacs 22.  In particular, the mode-line is now position sensitive.
 \f
 * Changes in Specialized Modes and Packages in Emacs 22.1:
 
+** Changes in Shell Mode
+
+*** Shell output normally scrolls so that the input line is at the
+bottom of the window -- thus showing the maximum possible text.  (This
+is similar to the way sequential output to a terminal works.)
+
 ** Changes in Dired
 
 +++
 *** Bindings for Tumme added
 Several new keybindings, all starting with the C-t prefix, have been
-added to Dired. They are all bound to commands in Tumme. As a starting
+added to Dired.  They are all bound to commands in Tumme.  As a starting
 point, mark some image files in a dired buffer and do C-t d to display
 thumbnails of them in a separate buffer.
 
@@ -1982,51 +2076,103 @@ using hi-lock-mode in an initialization file will turn on Hi Lock in all
 buffers and no warning will be issued (for compatibility with the
 behavior in older versions of Emacs).
 
+---
 ** Changes in Allout
 
+*** Some previously rough topic-header format edge cases are reconciled.
+Level 1 topics use the mode's comment format, and lines starting with the
+asterisk - for instance, the comment close of some languages (eg, c's "*/"
+or mathematica's "*)") - at the beginning of line are no longer are
+interpreted as level 1 topics in those modes.
+
+*** Many or most commonly occuring "accidental" topics are disqualified.
+Text in item bodies that looks like a low-depth topic is no longer mistaken
+for one unless its first offspring (or that of its next sibling with
+offspring) is only one level deeper.
+
+For example, pasting some text with a bunch of leading asterisks into a
+topic that's followed by a level 3 or deeper topic will not cause the
+pasted text to be mistaken for outline structure.
+
+The same constraint is applied to any level 2 or 3 topics.
+
+This settles an old issue where typed or pasted text needed to be carefully
+reviewed, and sometimes doctored, to avoid accidentally disrupting the
+outline structure.  Now that should be generally unnecessary, as the most
+prone-to-occur accidents are disqualified.
+
+*** Allout now refuses to create "containment discontinuities", where a
+topic is shifted deeper than the offspring-depth of its container.  On the
+other hand, allout now operates gracefully with existing containment
+discontinuities, revealing excessively contained topics rather than either
+leaving them hidden or raising an error.
+
 *** 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 heart's 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.
-
-*** `allout-view-change-hook' marked as being deprecated - use
-`allout-exposure-change-hook' instead.  Both are currently being used, but
-`allout-view-change-hook' will be ignored in a subsequent allout version.
-
-*** Default command prefix changed to "\C-c " (control-c space), to avoid
-intruding on user's keybinding space.  Customize the
+powerful ways.  Encryption behavior customization is collected in the
+allout-encryption customization group.
+
+*** Navigation within an item is easier.  Repeated beginning-of-line and
+end-of-line key commands (usually, ^A and ^E) cycle through the
+beginning/end-of-line and then beginning/end of topic, etc.  See new
+customization vars `allout-beginning-of-line-cycles' and
+`allout-end-of-line-cycles'.
+
+*** New or revised allout-mode activity hooks enable creation of
+cooperative enhancements to allout mode without changes to the mode,
+itself.
+
+See `allout-exposure-change-hook', `allout-structure-added-hook',
+`allout-structure-deleted-hook', and `allout-structure-shifted-hook'.
+
+`allout-exposure-change-hook' replaces the existing
+`allout-view-change-hook', which is being deprecated.  Both are still
+invoked, but `allout-view-change-hook' will eventually be ignored.
+`allout-exposure-change-hook' is called with explicit arguments detailing
+the specifics of each change (as are the other new hooks), making it easier
+to use than the old version.
+
+There is a new mode deactivation hook, `allout-mode-deactivate-hook', for
+coordinating with deactivation of allout-mode.  Both that and the mode
+activation hook, `allout-mode-hook' are now run after the `allout-mode'
+variable is changed, rather than before.
+
+*** Default command prefix was changed to "\C-c " (control-c space), to
+avoid intruding on user's keybinding space.  Customize the
 `allout-command-prefix' variable to your preference.
 
-*** Allout now uses text overlay's `invisible' property (and others) for
-concealed text, instead of selective-display.  This simplifies the code, in
-particular avoiding the need for kludges for isearch dynamic-display,
-discretionary handling of edits of concealed text, undo concerns, etc.
+*** Allout now uses text overlay's `invisible' property for concealed text,
+instead of selective-display.  This simplifies the code, in particular
+avoiding the need for kludges for isearch dynamic-display, discretionary
+handling of edits of concealed text, undo concerns, etc.
 
-*** Many substantial fixes and refinements, including:
+*** There are many other fixes and refinements, including:
 
-   - repaired inhibition of inadvertent edits to concealed text
-   - repaired retention of topic body hanging indent upon topic depth shifts
-   - refuse to create "containment discontinuities", where a
-     topic is shifted deeper than the offspring-depth of its' container
+   - repaired inhibition of inadvertent edits to concealed text, without
+     inhibiting undo; we now reveal undo changes within concealed text.
    - auto-fill-mode is now left inactive when allout-mode starts, if it
      already was inactive.  also, `allout-inhibit-auto-fill' custom
      configuration variable makes it easy to disable auto fill in allout
      outlines in general or on a per-buffer basis.
-   - new hook `allout-mode-deactivate-hook', for coordinating with
-     deactivation of allout-mode.
+   - allout now tolerates fielded text in outlines without disruption.
+   - hot-spot navigation now is modularized with a new function,
+     `allout-hotspot-key-handler', enabling easier use and enhancement of
+     the functionality in allout addons.
+   - repaired retention of topic body hanging indent upon topic depth shifts
    - bulleting variation is simpler and more accommodating, both in the
      default behavior and in ability to vary when creating new topics
    - mode deactivation now does cleans up effectively, more properly
      restoring affected variables and hooks to former state, removing
-     overlays, etc.
+     overlays, etc.  see `allout-add-resumptions' and
+     `allout-do-resumptions', which replace the old `allout-resumptions'.
    - included a few unit-tests for interior functionality.  developers can
      have them automatically run at the end of module load by customizing
      the option `allout-run-unit-tests-on-load'.
-   - many, many minor tweaks and fixes.  many internal fixes and
-     refinements of docstrings.
+   - many, many other, more minor tweaks, fixes, and refinements.
    - version number incremented to 2.2
 
 ** The variable `woman-topic-at-point' was renamed
@@ -2041,9 +2187,9 @@ at point is suggested as default, but not inserted at the prompt.
 *** 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.
+*** If the file ~/.emacs_NAME or ~/.emacs.d/init_NAME.scm (where NAME
+is the name of the Scheme interpreter) exists, 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
@@ -2563,7 +2709,7 @@ C-c C-i b, and so on.
 ** Fortran mode changes:
 
 ---
-*** Fortran mode does more font-locking by default. Use level 3
+*** Fortran mode does more font-locking by default.  Use level 3
 highlighting for the old default.
 
 +++
@@ -2757,7 +2903,7 @@ extracting the content of a BibTeX field.
 *** The variables `bibtex-autokey-name-case-convert' and
 `bibtex-autokey-titleword-case-convert' have been renamed to
 `bibtex-autokey-name-case-convert-function' and
-`bibtex-autokey-titleword-case-convert-function'. The old names are
+`bibtex-autokey-titleword-case-convert-function'.  The old names are
 still available as aliases.
 
 ** In Artist mode the variable `artist-text-renderer' has been
@@ -2971,13 +3117,13 @@ feature.
 +++
 ***  When comparing directories.
 Typing D brings up a buffer that lists the differences between the contents of
-directories. Now it is possible to use this buffer to copy the missing files
+directories.  Now it is possible to use this buffer to copy the missing files
 from one directory to another.
 
 +++
 *** When comparing files or buffers.
 Typing the = key now offers to perform the word-by-word comparison of the
-currently highlighted regions in an inferior Ediff session. If you answer 'n'
+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.
 
@@ -3078,6 +3224,15 @@ be used (only once) in place of a file name on the command line.  Etags
 reads from standard input and marks the produced tags as belonging to
 the file FILE.
 
+*** The --members option is now the default.
+
+Use --no-members if you want the old default behaviour of not tagging
+struct members in C, members variables in C++ and variables in PHP.
+
+** Ctags changes.
+
+*** Ctags now allows duplicate tags
+
 ** VC Changes
 
 +++
@@ -3177,19 +3332,27 @@ See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details.
 ---
 ** MH-E changes.
 
-Upgraded to MH-E version 8.0.2.  There have been major changes since
+Upgraded to MH-E version 8.0.3.  There have been major changes since
 version 5.0.2; see MH-E-NEWS for details.
 
 ** Calendar changes:
 
++++
+*** The meanings of C-x < and C-x > have been interchanged.
+< means to scroll backward in time, and > means to scroll forward.
+
 +++
 *** 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.)
+the calendar left or right.
 
 +++
 *** There is a new calendar package, icalendar.el, that can be used to
 convert Emacs diary entries to/from the iCalendar format.
 
++++
+*** The new package cal-html.el writes HTML files with calendar and
+diary entries.
+
 +++
 *** Diary sexp entries can have custom marking in the calendar.
 Diary sexp functions which only apply to certain days (such as
@@ -3203,7 +3366,7 @@ appointments, paydays or anything else using a sexp.
 
 +++
 *** The new function `calendar-goto-day-of-year' (g D) prompts for a
-year and day number, and moves to that date. Negative day numbers
+year and day number, and moves to that date.  Negative day numbers
 count backward from the end of the year.
 
 +++
@@ -3218,7 +3381,7 @@ window generated by the function `generate-calendar-window'.
 ---
 *** The functions `holiday-easter-etc' and `holiday-advent' now take
 optional arguments, in order to only report on the specified holiday
-rather than all. This makes customization of variables such as
+rather than all.  This makes customization of variables such as
 `christian-holidays' simpler.
 
 ---
@@ -3500,6 +3663,9 @@ variable `calculator-radix-grouping-mode'.
 ---
 ** iso-acc.el is now obsolete.  Use one of the latin input methods instead.
 
+---
+** zone-mode.el is now obsolete.  Use dns-mode.el instead.
+
 ---
 ** cplus-md.el has been deleted.
 
@@ -3564,8 +3730,12 @@ irrespective of geometry or background setting on the Windows registry.
 ---
 ** On MS Windows, the "system caret" now follows the cursor.
 
-This enables Emacs to work better with programs that need to track
-the cursor, for example screen magnifiers and text to speech programs.
+This enables Emacs to work better with programs that need to track the
+cursor, for example screen magnifiers and text to speech programs.
+When such a program is in use, the system caret is made visible
+instead of Emacs drawing its own cursor. This seems to be required by
+some programs. The new variable w32-use-visible-system-caret allows
+the caret visibility to be manually toggled.
 
 ---
 ** Tooltips now work on MS Windows.
@@ -3575,7 +3745,7 @@ See the Emacs 21.1 NEWS entry for tooltips for details.
 ---
 ** Images are now supported on MS Windows.
 
-PBM and XBM images are supported out of the box. Other image formats
+PBM and XBM images are supported out of the box.  Other image formats
 depend on external libraries.  All of these libraries have been ported
 to Windows, and can be found in both source and binary form at
 http://gnuwin32.sourceforge.net/.  Note that libpng also depends on
@@ -3617,7 +3787,7 @@ you wish to use them in other faces.
 ** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations.
 
 Those systems use Unicode internally, so this allows Emacs to share
-multilingual text with other applications. On other versions of
+multilingual text with other applications.  On other versions of
 MS Windows, Emacs now uses the appropriate locale coding-system, so
 the clipboard should work correctly for your local language without
 any customizations.
@@ -3627,12 +3797,12 @@ any customizations.
 
 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
+a local console window with a scrollback buffer.  The default value of
 w32-use-full-screen-buffer is now nil, which favors 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
+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
+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.
 
@@ -3649,8 +3819,15 @@ w32-use-full-screen-buffer to t.
 \f
 * Incompatible Lisp Changes in Emacs 22.1
 
-** The function find-operation-coding-system accepts a cons (FILENAME
-. BUFFER) in an argument correponding to the target.
++++
+** The `read-file-name' function now returns a null string if the
+user just types RET.
+
++++
+** The function find-operation-coding-system may be called with a cons
+(FILENAME . BUFFER) in the second argument if the first argument
+OPERATION is `insert-file-contents', and thus a function registered in
+`file-coding-system-alist' is also called with such an argument.
 
 ---
 ** The variables post-command-idle-hook and post-command-idle-delay have
@@ -3683,8 +3860,15 @@ deleting the part of subprocess output that matches the input.
 ** The variable `memory-full' now remains t until
 there is no longer a shortage of memory.
 
++++
 ** When Emacs receives a USR1 or USR2 signal, this generates
-an input event: usr1-signal or usr2-signal.
+input events: sigusr1 or sigusr2.  Use special-event-map to
+handle these events.
+
++++
+** A hex or octal escape in a string constant forces the string to
+be multibyte or unibyte, respectively.
+
 \f
 * Lisp Changes in Emacs 22.1
 
@@ -3697,6 +3881,10 @@ negative, is now a float.  For example: (expt 2 -2) => 0.25.
 +++
 *** The function `eql' is now available without requiring the CL package.
 
++++
+*** The new function `memql' is like `memq', but uses `eql' for comparison,
+that is, floats are compared by value and other elements with `eq'.
+
 +++
 *** `makehash' is now obsolete.  Use `make-hash-table' instead.
 
@@ -3840,6 +4028,12 @@ If it is non-nil, the function lists only faces matching this regexp.
 `string-or-null-p' returns non-nil iff OBJECT is a string or nil.
 `booleanp' returns non-nil iff OBJECT is a t or nil.
 
++++
+*** New hook `command-error-function'.
+
+By setting this variable to a function, you can control
+how the editor command loop shows the user an error message.
+
 ** Lisp code indentation features:
 
 +++
@@ -4017,6 +4211,11 @@ give up and return LIMIT.
 and partial visibility state of the corresponding row, if the PARTIALLY
 arg is non-nil.
 
++++
+*** New function `window-line-height' is an efficient way to get
+information about a specific text line in a window provided that the
+window's display is up-to-date.
+
 +++
 *** New functions `posn-at-point' and `posn-at-x-y' return
 click-event-style position information for a given visible buffer
@@ -4024,6 +4223,13 @@ position or for a given window pixel coordinate.
 
 ** Text modification:
 
++++
+*** The new function `buffer-chars-modified-tick' returns a buffer's
+tick counter for changes to characters.  Each time text in that buffer
+is inserted or deleted, the character-change counter is updated to the
+tick counter (`buffer-modified-tick').  Text property changes leave it
+unchanged.
+
 +++
 *** The new function `insert-for-yank' normally works like `insert', but
 removes the text properties in the `yank-excluded-properties' list
@@ -4395,10 +4601,20 @@ 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.
 
++++
+*** The function `file-name-completion' accepts an optional argument
+PREDICATE, and rejects completion candidates that don't satisfy PREDICATE.
+
 ** Input changes:
 
 +++
-*** An interactive specification can now use the code letter 'U' to get
+*** The functions `read-event', `read-char', and `read-char-exclusive'
+have a new optional argument SECONDS.  If non-nil, this specifies a
+maximum time to wait for input, in seconds.  If no input arrives after
+this time elapses, the functions stop waiting and return nil.
+
++++
+*** An interactive specification can now use the code letter `U' to get
 the up-event that was discarded in case the last key sequence read for a
 previous `k' or `K' argument was a down-event; otherwise nil is used.
 
@@ -4518,6 +4734,8 @@ example,
 
 (kbd "C-x C-f") => "\^x\^f"
 
+Actually, this format has existed since Emacs 20.1.
+
 *** Interactive commands can be remapped through keymaps.
 
 This is an alternative to using `defadvice' or `substitute-key-definition'
@@ -4580,6 +4798,12 @@ over minor mode keymaps.
 text properties, according to their stickiness.  This also means that it
 works with empty overlays.  The same hold for the `local-map' property.
 
+*** `key-binding' will now look up mouse-specific bindings.  The
+keymaps consulted by `key-binding' will get adapted if the key
+sequence is started with a mouse event.  Instead of letting the click
+position be determined from the key sequence itself, it is also
+possible to specify it with an optional argument explicitly.
+
 *** Dense keymaps now handle inheritance correctly.
 
 Previously a dense keymap would hide all of the simple-char key
@@ -4604,6 +4828,9 @@ Lisp packages using many minor mode keymaps can now maintain their own
 keymap alist separate from `minor-mode-map-alist' by adding their
 keymap alist to this list.
 
+*** The definition of a key-binding passed to define-key can use XEmacs-style
+key-sequences, such as [(control a)].
+
 ** Abbrev changes:
 
 +++
@@ -4830,9 +5057,6 @@ be used in different windows showing different buffers.
 *** New function `define-fringe-bitmap' can now be used to create new
 fringe bitmaps, as well as change the built-in fringe bitmaps.
 
-To change a built-in bitmap, do (require 'fringe) and use the symbol
-identifying the bitmap such as `left-truncation' or `continued-line'.
-
 *** New function `destroy-fringe-bitmap' deletes a fringe bitmap
 or restores a built-in one to its default value.
 
@@ -5121,6 +5345,11 @@ external packages to save users from having to update
 *** The new variable `max-image-size' defines the maximum size of
 images that Emacs will load and display.
 
++++
+*** The new variable `display-mm-dimensions-alist' can be used to
+override incorrect graphical display dimensions returned by functions
+`display-mm-height' and `display-mm-width'.
+
 ** Mouse pointer features:
 
 +++ (lispref)
@@ -5333,13 +5562,33 @@ text to being a piece of code, so you'd put a `jit-lock-defer-multiline'
 property over the second half of the command to force (deferred)
 refontification of `bar' whenever the `e' is added/removed.
 
+*** `font-lock-extend-region-functions' makes it possible to alter the way
+the fontification region is chosen.  This can be used to prevent rounding
+up to whole lines, or to extend the region to include all related lines
+of multiline constructs so that such constructs get properly recognized.
+
 ** Major mode mechanism changes:
 
 +++
-*** `set-auto-mode' now gives the interpreter magic line (if present)
-precedence over the file name.  Likewise an `<?xml' or `<!DOCTYPE'
-declaration will give the buffer XML or SGML mode, based on the new
-variable `magic-mode-alist'.
+*** If new variable `auto-mode-case-fold' is set to a non-nil value,
+Emacs will perform a second case-insensitive search through
+`auto-mode-alist' if the first case-sensitive search fails.
+This means that a file FILE.TXT is opened in text-mode, and a file PROG.PY
+is opened in python-mode.  Note however, that independent of this
+setting, *.C files are usually recognized as C++ files.
+It also has no effect on systems with case-insensitive file names.
+
++++
+*** New variable `magic-mode-alist' determines major mode for a file by
+looking at the file contents.  It takes precedence over `auto-mode-alist'.
+
++++
+*** An interpreter magic line (if present) takes precedence over the
+file name when setting the major mode.
+
++++
+*** XML or SGML major mode is selected when file starts with an `<?xml'
+or `<!DOCTYPE' declaration.
 
 +++
 *** Use the new function `run-mode-hooks' to run the major mode's mode hook.
@@ -5427,6 +5676,9 @@ been renamed to `disabled-command-function'.  The variable
 *** `emacsserver' now runs `pre-command-hook' and `post-command-hook'
 when it receives a request from emacsclient.
 
++++
+*** `current-idle-time' reports how long Emacs has been idle.
+
 ** Lisp file loading changes:
 
 +++
@@ -5743,20 +5995,23 @@ an error if the argument actually returns differing values.
 
 \f
 ----------------------------------------------------------------------
-Copyright information:
+This file is part of GNU Emacs.
+
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
 
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
-         Free Software Foundation, Inc.
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+GNU General Public License for more details.
 
-   Permission is granted to anyone to make or distribute verbatim copies
-   of this document as received, in any medium, provided that the
-   copyright notice and this permission notice are preserved,
-   thus giving the recipient permission to redistribute in turn.
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING.  If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
 
-   Permission is granted to distribute modified versions
-   of this document, or of portions of it,
-   under the above conditions, provided also that they
-   carry prominent notices stating who last changed them.
 \f
 Local variables:
 mode: outline