** `movemail' defaults to supporting POP. You can turn this off using
the --without-pop configure option, should that be necessary.
+
+** There are new configure options associated with the support for
+images and toolkit scrollbars. Use the --help option to list them.
\f
* Changes in Emacs 21.1
+** Emacs now refuses to load compiled Lisp files which weren't
+compiled with Emacs. Set `load-dangerous-libraries' to t to change
+this behavior.
+
+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
+whether Emacs should run in synchronous mode. Synchronous mode
+is useful for debugging X problems.
+
+Example:
+
+ emacs.synchronous: true
+
+*** The X resource `visualClass, class `VisualClass', specifies the
+visual Emacs should use. The resource's value should be a string of
+the form `CLASS-DEPTH', where CLASS is the name of the visual class,
+and DEPTH is the requested color depth as a decimal number. Valid
+visual class names are
+
+ TrueColor
+ PseudoColor
+ DirectColor
+ StaticColor
+ GrayScale
+ StaticGray
+
+Visual class names specified as X resource are case-insensitive, i.e.
+`pseudocolor', `Pseudocolor' and `PseudoColor' all have the same
+meaning.
+
+The program `xdpyinfo' can be used to list the visual classes
+supported on your display, and which depths they have. If
+`visualClass' is not specified, Emacs uses the display's default
+visual.
+
+Example:
+
+ emacs.visualClass: TrueColor-8
+
+*** The X resource `privateColormap', class `PrivateColormap',
+specifies that Emacs should use a private colormap if it is using the
+default visual, and that visual is of class PseudoColor. Recognized
+resource values are `true' or `on'.
+
+Example:
+
+ emacs.privateColormap: true
+
+** The menu bar configuration has changed. The new configuration is
+more CUA-compliant. The most significant change is that Options is
+now a separate menu-bar item, with Mule and Customize as its submenus.
+
+** User-option `show-cursor-in-non-selected-windows' controls how to
+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.
+
** If your init file is compiled (.emacs.elc), `user-init-file' is set
to the source name (.emacs.el), if that exists, after loading it.
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.
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
+numeric base.
** 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
** New modes and packages
+*** The new command M-x re-builder offers a convenient interface for
+authoring regular expressions with immediate visual feedback.
+
+The buffer from which the command was called becomes the target for
+the regexp editor popping up in a separate window. Matching text in
+the target buffer is immediately color marked during the editing.
+Each sub-expression of the regexp will show up in a different face so
+even complex regexps can be edited and verified on target data in a
+single step.
+
+On displays not supporting faces the matches instead blink like
+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.
+
+*** The package ebnf2ps translates an EBNF to a syntactic chart in
+PostScript.
+
+Currently accepts ad-hoc EBNF, ISO EBNF and Bison/Yacc.
+
+The ad-hoc default EBNF syntax has the following elements:
+
+ ; comment (until end of line)
+ A non-terminal
+ "C" terminal
+ ?C? special
+ $A default non-terminal
+ $"C" default terminal
+ $?C? default special
+ A = B. production (A is the header and B the body)
+ C D sequence (C occurs before D)
+ C | D alternative (C or D occurs)
+ A - B exception (A excluding B, B without any non-terminal)
+ n * A repetition (A repeats n (integer) times)
+ (C) group (expression C is grouped together)
+ [C] optional (C may or not occurs)
+ C+ one or more occurrences of C
+ {C}+ one or more occurrences of C
+ {C}* zero or more occurrences of C
+ {C} zero or more occurrences of C
+ C / D equivalent to: C {D C}*
+ {C || D}+ equivalent to: C {D C}*
+ {C || D}* equivalent to: [C {D C}*]
+ {C || D} equivalent to: [C {D C}*]
+
+Please, see ebnf2ps documentation for EBNF syntax and how to use it.
+
*** The package align.el will align columns within a region, using M-x
align. Its mode-specific rules, based on regular expressions,
determine where the columns should be split. In C and C++, for
buffer menu with this package. You can use M-x bs-customize to
customize the package.
+*** calculator.el is a small calculator package that is intended to
+replace desktop calculators such as xcalc and calc.exe. Actually, it
+is not too small - it has more features than most desktop calculators,
+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
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.
+
+*** autoconf.el provides a major mode for editing configure.in files
+for Autoconf, selected automatically.
+
+*** windmove.el
+
** Withdrawn packages
*** mldrag.el has been removed. mouse.el provides the same
When you add a new item, please add it without either +++ or ---
so I will know I still need to look at it -- rms.
+** Emacs' reader supports CL read syntax for integers in bases
+other than 10.
+
+*** `#BINTEGER' or `#bINTEGER' reads INTEGER in binary (radix 2).
+INTEGER optionally contains a sign.
+
+ #b1111
+ => 15
+ #b-1111
+ => -15
+
+*** `#OINTEGER' or `#oINTEGER' reads INTEGER in octal (radix 8).
+
+ #o666
+ => 438
+
+*** `#XINTEGER' or `#xINTEGER' reads INTEGER in hexadecimal (radix 16).
+
+ #xbeef
+ => 48815
+
+*** `#RADIXrINTEGER' reads INTEGER in radix RADIX, 2 <= RADIX <= 36.
+
+ #2R-111
+ => -7
+ #25rah
+ => 267
+
+** The function documentation-property now evaluates the value of
+the given property to obtain a a string if it doesn't refer to etc/DOC
+and isn't a string.
+
++++
+** The last argument of `define-key-after' defaults to t for convenience.
+
+** The new function `replace-regexp-in-string' replaces all matches
+for a regexp in a string.
+
+** `mouse-position' now runs the abnormal hook
+`mouse-position-function'.
+
+** The function string-to-number now returns a float for numbers
+that don't fit into a Lisp integer.
+
+** The variable keyword-symbols-constants-flag has been removed.
+Keywords are now always considered constants.
+
++++
+** The new function `delete-and-extract-region' deletes text and
+returns it.
+
** The function `clear-this-command-keys' now also clears the vector
returned by function `recent-keys'.
what BODY returns.
+++
-** Regular expressions now support Perl's non-greedy *? +? and ??
-operators.
+** Regular expressions now support intervals \{n,m\} as well as
+Perl's shy-groups \(?:...\) and non-greedy *? +? and ?? operators.
+++
** The optional argument BUFFER of function file-local-copy has been
** New dolist and dotimes macros.
-The dolist and dotimes macros of Common Lisp are now available.
+Simple versions of the dolist and dotimes macros of Common Lisp
+are now defined in Emacs Lisp.
(dolist (VAR LIST [RESULT]) BODY...)
Execute body once for each element of LIST,
The primitives `color-gray-p' and `color-supported-p' also work for
any frame type.
+** Platform-independent functions to describe display capabilities.
+
+The new functions `display-mouse-p', `display-popup-menus-p',
+`display-graphic-p', `display-selections-p', `display-screens',
+`display-pixel-width', `display-pixel-height', `display-mm-width',
+`display-mm-height', `display-backing-store', `display-save-under',
+`display-planes', `display-color-cells', `display-visual-class', and
+`display-grayscale-p' describe the basic capabilities of a particular
+display. Lisp programs should call these functions instead of testing
+the value of the variables `window-system' or `system-type', or calling
+platform-specific functions such as `x-display-pixel-width'.
+
+++
** The minibuffer prompt is now actually inserted in the minibuffer.
Likewise, an attempt to split a fixed-height window vertically,
or a fixed-width window horizontally results in a error.
+
+** The cursor-type frame parameter is now supported on MS-DOS
+terminals. When Emacs starts, it by default changes the cursor shape
+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.5 is a bug-fix release with no user-visible changes.
** Mail changes
+*** When mail is sent using compose-mail (C-x m), and if
+`mail-send-nonascii' is set to the new default value `mime',
+appropriate MIME headers are added. The headers are added only if
+non-ASCII characters are present in the body of the mail, and no other
+MIME headers are already present. For example, the following three
+headers are added if the coding system used in the *mail* buffer is
+latin-1:
+
+ MIME-version: 1.0
+ Content-type: text/plain; charset=iso-8859-1
+ Content-Transfer-Encoding: 8bit
+
*** The new variable default-sendmail-coding-system specifies the
default way to encode outgoing mail. This has higher priority than
default-buffer-file-coding-system but has lower priority than
** Changes to the emacsclient program
+*** If a socket can't be found, and environment variables LOGNAME or
+USER are set, emacsclient now looks for a socket based on the UID
+associated with the name. That is an emacsclient running as root
+can connect to an Emacs server started by a non-root user.
+
*** The emacsclient program now accepts an option --no-wait which tells
it to return immediately without waiting for you to "finish" the
buffer in Emacs.