-GNU Emacs NEWS -- history of user-visible changes. 2000-09-17
+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.
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
(setq nnmail-procmail-directory "~/mail/incoming/")
(setq nnmail-procmail-suffix "\\.in")
-this now has changed to
+this now has changed to
(setq mail-sources
'((directory :path "~/mail/incoming/"
*** 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.
+*** 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.
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
+++
** New command M-x describe-character-set reads a character set name
-and displayes information about that.
+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.
`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
+++
*** The new option `server-kill-new-buffers' specifies what to do
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
`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
** 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
(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
** 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
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
+VC Dired buffers are now kept up-to-date during all version control
operations.
*** Changes for CVS
*** 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.
*** 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
* 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.
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.
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
+Laplace edge-detection currently uses a matrix of
(1 0 0
0 0 0
+++
** 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