]> code.delx.au - gnu-emacs/blobdiff - etc/NEWS
Minor wording changes, suggested by Per Starback <starback@ling.uu.se>.
[gnu-emacs] / etc / NEWS
index 71b784487fbe459d098fe153836575dbf58c7275..7dcd709b4dbd7c0263483e5222dc683a6d07a5be 100644 (file)
--- a/etc/NEWS
+++ b/etc/NEWS
@@ -1,4 +1,4 @@
-GNU Emacs NEWS -- history of user-visible changes.  2000-08-14
+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.
 
@@ -26,12 +26,121 @@ Emacs to not use X Input Methods (XIM), if these are available.
 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
 
-* When an error is signaled during the loading of the user's init
+** `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
@@ -71,6 +180,7 @@ 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'.
 
++++
 ** 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
@@ -79,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
@@ -96,14 +207,17 @@ 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.
@@ -155,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.
@@ -233,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.
 
@@ -261,16 +378,17 @@ 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 
+** Changes to Emacs Server
 
-*** There new option `server-kill-new-buffers' specifies what to do
++++
+*** 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 which `emacsclient --no-wait' are never killed in
+i.e. buffers visited with `emacsclient --no-wait' are never killed in
 this way.
 
 ** Changes to Show Paren mode.
@@ -279,6 +397,7 @@ this way.
 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).
 
@@ -315,6 +434,7 @@ 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.
@@ -421,6 +541,7 @@ 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
@@ -434,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
@@ -464,16 +586,21 @@ 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.
@@ -531,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).
 
@@ -544,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.
@@ -569,6 +699,7 @@ There is a new command M-x replace-rectangle.
 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.
 
@@ -576,6 +707,7 @@ you edit the replacement string.
 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
@@ -596,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
 
@@ -627,29 +760,82 @@ 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.
+**** 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.
+*** 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
++++
+*** 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.
 
+*** Change Log mode now defines its own faces for font-lock
+highlighting.
+
 ** Changes in Font Lock
 
 *** The new function `font-lock-remove-keywords' can be used to remove
@@ -659,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
@@ -812,10 +998,12 @@ 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.
 
@@ -1038,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
@@ -1058,11 +1247,12 @@ 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
@@ -1118,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
@@ -1154,10 +1345,14 @@ names of tags files in the *Tags List* buffer.
 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
@@ -1169,7 +1364,8 @@ appropriate for C-style escape sequences in strings.
 +++
 ** 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.
 
@@ -1180,13 +1376,90 @@ 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 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,
 
@@ -1236,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.
 
@@ -1333,9 +1607,17 @@ containing diff3-style conflict markers, such as generated by RCS.
 
 *** 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.
 
@@ -1455,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
@@ -1468,6 +1753,22 @@ 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,
@@ -1485,6 +1786,7 @@ to standard output.
 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
 
@@ -1589,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.
 
@@ -1746,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.
@@ -2284,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.
 
@@ -2300,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.
 
@@ -2307,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
@@ -2553,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'
 
@@ -2644,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
@@ -2872,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.
 
-`:heuristic-mask BG'
+ALGO `laplace' or `emboss' means apply a Laplace or ``emboss''
+edge-detection algorithm to the image.
 
-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.
+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)
+
+Emboss edge-detection uses a matrix of
+
+  ( 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'
 
@@ -3225,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
@@ -3305,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