*** empty log message ***
[bpt/emacs.git] / etc / NEWS
index 96dbe42..35d2392 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,5 +1,5 @@
-GNU Emacs NEWS -- history of user-visible changes.  2001-03-15
-Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+GNU Emacs NEWS -- history of user-visible changes.  2003-05-21
+Copyright (C) 1999, 2000, 2001, 2002, 2003 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
@@ -15,7 +15,8 @@ so we will look at it and add it to the manual.
 * Installation Changes in Emacs 21.4
 
 ** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk'
-when you run configure.  This requires Gtk+ 2.0 or newer.
+when you run configure.  This requires Gtk+ 2.0 or newer.  This port
+provides a way to display multilingual text in menus (with some caveats).
 
 ---
 ** Emacs can now be built without sound support.
@@ -58,6 +59,8 @@ together with the Emacs User Manual, into the Info directory.  A menu
 item was added to the menu bar that makes it easy accessible
 (Help->More Manuals->Introduction to Emacs Lisp).
 
+** Support for Cygwin was added.
+
 ---
 ** Support for AIX 5.1 was added.
 
@@ -86,20 +89,93 @@ See the files mac/README and mac/INSTALL for build instructions.
 \f
 * Changes in Emacs 21.4
 
+** Support for the SQLite interpreter has been added to sql.el by calling
+'sql-sqlite'.
+
+** BibTeX mode:
+*** New `bibtex-entry-format' option `required-fields', enabled by default.
+*** bibtex-maintain-sorted-entries can take values `plain',
+`crossref', and `entry-class' which control the sorting scheme used
+for BibTeX entries. `bibtex-sort-entry-class' controls the sorting
+scheme `entry-class'.
+
+** When display margins are present in a window, the fringes are now
+displayed between the margins and the buffer's text area, rather than
+at the edges of the window.
+
+** A window may now have individual fringe and scroll-bar settings,
+in addition to the individual display margin settings.
+
+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.
+
+** Under X, mouse-wheel-mode is turned on by default.
+
+** The X resource useXIM can be used to turn off use of XIM, which may
+speed up Emacs with slow networking to the X server.
+
+** `describe-char' can show data from the Unicode database file.  See
+user option `unicode-data'.
+
+** `undo-only' does an undo which does not redo any previous undo.
+
+** `uniquify-strip-common-suffix' tells uniquify to prefer
+`file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'.
+
+** If the user visits a file larger than `large-file-warning-threshold',
+Emacs will prompt her for confirmation.
+
+** A UTF-7 coding system is available in the library `utf-7'.
+
+** GUD mode has its own tool bar for controlling execution of the inferior
+and other common debugger commands.
+
+** recentf changes.
+
+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.
+
+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.
+
+To follow naming convention, `recentf-keep-non-readable-files-flag'
+and `recentf-menu-append-commands-flag' respectively replace the
+misnamed options `recentf-keep-non-readable-files-p' and
+`recentf-menu-append-commands-p'.  The old names remain available as
+aliases, but have been marked obsolete.
+
+** The default for the paper size (variable ps-paper-type) is taken
+from the locale.
+
 ** Init file changes
 
 You can now put the init files .emacs and .emacs_SHELL under
 ~/.emacs.d or directly under ~.  Emacs will find them in either place.
 
+** partial-completion-mode now does partial completion on directory names.
+
+** skeleton.el now supports using - to mark the skeleton-point without
+   interregion interaction.  @ has reverted to only setting
+   skeleton-positions and no longer sets skeleton-point.  Skeletons
+   which used @ to mark skeleton-point independent of _ should now use -
+   instead.  The updated skeleton-insert docstring explains these new
+   features along with other details of skeleton construction.
+
 ** MH-E changes.
 
-Upgraded to MH-E version 7.1. There have been major changes since
+Upgraded to MH-E version 7.3. There have been major changes since
 version 5.0.2; see MH-E-NEWS for details.
 
 +++
-** The `emacsclient' understand the options `--eval' and `--display'
-which tell Emacs resp. to evaluate the given elisp expressions and
-to use the given display when visiting files.
+** The `emacsclient' command understands the options `--eval' and
+`--display' which tell Emacs respectively to evaluate the given elisp
+expression and to use the given display when visiting files.
+
+** User option `server-mode' can be used to start a server process.
 
 +++
 ** The mode line position information now comes before the major mode.
@@ -131,8 +207,11 @@ to alter the file.)
 ** The new command `revert-buffer-with-coding-system' (C-x RET r)
 revisits the current file using a coding system that you specify.
 
+** The new command `recode-file-name' changes the encoding of the name
+of a file.
+
 ---
-** `ps-print' can now print Unicode characters.
+** `ps-print' can now print characters from the mule-unicode charsets.
 
 Printing text with characters from the mule-unicode-* sets works with
 ps-print, provided that you have installed the appropriate BDF fonts.
@@ -162,16 +241,25 @@ now look at the character after point.  If a face or faces are
 specified for that character, the commands by default customize those
 faces.
 
-** New language environments: French, Cyrillic-KOI8-U, Windows-1251,
-Cyrillic-KOI8-T, Bulgarian, Belarusian, Ukrainian, UTF-8,
-Windows-1255, Welsh, Latin-7, Lithuanian, Latvian.
+** New language environments: French, Ukrainian, Windows-1251, Tajik,
+Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6,
+Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian,
+Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW.  (Set up
+automatically according to the locale.)
+
+** Indian support has been updated.
+The in-is13194 coding system is now Unicode-based.  CDAC fonts are
+assumed.  There is a framework for supporting various
+Indian scripts, but currently only Devanagari, Malayalam and Tamil are
+supported.
 
 ---
 ** New input methods: latin-alt-postfix, latin-postfix, latin-prefix,
 ukrainian-computer, belarusian, bulgarian-bds, russian-computer,
 vietnamese-telex, lithuanian-numeric, lithuanian-keyboard,
 latvian-keyboard, welsh, georgian, rfc1345, ucs, sgml,
-bulgarian-phonetic, dutch, slovenian.
+bulgarian-phonetic, dutch, slovenian, croatian, malayalam-inscript,
+tamil-inscript.
 
 ---
 ** A new coding system `euc-tw' has been added for traditional Chinese
@@ -183,13 +271,17 @@ Big 5 is then converted to CNS.
 library.  These include complete versions of most of those in
 codepage.el, based on Unicode mappings.
 
-** The utf-8 coding system has been enhanced.  Untranslatable utf-8
-sequences (mostly representing CJK characters) are composed into
-single quasi-characters.  User option `utf-translate-cjk' arranges to
-translate many utf-8 CJK character sequences into real Emacs
-characters in a similar way to the Mule-UCS system.  The utf-8 coding
-system will now encode characters from most of Emacs's one-dimensional
-internal charsets, specifically the ISO-8859 ones.
+** The utf-8/16 coding systems have been enhanced.
+By default, untranslatable utf-8 sequences (mostly representing CJK
+characters) are simply composed into single quasi-characters.  User
+option `utf-translate-cjk' arranges to translate many utf-8 CJK
+character sequences into real Emacs characters in a similar way to the
+Mule-UCS system.  This uses significant space, so is not the default.
+You can augment/amend the CJK translation via hash tables
+`ucs-mule-cjk-to-unicode' and `ucs-unicode-to-mule-cjk'.  The utf-8
+coding system now also encodes characters from most of Emacs's
+one-dimensional internal charsets, specifically the ISO-8859 ones.
+The utf-16 coding system is affected similarly.
 
 ** iso-10646-1 (`Unicode') fonts can be used to display any range of
 characters encodable by the utf-8 coding system.  Just specify the
@@ -221,7 +313,7 @@ will often effectively clobber data with an iso-2022 encoding.
 ** There is support for decoding Greek and Cyrillic characters into
 either Unicode (the mule-unicode charsets) or the iso-8859 charsets,
 when possible.  The latter are more space-efficient.  This is
-controlled by user option utf-8-fragment-on-decoding.
+controlled by user option utf-fragment-on-decoding.
 
 ** The new command `set-file-name-coding-system' (C-x RET F) sets
 coding system for encoding and decoding file names.  A new menu item
@@ -276,6 +368,11 @@ these extensions, and is now used by default for encoding and decoding
 X selections.  If you don't want this support, set
 `selection-coding-system' to `compound-text'.
 
+** The new variable `x-select-request-type' controls how Emacs
+requests X selection.  The default value is nil, which means that
+Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING,
+and use the more appropriately result.
+
 +++
 ** The parameters of automatic hscrolling can now be customized.
 The variable `hscroll-margin' determines how many columns away from
@@ -292,18 +389,25 @@ 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.
 
+** TeX modes:
+*** C-c C-c prompts for a command to run, and tries to offer a good default.
 +++
-** The user option `tex-start-options-string' has been replaced
+*** The user option `tex-start-options-string' has been replaced
 by two new user options: `tex-start-options', which should hold
 command-line options to feed to TeX, and `tex-start-commands' which should hold
 TeX commands to use at startup.
+*** verbatim environments are now highlighted in courier by font-lock
+and super/sub-scripts are made into super/sub-scripts.
+
+*** New major mode doctex-mode for *.dtx files.
 
 +++
-** New display feature: focus follows mouse.  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.
+** 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.
 
 +++
 ** The new command `describe-char' (C-u C-x =) pops up a buffer with
@@ -360,7 +464,7 @@ mode-line.
 ** Speedbar has moved from the "Tools" top level menu to "Show/Hide".
 
 +++
-** Emacs can now indicate in the mode-line the presence of new e-mails
+** Emacs can now indicate in the mode-line the presence of new e-mail
 in a directory or in a file.  See the documentation of the user option
 `display-time-mail-directory'.
 
@@ -433,7 +537,7 @@ screen size.  (For now, this does not work with some window managers.)
 automatically.
 
 +++
-** The new command `comint-input-previous-argument' in comint-derived
+** The new command `comint-insert-previous-argument' in comint-derived
 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.
@@ -679,7 +783,7 @@ appears in.
 
 ** The variable `cursor-in-non-selected-windows' can now be set to any
 of the recognized cursor types.
-  
+
 +++
 ** The default values of `tooltip-delay' and `tooltip-hide-delay'
 were changed.
@@ -724,6 +828,8 @@ means they are inserted before the command name.  For example, this
 allows you to specify a compression level using the "-z#" option for
 CVS.
 
+*** New backends for Subversion and Meta-CVS.
+
 ** EDiff changes.
 
 +++
@@ -919,23 +1025,41 @@ the cursor, for example screen magnifiers and text to speech programs.
 See the Emacs 21.1 NEWS entry for tooltips for details.
 
 ---
-** Some images are now supported on MS Windows.
-PBM and XBM images are supported, other formats which require external
-libraries may be supported in future.
+** Images are now supported on MS Windows.
+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
+zlib, and tiff depends on the version of jpeg that it was compiled
+against.
 
 ---
 ** Sound is now supported on MS Windows.
 WAV format is supported on all versions of Windows, other formats such
-as AU, AIFF and MP3 may be supported in the m ore recent versions of
+as AU, AIFF and MP3 may be supported in the more recent versions of
 Windows, or when other software provides hooks into the system level
 sound support for those formats.
 
+---
+** Different shaped mouse pointers are supported on MS Windows.
+The mouse pointer changes shape depending on what is under the pointer.
+
 ---
 ** Pointing devices with more than 3 buttons are now supported on MS Windows.
 The new variable `w32-pass-extra-mouse-buttons-to-system' controls
 whether Emacs should handle the extra buttons itself (the default), or
 pass them to Windows to be handled with system-wide functions.
 
+---
+** Emacs takes note of colors defined in Control Panel on MS-Windows.
+The Control Panel defines some default colors for applications in
+much the same way as wildcard X Resources do on X.  Emacs now
+adds these colors to the colormap prefixed by System (eg SystemMenu
+for the default Menu background, SystemMenuText for the foreground),
+and uses some of them to initialize some of the default faces.
+`list-colors-display' will show the list of System color names if you
+wish to use them in other faces.
+
 +++
 ** Under X11, it is possible to swap Alt and Meta (and Super and Hyper).
 The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym',
@@ -947,14 +1071,31 @@ Meta and Alt:
 
 * New modes and packages in 21.4
 
+** GDB-Script-mode is used for files like .gdbinit.
+** GDB-UI is now part of the Emacs distribution.
+
+This mode acts as an enhanced graphical user interface to 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 separates the input/output of your program from that of GDB and
+displays expressions and their current values in their own buffers.  It also
+uses features of Emacs 21 such as the display margin for breakpoints, and the
+tool bar.
+
+Use M-x gdba to start GDB-UI.
+
 ---
-** The new ido package is an extension of the iswitchb package
-to do interactive opening of files and directories in addition to
-interactive buffer switching.  Ido is a superset of iswitchb (with a
-few exceptions), so don't enable both packages.
+** Ido mode is now part of the Emacs distribution.
+
+The ido (interactively do) package is an extension of the iswitchb
+package to do interactive opening of files and directories in addition
+to interactive buffer switching.  Ido is a superset of iswitchb (with
+a few exceptions), so don't enable both packages.
 
 ---
-** The new cua package provides CUA-like keybindings using C-x for
+** CUA mode is now part of the Emacs distribution.
+
+The new cua package provides CUA-like keybindings using C-x for
 cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo.
 With cua, the region can be set and extended using shifted movement
 keys (like pc-selection-mode) and typed text replaces the active
@@ -991,6 +1132,11 @@ kill, copy, yank, and undo.  If you want to use cua mode, but don't
 want the C-x, C-c, C-v, and C-z bindings, you may customize the
 `cua-enable-cua-keys' variable.
 
+Note: This version of cua mode is not backwards compatible with older
+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.
+
 ** The new keypad setup package provides several common bindings for
 the numeric keypad which is available on most keyboards.  The numeric
 keypad typically has the digits 0 to 9, a decimal point, keys marked
@@ -1054,6 +1200,15 @@ to C-c C-f and C-c C-i.  The C-c C-i subcommands now have duplicate
 bindings on control characters--thus, C-c C-i C-b is the same as
 C-c C-i b, and so on.
 
+** The printing package is now part of the Emacs distribution.
+
+If you enable the printing package by including (require 'printing) in
+the .emacs file, the normal Print item on the File menu is replaced
+with a Print sub-menu which allows you to preview output through
+ghostview, use ghostscript to print (if you don't have a PostScript
+printer) or send directly to printer a PostScript code generated by
+`ps-print' package.  Use M-x pr-help for more information.
+
 +++
 ** Calc is now part of the Emacs distribution.
 
@@ -1094,7 +1249,7 @@ settings.
 
 ---
 ** The minor mode Reveal mode makes text visible on the fly as you
-move your cursor into hidden region of the buffer.
+move your cursor into hidden regions of the buffer.
 It should work with any package that uses overlays to hide parts
 of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ...
 
@@ -1125,13 +1280,97 @@ mode-lines in inverse-video.
 
 ---
 ** The obsolete C mode (c-mode.el) has been removed to avoid problems
-with Custom.
+with Custom.  cplus-md.el, which required it, has also been removed.
+
+** New package benchmark.el contains simple support for convenient
+timing measurements of code (including the garbage collection component).
 
 \f
 * Lisp Changes in Emacs 21.4
 
-** New function `optimize-char-coding-system-table' can be called
-after making changes to `char-coding-system-table'.
+** The kill-buffer-hook is now permanent-local.
+
+** The `local-map' property now also works at the ends of overlays and
+text-properties, according to their stickiness.  This also means that it
+works with empty overlays.  The same hold for the `keymap' property.
+
+** `select-window' takes a second optional argument `norecord', like
+`switch-to-buffer'.  `with-selected-window' is a new macro that uses
+this to temporarily switch the selected window without impacting
+the order of buffer-list.
+
+** (map-keymap FUNCTION KEYMAP) applies the function to each binding
+in the keymap.
+
+** VC changes for backends:
+*** (vc-switches BACKEND OPERATION) is a new function for use by backends.
+*** The new `find-version' backend function replaces the `destfile'
+parameter of the `checkout' backend function.
+Old code still works thanks to a default `find-version' behavior that
+uses the old `destfile' parameter.
+
+** `minor-mode-list' now holds a list of minor mode commands.
+
+** The new command `modify-all-frames-parameters' modifies parameters
+for all (existing and future) frames.
+
+** `sit-for' can now be called with args (SECONDS &optional NODISP).
+
+** New standard font-lock face `font-lock-preprocessor-face'.
+
+** The macro `with-syntax-table' does not copy the table any more.
+
+** The variable `face-font-rescale-alist' specifies how much larger
+(or smaller) font we should use.  For instance, if the value is
+'((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10
+point, we actually use a font of 13 point if the font matches
+SOME-FONTNAME-PATTERN.
+
+** The function `number-sequence' returns a list of equally-separated
+numbers.  For instance, (number-sequence 4 9) returns (4 5 6 7 8 9).
+By default, the separation is 1, but you can specify a different separation
+as the third argument.  (number-sequence 1.5 6 2) returns (1.5 3.5 5.5).
+
+** `file-chase-links' now takes an optional second argument LIMIT which
+specifies the maximum number of links to chase through.  If after that
+many iterations the file name obtained is still a symbolic link,
+`file-chase-links' returns it anyway.
+
+** `set-fontset-font', `fontset-info', `fontset-font' now operate on
+the default fontset if the argument NAME is nil..
+
+** The escape sequence \s is now interpreted as a SPACE character,
+unless it is followed by a `-' in a character constant (e.g. ?\s-A),
+in which case it is still interpreted as the super modifier.
+In strings, \s is always interpreted as a space.
+
+** New function `set-process-filter-multibyte' sets the multibyteness
+of a string given to a process's filter.
+
+** New function `process-filter-multibyte-p' returns t if
+a string given to a process's filter is multibyte.
+
+** A filter function of a process is called with a multibyte string if
+the filter's multibyteness is t.  That multibyteness is decided by the
+value of `default-enable-multibyte-characters' when the process is
+created and can be changed later by `set-process-filter-multibyte'.
+
+** If a process's coding system is raw-text or no-conversion and its
+buffer is multibyte, the output of the process is at first converted
+to multibyte by `string-to-multibyte' then inserted in the buffer.
+Previously, it was converted to multibyte by `string-as-multibyte',
+which was not compatible with the behaviour of file reading.
+
+** New function `string-to-multibyte' converts a unibyte string to a
+multibyte string with the same individual character codes.
+
+** New variables `gc-elapsed' and `gcs-done' provide extra information
+on garbage collection.
+
+** New function `decode-coding-inserted-region' decodes a region as if
+it is read from a file without decoding.
+
+** New function `langinfo' accesses locale information.
 
 ** `save-selected-window' now saves and restores the selected window
 of every frame.  This way, it restores everything that can be changed
@@ -1166,7 +1405,7 @@ second case, using `foo' as a variable won't produce a warning if it's
 unbound.  The test must be in exactly one of the above forms (after
 macro expansion), but such tests may be nested.  Note that `when' and
 `unless' expand to `if', but `cond' doesn't.
-  
+
 ** New translation table `translation-table-for-input'.
 
 +++
@@ -1258,25 +1497,62 @@ with the form as argument, and if any returns t, the form is ok to call.
 If the form is not "ok to call", that means Emacs asks for
 confirmation as before.
 
-** Controlling the left and right fringe widths.
+** Controlling the default left and right fringe widths.
 
-The left and right fringe widths can now be controlled by setting the
-`left-fringe' and `right-fringe' frame parameters to an integer value
-specifying the width in pixels.  Setting the width to 0 effectively
-removes the corresponding fringe.
+The default left and right fringe widths for all windows of a frame
+can now be controlled by setting the `left-fringe' and `right-fringe'
+frame parameters to an integer value specifying the width in pixels.
+Setting the width to 0 effectively removes the corresponding fringe.
 
-The actual fringe widths may deviate from the specified widths, since
-the combined fringe widths must match an integral number of columns.
-The extra width is distributed evenly between the left and right fringe.
-For force a specific fringe width, specify the width as a negative
-integer (if both widths are negative, only the left fringe gets the
-specified width).
+The actual default fringe widths for the frame may deviate from the
+specified widths, since the combined fringe widths must match an
+integral number of columns.  The extra width is distributed evenly
+between the left and right fringe.  For force a specific fringe width,
+specify the width as a negative integer (if both widths are negative,
+only the left fringe gets the specified width).
 
 Setting the width to nil (the default), restores the default fringe
 width which is the minimum number of pixels necessary to display any
 of the currently defined fringe bitmaps.  The width of the built-in
 fringe bitmaps is 8 pixels.
 
+** Per-window fringes settings
+
+Windows can now have their own individual fringe widths and position
+settings.
+
+To control the fringe widths of a window, either set the buffer-local
+variables `left-fringe-width', `right-fringe-width', or call
+`set-window-fringes'.
+
+To control the fringe position in a window, that is, whether fringes
+are positioned between the display margins and the window's text area,
+or at the edges of the window, either set the buffer-local variable
+`fringes-outside-margins' or call `set-window-fringes'.
+
+The function `window-fringes' can be used to obtain the current
+settings.  To make `left-fringe-width', `right-fringe-width', and
+`fringes-outside-margins' take effect, you must set them before
+displaying the buffer in a window, or use `set-window-buffer' to force
+an update of the display margins.
+
+** Per-window vertical scroll-bar settings
+
+Windows can now have their own individual scroll-bar settings
+controlling the width and position of scroll-bars.
+
+To control the scroll-bar of a window, either set the buffer-local
+variables `scroll-bar-mode' and `scroll-bar-width', or call
+`set-window-scroll-bars'.  The function `window-scroll-bars' can be
+used to obtain the current settings.  To make `scroll-bar-mode' and
+`scroll-bar-width' take effect, you must set them before displaying
+the buffer in a window, or use `set-window-buffer' to force an update
+of the display margins.
+
+** The function `set-window-buffer' now has an optional third argument
+KEEP-MARGINS which will preserve the window's current margin, fringe,
+and scroll-bar settings if non-nil.
+
 +++
 ** Renamed file hooks to follow the convention:
 find-file-hooks to find-file-hook,
@@ -1285,7 +1561,7 @@ write-file-hooks to write-file-functions,
 write-contents-hooks to write-contents-functions.
 Marked local-write-file-hooks as obsolete (use the LOCAL arg of `add-hook').
 
-** The new variable `delete-frame-functions' replaces `delete-frame-hook'. 
+** The new variable `delete-frame-functions' replaces `delete-frame-hook'.
 It was renamed to follow the naming conventions for abnormal hooks.  The old
 name remains available as an alias, but has been marked obsolete.
 
@@ -1367,8 +1643,8 @@ The following changes have been made to provide command remapping:
   to definition DEF in keymap MAP.  The definition is not limited to
   another command; it can be anything accepted for a normal binding.
 
-- The new function `remap-command' returns the binding for a remapped
-  command in the current keymaps, or nil if it isn't remapped.
+- The new function `command-remapping' returns the binding for a
+  remapped command in the current keymaps, or nil if not remapped.
 
 - key-binding now remaps interactive commands unless the optional
   third argument NO-REMAP is non-nil.
@@ -1491,7 +1767,7 @@ previously killed text on the kill-ring is reinserted.
 
 The value of the yank-handler property must be a list with one to five
 elements with the following format:
-  (FUNCTION PARAM NOEXCLUDE UNDO COMMAND).
+  (FUNCTION PARAM NOEXCLUDE UNDO).
 
 The `insert-for-yank' function looks for a yank-handler property on
 the first character on its string argument (typically the first
@@ -1510,12 +1786,8 @@ responsible for removing those properties.  This may be necessary
 if FUNCTION adjusts point before or after inserting the object.
   If UNDO is present and non-nil, it is a function that will be called
 by `yank-pop' to undo the insertion of the current object.  It is
-called with two arguments, the start and end of the current region. 
+called with two arguments, the start and end of the current region.
 FUNCTION may set `yank-undo-function' to override the UNDO value.
-  If COMMAND is present and non-nil, `this-command' is set to COMMAND
-after calling FUNCTION (or insert).  Note that setting `this-command'
-to a value different from `yank' will prevent `yank-pop' from undoing
-this yank.
 
 *** The functions kill-new, kill-append, and kill-region now has an
 optional third argument to specify the yank-handler text property
@@ -1554,7 +1826,7 @@ supported, but new code should use the new functions.
 name in addition to a process id to identify the signalled process.
 
 *** Processes now have an associated property list where programs can
-maintain process state and other per-process related information.  
+maintain process state and other per-process related information.
 
 The new functions process-get and process-put are used to access, add,
 and modify elements on this property list.
@@ -1756,19 +2028,39 @@ over minor mode keymaps.
 ** A hex escape in a string forces the string to be multibyte.
 An octal escape makes it unibyte.
 
+** At the end of a command, point moves out from within invisible
+text, in the same way it moves out from within text covered by an
+image or composition property.
+
+This makes it generally unnecessary to mark invisible text as intangible.
+This is particularly good because the intangible property often has
+unexpected side-effects since the property applies to everything
+(including `goto-char', ...) whereas this new code is only run after
+post-command-hook and thus does not care about intermediate states.
+
 ** Only one of the beginning or end of an invisible, intangible region is
 considered an acceptable value for point; which one is determined by
 examining how the invisible/intangible properties are inherited when new
-text is inserted adjacent to them.  If text inserted at the beginning would
-inherit the invisible/intangible properties, then that position is
-considered unacceptable, and point is forced to the position following the
-invisible/intangible text.  If text inserted at the end would inherit the
-properties, then the opposite happens.
+text is inserted adjacent to them.  (The `front-sticky' and `rear-sticky'
+properties control this.)
+
+If the invisible/intangible would be inherited by any text inserted
+before this region, then the position before it is considered
+unacceptable, and point is forced to continue (if moving forwards, to
+the position following the invisible/intangible text; if moving
+backwards, to one position before).  If the properties would be
+inherited by any text inserted after, then the position after is
+considered unacceptable, and point is forced to keep moving (if moving
+backwards, to the position preceding the invisible/intangible text; if
+moving forwards, to one position later).
 
 Thus, point can only go to one end of an invisible, intangible region, but
 not the other one.  This prevents C-f and C-b from appearing to stand still
 on the screen.
 
+You should not set it up so that both the position before and the position
+after are unacceptable.
+
 ** field-beginning and field-end now accept an additional optional
 argument, LIMIT.
 
@@ -1867,13 +2159,16 @@ or `bg:COLOR' has been removed.  Lisp programs should use the
 are used by define-derived-mode to make sure the mode hook for the
 parent mode is run at the end of the child mode.
 
+** define-minor-mode now accepts arbitrary additional keyword arguments
+and simply passes them to defcustom, if applicable.
+
 ** define-derived-mode by default creates a new empty abbrev table.
 It does not copy abbrevs from the parent mode's abbrev table.
 
 +++
 ** `provide' and `featurep' now accept an optional second argument
 to test/provide subfeatures.  Also `provide' now checks `after-load-alist'
-and run any code associated with the provided feature.
+and runs any code associated with the provided feature.
 
 ** The variable `compilation-parse-errors-filename-function' can
 be used to transform filenames found in compilation output.
@@ -3369,7 +3664,7 @@ added.
 *** An "alignment error" bug was fixed when a manual spelling
 correction is made and re-checked.
 
-*** An Italian, Portuguese, and Slovak dictionary definition has been added.
+*** Italian, Portuguese, and Slovak dictionary definitions have been added.
 
 *** Region skipping performance has been vastly improved in some
 cases.
@@ -4585,7 +4880,7 @@ CHAR
      `chinse-two-byte'                 (\\cC)
      `greek-two-byte'                  (\\cG)
      `japanese-hiragana-two-byte'      (\\cH)
-     `indian-tow-byte'                 (\\cI)
+     `indian-two-byte'                 (\\cI)
      `japanese-katakana-two-byte'      (\\cK)
      `korean-hangul-two-byte'          (\\cN)
      `cyrillic-two-byte'               (\\cY)
@@ -6056,16 +6351,16 @@ support strings as DATA, some types allow additional types of DATA.
 **** XBM, image type `xbm'.
 
 XBM images don't require an external library.  Additional image
-properties supported are
+properties supported are:
 
 `:foreground FG'
 
 FG must be a string specifying the image foreground color, or nil
-meaning to use the default.  Default is the frame's foreground.
+meaning to use the default.  Default is the frame's foreground color.
 
 `:background BG'
 
-BG must be a string specifying the image foreground color, or nil
+BG must be a string specifying the image background color, or nil
 meaning to use the default.  Default is the frame's background color.
 
 XBM images can be constructed from data instead of file.  In this
@@ -6121,23 +6416,23 @@ to display compressed images.
 
 PBM images don't require an external library.  Color, gray-scale and
 mono images are supported.  Additional image properties supported for
-mono images are
+mono images are:
 
 `:foreground FG'
 
 FG must be a string specifying the image foreground color, or nil
-meaning to use the default.  Default is the frame's foreground.
+meaning to use the default.  Default is the frame's foreground color.
 
 `:background FG'
 
-BG must be a string specifying the image foreground color, or nil
+BG must be a string specifying the image background color, or nil
 meaning to use the default.  Default is the frame's background color.
 
 **** JPEG, image type `jpeg'
 
 Support for JPEG images requires the external library `libjpeg',
-package `jpegsrc.v6a.tar.gz', or later.  Additional image properties
-are:
+package `jpegsrc.v6a.tar.gz', or later.  There are no additional image
+properties defined.
 
 **** TIFF, image type `tiff'
 
@@ -11200,7 +11495,7 @@ select one of those items.
 ----------------------------------------------------------------------
 Copyright information:
 
-Copyright (C) 1999, 2000, 2001, 2002 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000, 2001, 2002, 2003 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