so we will look at it and add it to the manual.
\f
-* About external Lisp packages
-
-\f
* Installation Changes in Emacs 23.1
** The default X toolkit is now Gtk+, rather than Lucid.
This provides support for GNUstep (via the GNUstep libraries) and Mac
OS X (via the Cocoa libraries).
-Specify --with-ns to configure for this. By default, a self-contained
+Specify --with-ns to configure for this. By default, a self-contained
app will be built (containing all lisp). To install/share lisp with
other emacsen (e.g. X11 build) use --disable-ns-self-contained. See
nextstep/README and nextstep/INSTALL in the Emacs source directory.
terminal frames using emacsclient.
**** emacsclient starts emacs in daemon mode and connects to it when
---alternate-editor="" is used and emacsclient cannot connect to an
+--alternate-editor="" is used (or when the evironment variable
+ALTERNATE_EDITOR is set to "") and emacsclient cannot connect to an
emacs server.
*** The new command close-display-connection closes a connection to a
-remote display.
+remote display. There are some bugs for Gtk+. See etc/PROBLEMS.
*** Emacs now supports the XEmbed specification.
You can embed Emacs in another application on X11. The new command line
and swedish-alt-postfix. Use the versions without "alt-", which are
identical.
++++
+** If a function in write-region-annotate-functions returns with a
+different buffer current, Emacs no longer kills that buffer
+automatically. This behavior existed in previous versions of Emacs,
+but was undocumented. To kill a buffer after write-region, give the
+variable `write-region-post-annotation-function' a buffer-local value
+of `kill-buffer'.
+
\f
* Editing Changes in Emacs 23.1
+++
*** C-l is bound to the new command recenter-top-bottom, rather than recenter.
This moves the current line to window center, top and bottom on
-successive invokations.
+successive invocations.
+++
*** scroll-preserve-screen-position also preserves the column position.
+++
+++
*** The new command kill-matching-buffers kills buffers whose name
matches a regexp.
-
+---
*** The new commands `pp-macroexpand-expression' and
`pp-macroexpand-last-sexp' pretty-print macro expansions.
+++
says to stop auto scrolling at the first error that occurs.
---
*** The `cc' alias for C++ files in `grep-file-aliases' has been
-improved. `hh' can be used to match C++ header files and `cchh' both
+improved. `hh' can be used to match C++ header files and `cchh' both
C++ sources and headers.
** Copyright
buffer and tries to create ChangeLog entries for each change.
It is bound to `C-x 4 A'.
+++
-*** The new function `diff-show-trailing-whitespaces' shows
-trailing whitespace problems in the modified lines of a diff buffer.
+*** Turning on `whitespace-mode' in a diff buffer will show trailing
+whitespace problems in the modified lines.
** Dired
+++
+++
** MH-E
-*** Upgraded to MH-E version 8.1. See MH-E-NEWS for details.
+*** Upgraded to MH-E version 8.1. See MH-E-NEWS for details.
** Python
*** The file etc/emacs.py now supports both Python 2 and 3, meaning
remote files, if there is no established connection to the
corresponding remote host.
+** Rmail
+
++++
+*** Rmail no longer converts the messages to Babyl format.
+Instead, it uses UNIX mbox format, both on disk and in Rmail buffers,
+and does conversion and decoding when a message is displayed.
+
+The first time you visit an Rmail file in Babyl format, Rmail
+automatically converts it to mbox format. This is a one-time
+conversion, but it can take a few minutes, depending on how fast is
+your machine and on the size of the file. You should find the rest of
+Rmail usage unaltered.
+
+However, M-x set-rmail-inbox-list now lasts only for one session
+because there is no way to save the list of inbox files in an
+mbox-format file.
+
+If you have written any extensions to Rmail, they are likely to need
+updating. Conceptually, the Rmail buffer that you see is no longer
+just a narrowed portion of the whole. So you cannot access the whole
+of a message (or message collection) by a simple save-restriction and
+widen. Instead, there are two buffers: the rmail-buffer, and the
+rmail-view-buffer. The former is the buffer that you see, the latter
+is invisible. Most of the time, the invisible `view' buffer contains
+the full contents of the Rmail file, and the Rmail buffer contains a
+decoded copy of the current message (with only a subset of the
+headers). In this state, Rmail is said to be `swapped'.
+
+You may find the following functions useful:
+
+`rmail-get-header' and `rmail-set-header' get or set the value of a
+message header, whether or not it is currently visible.
+
+`rmail-apply-in-message' is a general purpose function that calls a
+function (with arguments) which you specify on the full text of a given
+message. To further narrow to just the headers, search forward for "\n\n".
+
++++
+*** The new command `rmail-mime' displays MIME messages.
+It is bound to `v' in Rmail buffers and summaries. It displays plain
+text and multipart messages in a temporary buffer, and offers buttons
+to save attachments.
+
+---
+*** The command `rmail-redecode-body' no longer accepts the optional arg RAW.
+Since Rmail now holds messages in their original undecoded form in a
+separate buffer, `rmail-redecode-body' no longer encodes the original
+message, and therefore there should be no need to avoid encoding it.
+
++++
+*** The o command is now `rmail-output'. It is an all-purpose command
+for copying messages from Rmail and appending them to files. It
+handles Babyl-format files as well as mbox-format files, and it
+handles both kinds properly when they are visited in Emacs. It always
+copies the full headers of the message.
+
++++
+*** The C-o command is now `rmail-output-as-seen'. It uses
+the message as displayed, appending it to an mbox file.
+
+---
+*** The modified status of the Rmail buffer is reported in the mode-line.
+Previously, this information was hidden.
+
** TeX modes
---
*** New option latex-indent-within-escaped-parens
for the list of extra keys that are available.
** BDF fonts no longer supported on MS-Windows.
-The font backend was completely rewritten for this release. The focus
+The font backend was completely rewritten for this release. The focus
on Windows has been getting acceptable performance and full unicode
support, including complex script shaping for native Windows fonts. A
rewrite of the BDF font support has not happened due to lack of time
** `mode-name' is no longer guaranteed to be a string.
Use `(format-mode-line mode-name)' to ensure a string value.
++++
+** The function x-font-family-list has been removed.
+Use the new function font-family-list (see Lisp Changes, below).
+
** Internationalization changes
*** The value of the function `charset-id' is now always 0.
**** `tamil' and `tml-util, and all associated tamil-* and tml-*
functions and variables (formerly used for Tamil script).
+---
+** The variable temp-file-name-pattern has been removed.
+This variable was only used by call-process-region, which now uses
+temporary-file-directory instead.
+
\f
* Lisp Changes in Emacs 23.1
respectively.
+++
-** New primitives `list-system-processes' and `system-process-attributes'
+** New primitives `list-system-processes' and `process-attributes'
let Lisp programs access the processes that are running on the local
machine. See the doc strings of these functions for more details.
Not all platforms support accessing this information; on those that
remapping occurs only in that buffer.
*** text-scale-mode remaps the default face to a larger or smaller
-size in the current buffer. This feature is used by the Buffer Face
+size in the current buffer. This feature is used by the Buffer Face
menu and the new `C-x C-+', `C-x C--', and `C-x C-0' commands (see
Editing Changes, above).
entries in that range of characters.
+++
-*** `translation-table-for-input' is now obsolete.
+*** Use of `translation-table-for-input' for character code unification
+is now obsolete, since Emacs 23.1 and later uses Unicode as basis for
+internal representation of characters.
*** New functions:
have an optional 4th argument specifying a buffer to store the result
of conversion.
++++
+*** The new variable `inhibit-null-byte-detection' controls whether to
+consider text with null bytes as binary data. By default, it is
+`nil', and Emacs uses `no-conversion' for any text containing null
+bytes.
+
---
*** The functions `set-coding-priority' and `make-coding-system' are obsolete.
+++
**** `set-coding-system-priority' sets priorities of coding systems.
+**** `coding-system-from-name' returns a coding system matching with
+the argument name.
+
+
** There is a new input method, Robin, different from Quail.
It has three functionalities:
i) a simple input method (converts an ASCII sequence into a string).
set the font.
*** New functions:
-
++++
**** `fontp' checks if the argument is a font-spec or font-entity.
-
++++
**** `font-spec' creates a new font-spec object.
-
++++
**** `font-get' returns a font property value.
-
++++
**** `font-put' sets a font property value.
-
++++
**** `font-face-attributes' returns a plist of face attributes set by a font.
-
++++
**** `list-fonts' returns a list of font-entities matching a font spec.
-
-**** `font-font' returns the font-entity best matching the given font spec.
-
-**** `list-families' returns a list of family names of available fonts.
-
++++
+**** `find-font' returns the font-entity best matching the given font spec.
++++
+**** `font-family-list' returns a list of family names of available fonts.
++++
**** `font-xlfd-name' returns an XLFD name of a given font spec, font
entity, or font object.
-
+---
**** `clear-font-cache' clears all font caches.
** Changes related to multiple-terminal (multi-tty) support
for the first frame. `window-system' is also now a function that
takes a frame argument.
++++
*** The `keyboard-translate-table' variable and the terminal and
keyboard coding systems are now terminal-local.
+---
*** You can specify a terminal device (`tty' parameter) and a terminal
type (`tty-type' parameter) to `make-terminal-frame'.
+---
*** The function `make-frame-on-display' now works during a tty
session.
++++
*** A new `terminal' data type.
The functions `get-device-terminal', `terminal-parameters',
`terminal-parameter', `set-terminal-parameter' use this data type.
++++
*** Function key sequences are now mapped using `local-function-key-map',
a new variable. This inherits from the global variable function-key-map,
which is not used directly any more.
variable file-local-variables-alist, and before actually applying the
file-local variables.
++++
**** `suspend-tty-functions' and `resume-tty-functions' are called
after a tty frame has been suspended or resumed, respectively. The
functions are called with the terminal id of the frame being
suspended/resumed as a parameter.
++++
**** The special hook `delete-terminal-functions' is called before
deleting a terminal.
*** New functions:
-**** `environment'
-
-**** `delete-tty'
++++
+**** `delete-terminal'
++++
**** `suspend-tty'
++++
**** `resume-tty'.
++++
*** `initial-environment' holds the environment inherited from Emacs's parent.
** Redisplay changes