]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Minor wording changes, suggested by Per Starback <starback@ling.uu.se>.
[gnu-emacs] / etc / NEWS
index dcf8b55e992d618b0cbee8072dea5c705a8c502d..7dcd709b4dbd7c0263483e5222dc683a6d07a5be 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,15 +1,17 @@
-GNU Emacs NEWS -- history of user-visible changes.  5 Jan 2000
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+GNU Emacs NEWS -- history of user-visible changes.  2000-09-27
+Copyright (C) 1999, 2000 Free Software Foundation, Inc.
 See the end for copying conditions.
 
 Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
-For older news, see the file ONEWS.
+For older news, see the file ONEWS
 
 \f
 * Installation Changes in Emacs 21.1
 
 ** Support for GNU/Linux on IA64 machines has been added.
 
+** Support for LynxOS has been added.
+
 ** `movemail' defaults to supporting POP.  You can turn this off using
 the --without-pop configure option, should that be necessary.
 
@@ -18,17 +20,147 @@ images and toolkit scrollbars.  Use the --help option in `configure'
 to list them.
 
 ** There is a new configure option `--without-xim' that instructs
-Emacs to not use X Input Methods (XIM), if they these are available.
+Emacs to not use X Input Methods (XIM), if these are available.
 
 ** There is a new configure option `--disable-largefile' to omit
 Unix-98-style support for large files if that is available.
 
 ** You can build a 64-bit Emacs for SPARC/Solaris systems which
-support 64-bit executables.  See etc/MACHINES for instructions.
+support 64-bit executables and also on Irix 6.5.  This increases the
+maximum buffer size.  See etc/MACHINES for instructions.
 
 \f
 * Changes in Emacs 21.1
 
+** `browse-url-gnome-moz' is a new option for
+`browse-url-browser-function', invoking Mozilla in GNOME.
+
++++
+** The new global minor mode `auto-image-file-mode' allows image files
+to be visited as images.
+
++++
+** The functions `keep-lines', `flush-lines' and `how-many' now
+operate on the active region in Transient Mark mode.
+
+** The header line in an Info buffer is now displayed as an emacs header-line
+(which is like a mode-line, but at the top of the window), so that it
+remains visible even when the buffer has been scrolled.  This behavior
+may be disabled by customizing the option `Info-use-header-line'.
+
++++
+** `gnus-user-agent' is a new possibility for `mail-user-agent'.  It
+is like `message-user-agent', but with all the Gnus paraphernalia.
+
++++
+** The recommended way of using Iswitchb is via the new global minor
+mode `iswitchb-mode'.
+
++++
+** Gnus changes.
+
+The Gnus NEWS entries are short, but they reflect sweeping changes in
+four areas: Article display treatment, MIME treatment,
+internationalization and mail-fetching.
+
+*** The mail-fetching functions have changed.  See the manual for the
+many details.  In particular, all procmail fetching variables are gone.
+
+If you used procmail like in
+
+(setq nnmail-use-procmail t)
+(setq nnmail-spool-file 'procmail)
+(setq nnmail-procmail-directory "~/mail/incoming/")
+(setq nnmail-procmail-suffix "\\.in")
+
+this now has changed to
+
+(setq mail-sources
+      '((directory :path "~/mail/incoming/"
+                  :suffix ".in")))
+
+More information is available in the info doc at Select Methods ->
+Getting Mail -> Mail Sources
+
+*** Gnus is now a MIME-capable reader.  This affects many parts of
+Gnus, and adds a slew of new commands.  See the manual for details.
+
+*** Gnus has also been multilingualized.  This also affects too many
+parts of Gnus to summarize here, and adds many new variables.
+Separate MIME packages like SEMI will not work.  There are built-in
+facilities equivalent to those of gnus-mule.el, which is now just a
+compatibility layer.
+
+*** gnus-auto-select-first can now be a function to be
+called to position point.
+
+*** The user can now decide which extra headers should be included in
+summary buffers and NOV files.
+
+*** `gnus-article-display-hook' has been removed.  Instead, a number
+of variables starting with `gnus-treat-' have been added.
+
+*** The Gnus posting styles have been redone again and now work in a
+subtly different manner.
+
+*** New web-based backends have been added: nnslashdot, nnwarchive
+and nnultimate.  nnweb has been revamped, again, to keep up with
+ever-changing layouts.
+
+*** Gnus can now read IMAP mail via nnimap.
+
+*** There is image support.
+
+** When your terminal can't display characters from some of the ISO
+8859 character sets but can display Latin-1, you can display
+more-or-less mnemonic sequences of ASCII/Latin-1 characters instead of
+empty boxes (under a window system) or question marks (not under a
+window system).  Customize the option `latin1-display' to turn this
+on.
+
+** The new user-option `find-file-suppress-same-file-warnings' can be
+set to suppress warnings ``X and Y are the same file'' when visiting a
+file that is already visited under a different name.
+
+** The new user-option `electric-help-shrink-window' can be set to
+nil to prevent adjusting the help window size to the buffer size.
+
+** Emacs now checks for recursive loads of Lisp files.  If the
+recursion depth exceeds `recursive-load-depth-limit', an error is
+signaled.
+
+** The Strokes package has been updated.  If your Emacs has XPM
+support, you can use it for pictographic editing.  In Strokes mode,
+use C-mouse-2 to compose a complex stoke and insert it into the
+buffer.  You can encode or decode a strokes buffer with new commands
+M-x strokes-encode-buffer and M-x strokes-decode-buffer.  There is a
+new command M-x strokes-list-strokes.
+
++++
+** New command M-x describe-character-set reads a character set name
+and displays information about that.
+
+** When an error is signaled during the loading of the user's init
+file, Emacs now pops up the *Messages* buffer.
+
+** Polish and German translations of Emacs' reference card have been
+added.  They are named `pl-refcard.tex' and `de-refcard.tex'.
+Postscript files are included.
+
+** A reference card for Dired has been added.  Its name is
+`dired-ref.tex'.
+
+** The new variable `auto-mode-interpreter-regexp' contains a regular
+expression matching interpreters, for file mode determination.
+
+This regular expression is matched against the first line of a file to
+determine the file's mode in `set-auto-mode' when Emacs can't deduce a
+mode from the file's name.  If it matches, the file is assumed to be
+interpreted by the interpreter matched by the second group of the
+regular expression.  The mode is then determined as the mode
+associated with that interpreter in `interpreter-mode-alist'.
+
++++
 ** C-down-mouse-3 is bound differently.  Now if the menu bar is not
 displayed it pops up a menu containing the items which would be on the
 menu bar.  If the menu bar is displayed, it pops up the major mode
@@ -46,8 +178,9 @@ character is still bound as before.
 using that menu.
 
 ** New function executable-make-buffer-file-executable-if-script-p is
-suitable as an after-save-hook as an alternative to executable-chmod.
+suitable as an after-save-hook as an alternative to `executable-chmod'.
 
++++
 ** The most preferred coding-system is now used to save a buffer if
 buffer-file-coding-system is `undecided' and it is safe for the buffer
 contents.  (The most preferred is set by set-language-environment or
@@ -56,6 +189,7 @@ insert a non-ASCII character from your current language environment,
 the file will be saved silently with the appropriate coding.
 Previously you would be prompted for a safe coding system.
 
++++
 ** New variable `inhibit-iso-escape-detection' determines if Emacs'
 coding system detection algorithm should pay attention to ISO2022's
 escape sequences.  If this variable is non-nil, the algorithm ignores
@@ -69,40 +203,50 @@ RET C-x C-f filename RET.
 ** Variable `default-korean-keyboard' is initialized properly from the
 environment variable `HANGUL_KEYBOARD_TYPE'.
 
++++
 ** C-u C-x = provides detailed information about the character at
 point in a pop-up window.
 
++++
 ** New command M-x list-charset-chars reads a character set name and
 displays all characters in that character set.
 
 ** M-x set-terminal-coding-system (C-x RET t) now allows CCL-based
 coding systems such as cpXXX and cyrillic-koi8.
 
++++
 ** M-; now calls comment-dwim which tries to do something clever based
-on the context.
+on the context.  M-x kill-comment is now an alias to comment-kill,
+defined on newcomment.el.
 
++++
 ** The function `getenv' is now callable interactively.
 
 ** The many obsolete language `setup-...-environment' commands have
 been removed -- use `set-language-environment'.
 
++++
 ** New user options `display-time-mail-face' and
 `display-time-use-mail-icon' control the appearance of mode-line mail
 indicator used by the display-time package.  On a suitable display the
 indicator can be an icon and is mouse-sensitive.
 
++++
 ** Emacs' auto-save list files are now by default stored in a
 sub-directory `.emacs.d/auto-save-list/' of the user's home directory.
 (On MS-DOS, this subdirectory's name is `_emacs.d/auto-save.list/'.)
 You can customize `auto-save-list-prefix' to change this location.
 
++++
 ** On window-systems, additional space can be put between text lines
 on the display using several methods
 
++++
 - By setting frame parameter `line-spacing' to PIXELS.  PIXELS must be
 a positive integer, and specifies that PIXELS number of pixels should
 be put below text lines on the affected frame or frames.
 
++++
 - By setting X resource `lineSpacing', class `LineSpacing'.  This is
 equivalent ot specifying the frame parameter.
 
@@ -111,11 +255,13 @@ equivalent ot specifying the frame parameter.
 - By setting buffer-local variable `line-spacing'.  The meaning is
 the same, but applies to the a particular buffer only.
 
++++
 ** The new command `clone-indirect-buffer' can be used to create
 an indirect buffer that is a twin copy of the current buffer.  The
 command `clone-indirect-buffer-other-window', bound to C-x 4 c,
 does the same but displays the indirect buffer in another window.
 
++++
 ** New user options `backup-directory-alist' and
 `make-backup-file-name-function' control the placement of backups,
 typically in a single directory or in an invisible sub-directory.
@@ -123,6 +269,7 @@ typically in a single directory or in an invisible sub-directory.
 ** New commands iso-iso2sgml and iso-sgml2iso convert between Latin-1
 characters and the corresponding SGML (HTML) entities.
 
++++
 ** Emacs now refuses to load compiled Lisp files which weren't
 compiled with Emacs.  Set `load-dangerous-libraries' to t to change
 this behavior.
@@ -131,6 +278,7 @@ The reason for this change is an incompatible change in XEmacs' byte
 compiler.  Files compiled with XEmacs can contain byte codes that let
 Emacs dump core.
 
++++
 ** New X resources recognized
 
 *** The X resource `synchronous', class `Synchronous', specifies
@@ -185,8 +333,10 @@ display the cursor in non-selected windows.  If nil, no cursor is
 shown, if non-nil a hollow box cursor is shown.  This option can
 be customized.
 
++++
 ** The variable `echo-keystrokes' may now have a floating point value.
 
++++
 ** C-x 5 1 runs the new command delete-other-frames which deletes
 all frames except the selected one.
 
@@ -198,12 +348,14 @@ the property `:help HELP' is now displayed under X, on MS-Windows, and
 MS-DOS, either in the echo area or with tooltips.  Many standard menus
 displayed by Emacs now have help strings.
 
++++
 ** Highlighting of mouse-sensitive regions is now supported in the
 MS-DOS version of Emacs.
 
 ** New user option `read-mail-command' specifies a command to use to
 read mail from the menu etc.
 
++++
 ** Hexl contains a new command `hexl-insert-hex-string' which inserts
 a string of hexadecimal numbers read from the mini-buffer.
 
@@ -226,13 +378,36 @@ There is now support for Imenu to index headings.  A new command
 `outline-headers-as-kill' copies the visible headings in the region to
 the kill ring, e.g. to produce a table of contents.
 
+** Changes to Emacs Server
+
++++
+*** The new option `server-kill-new-buffers' specifies what to do
+with buffers when done with them.  If non-nil, the default, buffers
+are killed, unless they were already present before visiting them with
+Emacs Server.  If nil, `server-temp-file-regexp' specifies which
+buffers to kill, as before.
+
+Please note that only buffers are killed that still have a client,
+i.e. buffers visited with `emacsclient --no-wait' are never killed in
+this way.
+
+** Changes to Show Paren mode.
+
+*** Overlays used by Show Paren mode now use a priority property.
+The new user option show-paren-priority specifies the priority to
+use.  Default is 1000.
+
++++
 ** New command M-x check-parens can be used to find unbalanced paren
 groups and strings in buffers in Lisp mode (or other modes).
 
-** You can now easily create new *Info* buffers using either M-x clone-buffer
-or C-u m <entry> RET.  M-x clone-buffer can also be used on *Help* and
-several other special buffers.
++++
+** You can now easily create new *Info* buffers using either
+M-x clone-buffer, C-u m <entry> RET or C-u g <entry> RET.
+M-x clone-buffer can also be used on *Help* and several other special
+buffers.
 
++++
 ** Emacs can now support 'wheeled' mice (such as the MS IntelliMouse)
 under XFree86.  To enable this, simply put (mwheel-install) in your
 .emacs file.
@@ -244,14 +419,6 @@ determine where and by how much buffers are scrolled.
 abbreviated file names.  Abbreviations can be customized by changing
 `directory-abbrev-alist'.
 
-** Reading from the mini-buffer now reads from standard input if Emacs
-is running in batch mode.  For example,
-
-  (message "%s" (read t))
-
-will read a Lisp expression from standard input and print the result
-to standard output.
-
 ** Faces and frame parameters.
 
 There are four new faces `scroll-bar', `border', `cursor' and `mouse'.
@@ -267,12 +434,14 @@ Changing frame parameter `font' sets font-related attributes of the
 `foreground-color' or `background-color' sets the colors of the
 `default' face and vice versa.
 
++++
 ** New face `menu'.
 
 The face `menu' can be used to change colors and font of Emacs' menus.
 Setting the font of LessTif/Motif menus is currently not supported;
 attempts to set the font are ignored in this case.
 
++++
 ** New frame parameter `screen-gamma' for gamma correction.
 
 The new frame parameter `screen-gamma' specifies gamma-correction for
@@ -309,9 +478,10 @@ under Lisp changes, below.
 
 ** New default font is Courier 12pt.
 
-** When using a windowing terminal, Emacs window now has a cursor of
-its own.  When the window is selected, the cursor is solid; otherwise,
-it is hollow.
++++
+** When using a windowing terminal, each Emacs window now has a cursor
+of its own.  When the window is selected, the cursor is solid;
+otherwise, it is hollow.
 
 ** Bitmap areas to the left and right of windows are used to display
 truncation marks, continuation marks, overlay arrows and alike.  The
@@ -323,8 +493,8 @@ can change its appearance by modifying the face `modeline'.
 
 ** LessTif support.
 
-Emacs now runs with LessTif (see <http://www.lesstif.org>).  You will
-need a version 0.88.1 or later.
+Emacs now runs with the LessTif toolkit (see <http://www.lesstif.org>).
+You will need a version 0.88.1 or later.
 
 ** Toolkit scroll bars.
 
@@ -361,6 +531,7 @@ When compiled with LessTif (or Motif) support, Emacs uses toolkit
 widgets for radio and toggle buttons in menus.  When configured for
 Lucid, Emacs draws radio buttons and toggle buttons similar to Motif.
 
++++
 ** Highlighting of trailing whitespace.
 
 When `show-trailing-whitespace' is non-nil, Emacs displays trailing
@@ -370,11 +541,13 @@ highlighting when entering new text, trailing whitespace is not
 displayed if point is at the end of the line containing the
 whitespace.
 
++++
 ** Busy-cursor.
 
 Emacs can optionally display a busy-cursor under X.  You can turn the
 display on or off by customizing group `cursor'.
 
++++
 ** Blinking cursor
 
 M-x blink-cursor-mode toggles a blinking cursor under X and on
@@ -382,6 +555,7 @@ terminals having terminal capabilities `vi', `vs', and `ve'.  Blinking
 and related parameters like frequency and delay can be customized in
 the group `cursor'.
 
++++
 ** New font-lock support mode `jit-lock-mode'.
 
 This support mode is roughly equivalent to `lazy-lock' but is
@@ -401,6 +575,7 @@ Thus, tabs can be used to line up text in different fonts.
 
 ** Enhancements of the Lucid menu bar
 
++++
 *** The Lucid menu bar now supports the resource "margin".
 
        emacs.pane.menubar.margin: 5
@@ -411,17 +586,23 @@ LessTif/Motif one.
 *** Arrows that indicate sub-menus are now drawn with shadows, as in
 LessTif and Motif.
 
++++
 ** Hscrolling in C code.
 
 Horizontal scrolling now happens automatically if
 `automatic-hscrolling' is set (the default).  This setting can be
 customized.
 
++++
 ** Tool bar support.
 
 Emacs supports a tool bar at the top of a frame under X.  For details
 how to define a tool bar, see the page describing Lisp-level changes.
+Tool-bar global minor mode controls whether or not it is displayed.
+To make the tool bar more useful, we need contributions of extra icons
+for specific modes (with copyright assignments).
 
++++
 ** Mouse-sensitive mode line.
 
 Different parts of the mode line under X have been made
@@ -440,8 +621,8 @@ M-mouse-2 switches to the previous buffer in the buffer list.
 
 - Mouse-3 on the buffer-name displays a buffer menu.
 
-- Mouse-2 on the read-only status in the mode line (`%' or `*')
-toggles the read-only status.
+- Mouse-2 on the read-only or modified status in the mode line (`%' or
+`*') toggles the status.
 
 - Mouse-3 on the mode name display a minor-mode menu.
 
@@ -467,6 +648,7 @@ Emacs supports playing sound files on GNU/Linux and FreeBSD (Voxware
 driver and native BSD driver, a.k.a. Luigi's driver).  Currently
 supported file formats are RIFF-WAVE (*.wav) and Sun Audio (*.au).
 
++++
 ** A new variable, backup-by-copying-when-privileged-mismatch, gives
 the highest file uid for which backup-by-copying-when-mismatch will be
 forced on.  The assumption is that uids less than or equal to this
@@ -476,12 +658,14 @@ even if your system policy allows users other than root to edit them.
 
 The default is 200; set the variable to nil to disable the feature.
 
++++
 ** A block cursor can be drawn as wide as the glyph under it under X.
 
 As an example: if a block cursor is over a tab character, it will be
 drawn as wide as that tab on the display.  To do this, set
 `x-stretch-cursor' to a non-nil value.
 
++++
 ** Empty display lines at the end of a buffer may be marked with a
 bitmap (this is similar to the tilde displayed by vi).
 
@@ -489,17 +673,18 @@ This behavior is activated by setting the buffer-local variable
 `indicate-empty-lines' to a non-nil value.  The default value of this
 variable is found in `default-indicate-empty-lines'.
 
++++
 ** There is a new "aggressive" scrolling method.
 
 When scrolling up because point is above the window start, if the
 value of the buffer-local variable `scroll-up-aggessively' is a
 number, Emacs chooses a new window start so that point ends up that
-fraction of the window's height from the bottom of the window.
+fraction of the window's height from the top of the window.
 
 When scrolling down because point is below the window end, if the
 value of the buffer-local variable `scroll-down-aggessively' is a
 number, Emacs chooses a new window start so that point ends up that
-fraction of the window's height from the top of the window.
+fraction of the window's height from the bottom of the window.
 
 ** The rectangle commands now avoid inserting undesirable spaces,
 notably at the end of lines.
@@ -507,19 +692,22 @@ notably at the end of lines.
 All these functions have been rewritten to avoid inserting unwanted
 spaces, and an optional prefix now allows them to behave the old way.
 
++++
 There is a new command M-x replace-rectangle.
 
 ** The new command M-x query-replace-regexp-eval acts like
 query-replace-regexp, but takes a Lisp expression which is evaluated
 after each match to get the replacement text.
 
++++
 ** M-x query-replace recognizes a new command `e' (or `E') that lets
 you edit the replacement string.
 
-** The new command mail-abbrev-complete-alias, bound to `M-TAB', let's
+** The new command mail-abbrev-complete-alias, bound to `M-TAB', lets
 you complete mail aliases in the text, analogous to
 lisp-complete-symbol.
 
++++
 ** Emacs now resizes mini-windows if appropriate.
 
 If a message is longer than one line, or minibuffer contents are
@@ -540,7 +728,8 @@ Default is 0.25.
 ** Changes to hideshow.el
 
 Hideshow is now at version 5.x.  It uses a new algorithms for block
-selection and traversal and includes more isearch support.
+selection and traversal, includes more isearch support, and has more
+conventional keybindings.
 
 *** Generalized block selection and traversal
 
@@ -571,22 +760,81 @@ something like this in your .emacs.
          (lambda ()
            (add-to-list 'mode-line-format 'hs-headline)))
 
+*** New customization var: `hs-hide-all-non-comment-function'
+
+Normally, `hs-hide-all' hides everything, leaving only the
+header lines of top-level forms (and comments, unless var
+`hs-hide-comments-when-hiding-all' is non-nil).  It does this by
+moving point to each top-level block beginning and hiding the
+block there.  In some major modes (for example, Java), this
+behavior results in few blocks left visible, which may not be so
+useful.
+
+You can now set var `hs-hide-all-non-comment-function' to a
+function to be called at each top-level block beginning, instead
+of the normal block-hiding function.  For example, the following
+code defines a function to hide one level down and move point
+appropriately, and then tells hideshow to use the new function.
+
+(defun ttn-hs-hide-level-1 ()
+  (hs-hide-level 1)
+  (forward-sexp 1))
+(setq hs-hide-all-non-comment-function 'ttn-hs-hide-level-1)
+
+The name `hs-hide-all-non-comment-function' was chosen to
+emphasize that this function is not called for comment blocks,
+only for code blocks.
+
+*** Command deleted: `hs-show-region'
+
+Historical Note: This command was added to handle "unbalanced
+parentheses" emergencies back when hideshow.el used selective
+display for implementation.
+
+*** Commands rebound to more conventional keys
+
+The hideshow commands used to be bound to keys of the form "C-c
+LETTER".  This is contrary to the Emacs keybinding convention,
+which reserves that space for user modification.  Here are the
+new bindings (which includes the addition of `hs-toggle-hiding'):
+
+  hs-hide-block               C-c C-h
+  hs-show-block               C-c C-s
+  hs-hide-all                 C-c C-M-h
+  hs-show-all                 C-c C-M-s
+  hs-hide-level               C-c C-l
+  hs-toggle-hiding            C-c C-c
+  hs-mouse-toggle-hiding      [(shift button-2)]
+
+These were chosen to roughly imitate those used by Outline mode.
+
 ** Changes to Change Log mode and Add-Log functions
 
-If you invoke `add-change-log-entry' from a backup file, it makes an
-entry appropriate for the file's parent.  This is useful for making
++++
+*** If you invoke `add-change-log-entry' from a backup file, it makes
+an entry appropriate for the file's parent.  This is useful for making
 log entries by comparing a version with deleted functions.
 
-New command M-x change-log-merge merges another log into the current
-buffer, fixing old-style date formats if necessary.
++++
+**** New command M-x change-log-merge merges another log into the
+current buffer.
+
++++
+*** New command M-x change-log-redate fixes any old-style date entries
+in a log file.
+
++++
+*** Change Log mode now adds a file's version number to change log
+entries if user-option `change-log-version-info-enabled' is non-nil.
 
-Change Log mode now adds a file's version number to change log entries
-if user-option `change-log-version-info-enabled' is non-nil.
++++
+*** Unless the file is under version control the search for a file's
+version number is performed based on regular expressions from
+`change-log-version-number-regexp-list' which can be cutomized.
+Version numbers are only found in the first 10 percent of a file.
 
-The search for a file's version number is performed based on regular
-expressions from `change-log-version-number-regexp-list' which can be
-cutomized.  Version numbers are only found in the first 10 percent of
-a file.
+*** Change Log mode now defines its own faces for font-lock
+highlighting.
 
 ** Changes in Font Lock
 
@@ -597,7 +845,7 @@ mode.
 ** Comint (subshell) changes
 
 By default, comint no longer uses the variable `comint-prompt-regexp' to
-distiguish prompts from user-input.  Instead, it notices which parts of
+distinguish prompts from user-input.  Instead, it notices which parts of
 the text were output by the process, and which entered by the user, and
 attaches `field' properties to allow emacs commands to use this information.
 Common movement commands, notably beginning-of-line, respect field
@@ -616,10 +864,10 @@ The command M-x comint-redirect-send-command-to-process acts like
 M-x comint-redirect-send-command but additionally reads the name of
 the buffer whose process should be used from the mini-buffer.
 
-Packages based on comint.el like shell-mode, and
-scheme-interaction-mode now highlight user input, and support choosing
-previous input with mouse-2.  To control this feature, see the
-user-option `comint-highlight-input'.
+Packages based on comint.el like shell-mode, and scheme-interaction-mode
+now highlight user input and program prompts, and support choosing
+previous input with mouse-2.  To control these feature, see the
+user-options `comint-highlight-input' and `comint-highlight-prompt'.
 
 ** Changes to Rmail mode
 
@@ -699,6 +947,7 @@ defaults to 1.
 ** Partial Completion mode now completes environment variables in
 file names.
 
++++
 ** Tooltips.
 
 Tooltips are small X windows displaying a help string at the current
@@ -710,6 +959,7 @@ variable values can be displayed in tooltips by pointing at them with
 the mouse in source buffers.  You can customize various aspects of the
 tooltip display in the group `tooltip'.
 
++++
 ** Customize changes
 
 *** Customize now supports comments about customized items.  Use the
@@ -748,10 +998,29 @@ code when called with a prefix argument.
 
 ** Ispell changes
 
++++
 *** The command `ispell' now spell-checks a region if
 transient-mark-mode is on, and the mark is active.  Otherwise it
 spell-checks the current buffer.
 
++++
+*** Support for synchronous subprocesses - DOS/Windoze - has been
+added.
+
+*** An "alignment error" bug was fixed when a manual spelling
+correction is made and re-checked.
+
+*** An Italian and a Portuguese dictionary definition has been added.
+
+*** Region skipping performance has been vastly improved in some
+cases.
+
+*** Spell checking HTML buffers has been improved and isn't so strict
+on syntax errors.
+
+*** The buffer-local words are now always placed on a new line at the
+end of the buffer.
+
 ** Dired changes
 
 *** New variable `dired-recursive-deletes' determines if the delete
@@ -957,6 +1226,7 @@ that started the search.
 *** In Isearch mode, mouse-2 in the echo area now yanks the current
 selection into the search string rather than giving an error.
 
++++
 *** There is a new lazy highlighting feature in incremental search.
 
 Lazy highlighting is switched on/off by customizing variable
@@ -977,15 +1247,17 @@ matches are automatically cleared when you end the search.  If it is
 set to nil, you can remove the highlights manually with `M-x
 isearch-lazy-highlight-cleanup'.
 
++++
 ** Changes in sort.el
 
 The function sort-numeric-fields interprets numbers starting with `0'
 as octal and numbers starting with `0x' or `0X' as hexadecimal.  The
-new user-option sort-numberic-base can be used to specify a default
+new user-option sort-numeric-base can be used to specify a default
 numeric base.
 
 ** Changes to Ange-ftp
 
++++
 *** Ange-ftp allows you to specify of a port number in remote file
 names cleanly.  It is appended to the host name, separated by a hash
 sign, e.g. `/foo@bar.org#666:mumble'.  (This syntax comes from EFS.)
@@ -1036,6 +1308,7 @@ variables are tagged.
 *** .ss files are Scheme files, .pdb is Postscript with C syntax, .psw is
 for PSWrap.
 
++++
 ** Changes in etags.el
 
 *** The new user-option tags-case-fold-search can be used to make
@@ -1067,24 +1340,32 @@ of tags in the output of M-x tags-apropos.
 *** Setting tags-apropos-verbose to a non-nil value displays the
 names of tags files in the *Tags List* buffer.
 
++++
 ** Emacs now attempts to determine the initial language environment
 and preferred and locale coding systems systematically from the
 LC_ALL, LC_CTYPE, and LANG environment variables during startup.
 
++++
 ** New language environments `Polish', `Latin-8' and `Latin-9'.
 Latin-8 and Latin-9 correspond respectively to the ISO character sets
 8859-14 (Celtic) and 8859-15 (updated Latin-1, with the Euro sign).
-There is currently no specific input method support for them.
+GNU Intlfonts doesn't support these yet; there are basic 8859-14 and
+8859-15 fonts at <URL:http://czyborra.com/charsets/> and recent X
+releases have 8859-15.  There are new Latin-8 and Latin-9 prefix
+(only) and Polish slash input methods in Leim.
 
++++
 ** Fortran mode has a new command `fortran-strip-sequence-nos' to
 remove text past column 72.  The syntax class of `\' in Fortran is now
 appropriate for C-style escape sequences in strings.
 
 ** SGML mode's default `sgml-validate-command' is now `nsgmls'.
 
++++
 ** A new command `view-emacs-problems' (C-h P) displays the PROBLEMS file.
 
-** The Dabbrev package has a new user-option `dabbrev-ignore-regexps'
++++
+** The Dabbrev package has a new user-option `dabbrev-ignored-regexps'
 containing a list of regular expressions.  Buffers matching a regular
 expression from that list, are not checked.
 
@@ -1093,12 +1374,96 @@ When you do C-x C-f /user@host:/path/file RET and edit the file,
 and someone else modifies the file, you will be prompted to revert
 the buffer, just like for the local files.
 
+** The buffer menu (C-x C-b) no longer lists the *Buffer List* buffer.
+
++++
+** When invoked with a prefix argument, the command `list-abbrevs' now
+displays local abbrevs, only.
+
+** VC Changes
+
+VC has been overhauled internally.  It is now modular, making it
+easier to plug-in arbitrary version control backends.  (See Lisp
+Changes for details on the new structure.)  As a result, the mechanism
+to enable and disable support for particular version systems has
+changed: everything is now controlled by the new variable
+`vc-handled-backends'.  Its value is a list of atoms that identify
+version systems; the default is '(RCS CVS SCCS).  When finding a file,
+each of the backends in that list is tried in order to see whether the
+file is registered in that backend.
+
+When registering a new file, VC first tries each of the listed
+backends to see if any of them considers itself "responsible" for the
+directory of the file (e.g. because a corresponding subdirectory for
+master files exists).  If none of the backends is responsible, then
+the first backend in the list that could register the file is chosen.
+As a consequence, the variable `vc-default-back-end' is now obsolete.
+
+The old variable `vc-master-templates' is also obsolete, although VC
+still supports it for backward compatibility.  To define templates for
+RCS or SCCS, you should rather use the new variables
+vc-{rcs,sccs}-master-templates.  (There is no such feature under CVS
+where it doesn't make sense.)
+
+The variables `vc-ignore-vc-files' and `vc-handle-cvs' are also
+obsolete now, you must set `vc-handled-backends' to nil or exclude
+`CVS' from the list, respectively, to achieve their effect now.
+
+*** General Changes
+
+The variable `vc-checkout-carefully' is obsolete: the corresponding
+checks are always done now.
+
+VC Dired buffers are now kept up-to-date during all version control
+operations.
+
+*** Changes for CVS
+
+There is a new user option, `vc-cvs-stay-local'.  If it is `t' (the
+default), then VC avoids network queries for files registered in
+remote repositories.  The state of such files is then only determined
+by heuristics and past information.  `vc-cvs-stay-local' can also be a
+regexp to match against repository hostnames; only files from hosts
+that match it are treated locally.  If the variable is nil, then VC
+queries the repository just as often as it does for local files.
+
+If `vc-cvs-stay-local' is on, and there have been changes in the
+repository, VC notifies you about it when you actually try to commit.
+If you want to check for updates from the repository without trying to
+commit, you can either use C-u C-x v m to perform an update on the
+current file, or you can use C-x v r RET to get an update for an
+entire directory tree.
+
+The new user option `vc-cvs-use-edit' indicates whether VC should call
+"cvs edit" to make files writeable; it defaults to `t'.  (This option
+is only meaningful if the CVSREAD variable is set, or if files are
+"watched" by other developers.)
+
+*** Lisp Changes in VC
+
+VC has been restructured internally to make it modular.  You can now
+add support for arbitrary version control backends by writing a
+library that provides a certain set of backend-specific functions, and
+then telling VC to use that library.  For example, to add support for
+a version system named FOO, you write a library named vc-foo.el, which
+provides a number of functions vc-foo-... (see commentary at the end
+of vc.el for a detailed list of them).  To make VC use that library,
+you need to put it somewhere into Emacs' load path and add the atom
+`FOO' to the list `vc-handled-backends'.
+
 ** New modes and packages
 
-*** THe new package hi-lock.el, text matching interactively entered
-regexp's can be highlighted.  For example, 
++++
+*** The new package timeclock.el is a mode is for keeping track of time
+intervals.  You can use it for whatever purpose you like, but the
+typical scenario is to keep track of how much time you spend working
+on certain projects.
+
++++
+*** The new package hi-lock.el, text matching interactively entered
+regexp's can be highlighted.  For example,
 
-  M-x highlight-regexp RET clearly RET RET 
+  M-x highlight-regexp RET clearly RET RET
 
 will highlight all occurrences of `clearly' using a yellow background
 face.  New occurrences of `clearly' will be highlighted as they are
@@ -1108,7 +1473,8 @@ appropriate faces is provided.  The regexps can be written into the
 current buffer in a form that will be recognized the next time the
 corresponding file is read.
 
-*** The new package zone.el plays games with Emacs' display when 
++++
+*** The new package zone.el plays games with Emacs' display when
 Emacs is idle.
 
 *** The new package xml.el provides a simple but generic XML
@@ -1118,16 +1484,19 @@ parser. It doesn't parse the DTDs however.
 package which allows different styles of comment-region and should
 be more robust while offering the same functionality.
 
++++
 *** The Ebrowse package implements a C++ class browser and tags
 facilities tailored for use with C++.  It is documented in a
 separate Texinfo file.
 
-*** The PCL-CVS package available by either running M-x cvs-examine
-or by visiting a CVS administrative directory (with a prefix argument)
-provides an alternative interface to VC-dired for CVS.
-It comes with log-view-mode to view RCS and SCCS logs and log-edit-mode
-used to enter checkin log messages.
++++
+*** The PCL-CVS package available by either running M-x cvs-examine or
+by visiting a CVS administrative directory (with a prefix argument)
+provides an alternative interface to VC-dired for CVS.  It comes with
+`log-view-mode' to view RCS and SCCS logs and `log-edit-mode' used to
+enter checkin log messages.
 
++++
 *** The new package called `woman' allows to browse Unix man pages
 without invoking external programs.
 
@@ -1140,6 +1509,7 @@ Groff or `troff' commands are not readily available.
 The command `M-x woman-find-file' asks for the file name of a man
 page, then formats and displays it like `M-x woman' does.
 
++++
 *** The new command M-x re-builder offers a convenient interface for
 authoring regular expressions with immediate visual feedback.
 
@@ -1155,6 +1525,7 @@ matching parens to make them stand out.  On such a setup you will
 probably also want to use the sub-expression mode when the regexp
 contains such to get feedback about their respective limits.
 
++++
 *** glasses-mode is a minor mode that makes
 unreadableIdentifiersLikeThis readable.  It works as glasses, without
 actually modifying content of a buffer.
@@ -1197,9 +1568,11 @@ determine where the columns should be split.  In C and C++, for
 example, it will align variable names in declaration lists, or the
 equal signs of assignments.
 
++++
 *** `paragraph-indent-minor-mode' is a new minor mode supporting
 paragraphs in the same style as `paragraph-indent-text-mode'.
 
++++
 *** bs.el is a new package for buffer selection similar to
 list-buffers or electric-buffer-list.  Use M-x bs-show to display a
 buffer menu with this package.  You can use M-x bs-customize to
@@ -1214,6 +1587,7 @@ and can be customized easily to get many more functions.  It should
 not be confused with "calc" which is a much bigger mathematical tool
 which answers different needs.
 
++++
 *** The minor modes cwarn-mode and global-cwarn-mode highlights
 suspicious C and C++ constructions.  Currently, assignments inside
 expressions, semicolon following `if', `for' and `while' (except, of
@@ -1221,23 +1595,35 @@ course, after a `do .. while' statement), and C++ functions with
 reference parameters are recognized.  The modes require font-lock mode
 to be enabled.
 
++++
 *** smerge-mode.el provides `smerge-mode', a simple minor-mode for files
 containing diff3-style conflict markers, such as generated by RCS.
 
++++
 *** 5x5.el is a simple puzzle game.
 
++++
 *** hl-line.el provides a minor mode to highlight the current line.
 
 *** ansi-color.el translates ANSI terminal escapes into text-properties.
 
+Please note: if `ansi-color-for-shell-mode' and
+`global-font-lock-mode' are non-nil, loading ansi-color.el will
+disable font-lock and add `ansi-color-apply' to
+`comint-preoutput-filter-functions' for all shell-mode buffers.  This
+displays the output of "ls --color=yes" using the correct foreground
+and background colors.
+
 *** delphi.el provides a major mode for editing the Delphi (Object
 Pascal) language.
 
++++
 *** quickurl.el provides a simple method of inserting a URL based on
 the text at point.
 
 *** sql.el provides an interface to SQL data bases.
 
++++
 *** fortune.el uses the fortune program to create mail/news signatures.
 
 *** whitespace.el ???
@@ -1295,6 +1681,7 @@ delim-col has the following commands:
    delimit-columns-region      Prettify all columns in a text region.
    delimit-columns-rectangle   Prettify all columns in a text rectangle.
 
++++
 *** The package recentf.el maintains a menu for visiting files that
 were operated on recently.
 
@@ -1317,14 +1704,17 @@ dynamically change the menu appearance.
 *** elide-head.el provides a mechanism for eliding boilerplate header
 text.
 
++++
 *** footnote.el provides `footnote-mode', a minor mode supporting use
 of footnotes.  It is intended for use with Message mode, but isn't
 specific to Message mode.
 
++++
 *** diff-mode.el provides `diff-mode', a major mode for
 viewing/editing context diffs (patches).  It is selected for files
 with extension `.diff', `.diffs', `.patch' and `.rej'.
 
++++
 *** EUDC, the Emacs Unified Directory Client, provides a common user
 interface to access directory servers using different directory
 protocols.  It has a separate manual.
@@ -1332,6 +1722,7 @@ protocols.  It has a separate manual.
 *** autoconf.el provides a major mode for editing configure.in files
 for Autoconf, selected automatically.
 
++++
 *** windmove.el provides moving between windows.
 
 *** crm.el provides a facility to read multiple strings from the
@@ -1346,6 +1737,9 @@ numeric keys supply prefix args rather than self inserting.
 *** The function `turn-off-auto-fill' unconditionally turns off Auto
 Fill mode.
 
+*** gnus-mule.el is now just a compatibility layer over the built-in
+Gnus facilities.
+
 ** Withdrawn packages
 
 *** mldrag.el has been removed.  mouse.el provides the same
@@ -1359,10 +1753,40 @@ functionality with aliases for the mldrag functions.
 * Lisp changes made after edition 2.6 of the Emacs Lisp Manual,
 (Display-related features are described in a page of their own below.)
 
++++
+** The new function `display-message-or-buffer' displays a message in
+the echo area or pops up a buffer, depending on the length of the
+message.
+
+** The new macro `with-auto-compression-mode' allows evaluating an
+expression with auto-compression-mode enabled.
+
+** In image specifications, `:heuristic-mask' has been replaced
+with the more general `:mask' property.
+
+** Image specifications accept more `:algorithm's.
+
+** A `?' can be used in a symbol name without escaping it with a
+backslash.
+
++++
+** Reading from the mini-buffer now reads from standard input if Emacs
+is running in batch mode.  For example,
+
+  (message "%s" (read t))
+
+will read a Lisp expression from standard input and print the result
+to standard output.
+
++++
+** The argument of `down-list', `backward-up-list', `up-list',
+`kill-sexp', `backward-kill-sexp' and `mark-sexp' is now optional.
+
 ** If `display-buffer-reuse-frames' is set, function `display-buffer'
 will raise frames displaying a buffer, instead of creating a new
 frame or window.
 
++++
 ** Two new functions for removing elements from lists/sequences
 were added
 
@@ -1381,6 +1805,7 @@ comparison is done with `eq'.
 ** The meaning of the `:weakness WEAK' argument of make-hash-table
 has been changed.
 
++++
 ** Function `aset' stores any multibyte character in any string
 without signaling "Attempt to change char length of a string".  It may
 convert a unibyte string to multibyte if necessary.
@@ -1466,6 +1891,7 @@ after-change-function are no longer acted upon and have been removed.
 
 ** The function `apropos-mode' runs the hook `apropos-mode-hook'.
 
++++
 ** `concat' no longer accepts individual integer arguments, as
 promised long ago.
 
@@ -1478,6 +1904,11 @@ Note that +++ before an item means the Lisp manual has been updated.
 When you add a new item, please add it without either +++ or ---
 so I will know I still need to look at it -- rms.
 
+*** The special form `save-restriction' now works correctly even if the
+buffer is widened inside the save-restriction and changes made outside
+the original restriction.  Previously, doing this would cause the saved
+restriction to be restored incorrectly.
+
 *** The functions `find-charset-region' and `find-charset-string' include
 `eight-bit-control' and/or `eight-bit-graphic' in the returned list
 when it finds 8-bit characters.  Previously, it included `ascii' in a
@@ -1618,7 +2049,7 @@ argument function's results.
 signal an error instead of returning nil if decoding fails.
 
 ** The function sendmail-user-agent-compose now recognizes a `body'
-header is the list of headers passed to it.
+header in the list of headers passed to it.
 
 ** The new function member-ignore-case works like `member', but
 ignores differences in case and text representation.
@@ -1931,7 +2362,7 @@ Returns the rehash threshold of TABLE.
 
 Returns the size of TABLE.
 
-- Function: hash-table-rehash-test TABLE
+- Function: hash-table-test TABLE
 
 Returns the test TABLE uses to compare keys.
 
@@ -2156,6 +2587,8 @@ strings that have been consed so far.
 * Lisp-level Display features added after release 2.6 of the Emacs
 Lisp Manual
 
+*** On window systems, `glyph-table' is no longer used.
+
 +++
 ** Help strings in menu items are now used to provide `help-echo' text.
 
@@ -2172,6 +2605,16 @@ character units (fractions of the width/height of the frame's default
 font).  FRAME is the frame on which the image will be displayed.
 FRAME nil or omitted means use the selected frame.
 
+** The function `image-mask-p' can be used to determine if an image
+has a mask bitmap.
+
+- Function: image-mask-p SPEC &optional FRAME
+
+Return t if image SPEC has a mask bitmap.
+FRAME is the frame on which the image will be displayed.  FRAME nil
+or omitted means use the selected frame.
+
++++
 ** The function `find-image' can be used to find a usable image
 satisfying one of a list of specifications.
 
@@ -2179,12 +2622,9 @@ satisfying one of a list of specifications.
 ** The STRING argument of `put-image' and `insert-image' is now
 optional.
 
-** Image specifications may contain the property `:ascent center'.
-
-When this property is specified, the image is vertically centered
-around a centerline which would be the vertical center of text drawn
-at the position of the image, in the manner specified by the text
-properties and overlays that apply to the image.
++++
+** Image specifications may contain the property `:ascent center' (see
+below).
 
 \f
 * New Lisp-level Display features in Emacs 21.1
@@ -2425,8 +2865,10 @@ It must be one of the symbols `ultra-condensed', `extra-condensed',
 
 `:height'
 
-VALUE must be an integer specifying the height of the font to use in
-1/10 pt.
+VALUE must be either an integer specifying the height of the font to use
+in 1/10 pt, a floating point number specifying the amount by which to
+scale any underlying face, or a function, which is called with the old
+height (from the underlying face), and should return the new height.
 
 `:weight'
 
@@ -2516,6 +2958,12 @@ must be t or nil in that case.  A value of `unspecified' is not allowed."
 Please see also the documentation of `set-face-attribute' and
 `defface'.
 
+`:inherit'
+
+VALUE is the name of a face from which to inherit attributes, or a list
+of face names.  Attributes from inherited faces are merged into the face
+like an underlying face would be, with higher priority than underlying faces.
+
 *** Face attributes and X resources
 
 The following X resource names can be used to set face attributes
@@ -2612,7 +3060,7 @@ Otherwise, it returns zero.
 
 There is now code to support an abstraction called `fields' in emacs
 buffers.  A field is a contiguous region of text with the same `field'
-text-property.
+property (which can be a text property or an overlay).
 
 Many emacs functions, such as forward-word, forward-sentence,
 forward-paragraph, beginning-of-line, etc., stop moving when they come
@@ -2629,9 +3077,10 @@ editing commands treat the user's text separately from the prompt.
 
 The following functions are defined for operating on fields:
 
-- Function: constrain-to-field NEW-POS OLD-POS &optional ESCAPE-FROM-EDGE ONLY-IN-LINE
+- Function: constrain-to-field NEW-POS OLD-POS &optional ESCAPE-FROM-EDGE ONLY-IN-LINE INHIBIT-CAPTURE-PROPERTY
 
 Return the position closest to NEW-POS that is in the same field as OLD-POS.
+
 A field is a region of text with the same `field' property.
 If NEW-POS is nil, then the current point is used instead, and set to the
 constrained position if that is is different.
@@ -2639,10 +3088,12 @@ constrained position if that is is different.
 If OLD-POS is at the boundary of two fields, then the allowable
 positions for NEW-POS depends on the value of the optional argument
 ESCAPE-FROM-EDGE: If ESCAPE-FROM-EDGE is nil, then NEW-POS is
-constrained to the field that has the same `field' text-property
+constrained to the field that has the same `field' char-property
 as any new characters inserted at OLD-POS, whereas if ESCAPE-FROM-EDGE
 is non-nil, NEW-POS is constrained to the union of the two adjacent
-fields.
+fields.  Additionally, if two fields are separated by another field with
+the special value `boundary', then any point within this special field is
+also considered to be `on the boundary'.
 
 If the optional argument ONLY-IN-LINE is non-nil and constraining
 NEW-POS would move it to a different line, NEW-POS is returned
@@ -2650,39 +3101,44 @@ unconstrained.  This useful for commands that move by line, like
 C-n or C-a, which should generally respect field boundaries
 only in the case where they can still move to the right line.
 
-- Function: erase-field &optional POS
+If the optional argument INHIBIT-CAPTURE-PROPERTY is non-nil, and OLD-POS has
+a non-nil property of that name, then any field boundaries are ignored.
+
+Field boundaries are not noticed if `inhibit-field-text-motion' is non-nil.
 
-Erases the field surrounding POS.
+- Function: delete-field &optional POS
+
+Delete the field surrounding POS.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
+If POS is nil, the value of point is used for POS.
 
 - Function: field-beginning &optional POS ESCAPE-FROM-EDGE
 
 Return the beginning of the field surrounding POS.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
-If ESCAPE-FROM-EDGE is non-nil and POS is already at beginning of an
+If POS is nil, the value of point is used for POS.
+If ESCAPE-FROM-EDGE is non-nil and POS is at the beginning of its
 field, then the beginning of the *previous* field is returned.
 
 - Function: field-end &optional POS ESCAPE-FROM-EDGE
 
 Return the end of the field surrounding POS.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
-If ESCAPE-FROM-EDGE is non-nil and POS is already at end of a field,
+If POS is nil, the value of point is used for POS.
+If ESCAPE-FROM-EDGE is non-nil and POS is at the end of its field,
 then the end of the *following* field is returned.
 
 - Function: field-string &optional POS
 
 Return the contents of the field surrounding POS as a string.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
+If POS is nil, the value of point is used for POS.
 
 - Function: field-string-no-properties &optional POS
 
 Return the contents of the field around POS, without text-properties.
 A field is a region of text with the same `field' property.
-If POS is nil, the position of the current buffer's point is used.
+If POS is nil, the value of point is used for POS.
 
 +++
 ** Image support.
@@ -2736,20 +3192,59 @@ around an image.
 
 `:algorithm ALGO'
 
-Apply an image algorithm to the image before displaying it.  ALGO must
-be a symbol specifying the algorithm.  Currently only `laplace' is
-supported which applies a Laplace edge detection algorithm to an image
-which is intended to display images "disabled."
+Apply an image algorithm to the image before displaying it.
+
+ALGO `laplace' or `emboss' means apply a Laplace or ``emboss''
+edge-detection algorithm to the image.
+
+ALGO `(edge-detection :matrix MATRIX :color-adjust ADJUST)' means
+apply a general edge-detection algorithm.  MATRIX must be either a
+nine-element list or a nine-element vector of numbers.  A pixel at
+position x/y in the transformed image is computed from original pixels
+around that position.  MATRIX specifies, for each pixel in the
+neighborhood of x/y, a factor with which that pixel will influence the
+transformed pixel; element 0 specifies the factor for the pixel at
+x-1/y-1, element 1 the factor for the pixel at x/y-1 etc. as shown
+below.
+
+  (x-1/y-1  x/y-1  x+1/y-1
+   x-1/y    x/y    x+1/y
+   x-1/y+1  x/y+1  x+1/y+1)
+
+The resulting pixel is computed from the color intensity of the color
+resulting from summing up the RGB values of surrounding pixels,
+multiplied by the specified factors, and dividing that sum by the sum
+of the factors' absolute values.
+
+Laplace edge-detection currently uses a matrix of
+
+  (1  0  0
+   0  0  0
+   9  9 -1)
 
-`:heuristic-mask BG'
+Emboss edge-detection uses a matrix of
 
-If BG is not nil, build a clipping mask for the image, so that the
-background of a frame is visible behind the image.  If BG is t,
-determine the background color of the image by looking at the 4
-corners of the image, assuming the most frequently occuring color from
-the corners is the background color of the image.  Otherwise, BG must
-be a list `(RED GREEN BLUE)' specifying the color to assume for the
-background of the image.
+  ( 2 -1  0
+   -1  0  1
+    0  1 -2)
+
+ALGO `disabled' means transform the image so that it looks
+``disabled''.
+
+`:mask MASK'
+
+If MASK is `heuristic' or `(heuristic BG)', build a clipping mask for
+the image, so that the background of a frame is visible behind the
+image.  If BG is not specified, or if BG is t, determine the
+background color of the image by looking at the 4 corners of the
+image, assuming the most frequently occuring color from the corners is
+the background color of the image.  Otherwise, BG must be a list `(RED
+GREEN BLUE)' specifying the color to assume for the background of the
+image.
+
+If MASK is nil, remove a mask from the image, if it has one.  Images
+in some formats include a mask which can be removed by specifying
+`:mask nil'.
 
 `:file FILE'
 
@@ -3089,6 +3584,11 @@ algorithm is used on that image to draw the image in disabled state.
 Gives a help string to display for the tool bar item.  This help
 is displayed when the mouse is moved over the item.
 
+The function `toolbar-add-item' is a convenience function for adding
+toolbar items generally, and `tool-bar-add-item-from-menu' can be used
+to define a toolbar item with a binding copied from an item on the
+menu bar.
+
 *** Tool-bar-related variables.
 
 If `auto-resize-tool-bar' is non-nil, the tool bar will automatically
@@ -3169,11 +3669,23 @@ position in the header-line.
 +++
 ** Text property `display'
 
-The `display' text property is used to insert images into text, and
-also control other aspects of how text displays.  The value of the
-`display' property should be a display specification, as described
+The `display' text property is used to insert images into text,
+replace text with other text, display text in marginal area, and it is
+also used to control other aspects of how text displays.  The value of
+the `display' property should be a display specification, as described
 below, or a list or vector containing display specifications.
 
+*** Replacing text, displaying text in marginal areas
+
+To replace the text having the `display' property with some other
+text, use a display specification of the form `(LOCATION STRING)'.
+
+If LOCATION is `(margin left-margin)', STRING is displayed in the left
+marginal area, if it is `(margin right-margin)', it is displayed in
+the right marginal area, and if LOCATION is `(margin nil)' STRING
+is displayed in the text.  In the latter case you can also use the
+simpler form STRING as property value.
+
 *** Variable width and height spaces
 
 To display a space of fractional width or height, use a display
@@ -3417,6 +3929,8 @@ to a solid box, as it does on Unix.  The `cursor-type' frame parameter
 overrides this as it does on Unix, except that the bar cursor is
 horizontal rather than vertical (since the MS-DOS display doesn't
 support a vertical-bar cursor).
+
+
 ^L
 * Emacs 20.7 is a bug-fix release with few user-visible changes
 
@@ -8394,13 +8908,15 @@ in addition to the normal
 *** The commands lm-verify and lm-synopsis are now interactive.  lm-verify
 checks that the library file has proper sections and headers, and
 lm-synopsis extracts first line "synopsis'"information.
+
+
 \f
-* For older news, see the file ONEWS.
+* For older news, see the file ONEWS
 
 ----------------------------------------------------------------------
 Copyright information:
 
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
+Copyright (C) 1999, 2000 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