---
** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk'
-when you run configure. This requires Gtk+ 2.0 or newer. This port
+when you run configure. This requires Gtk+ 2.4 or newer. This port
provides a way to display multilingual text in menus (with some caveats).
---
** The command line option --no-windows has been changed to
--no-window-system. The old one still works, but is deprecated.
+---
+** If the environment variable DISPLAY specifies an unreachable X display,
+Emacs will now startup as if invoked with the --no-window-system option.
+
+++
** The -f option, used from the command line to call a function,
now reads arguments for the function interactively if it is
** M-SPC (just-one-space) when given a numeric argument N
converts whitespace around point to N spaces.
+---
+** C-x 5 C-o displays a specified buffer in another frame
+but does not switch to that frame. It's the multi-frame
+analogue of C-x 4 C-o.
+
---
** New commands to operate on pairs of open and close characters:
`insert-pair', `delete-pair', `raise-sexp'.
*** In processing a local variables list, Emacs strips the prefix and
suffix from every line before processing all the lines.
++++
+*** If the local variables list contains any variable-value pairs that
+are not known to be safe, Emacs shows a prompt asking whether to apply
+the local variables list as a whole. In earlier versions, a prompt
+was only issued for variables explicitly marked as risky (for the
+definition of risky variables, see `risky-local-variable-p').
+
+At the prompt, the user can choose to save the contents of this local
+variables list to `safe-local-variable-values'. This new customizable
+option is a list of variable-value pairs that are known to be safe.
+Variables can also be marked as safe with the existing
+`safe-local-variable' property (see `safe-local-variable-p').
+However, risky variables will not be added to
+`safe-local-variable-values' in this way.
+
+++
*** find-file-read-only visits multiple files in read-only mode,
when the file name contains wildcard characters.
fontification in Info, remove `turn-on-font-lock' from
`Info-mode-hook'.
-+++
-*** font-lock-lines-before specifies a number of lines before the
-current line that should be refontified when you change the buffer.
-The default value is 1.
-
+++
*** font-lock: in modes like C and Lisp where the fontification assumes that
an open-paren in column 0 is always outside of any string or comment,
ESC, like they do for Gtk+, Mac and W32.
+++
-*** For Gtk+ version 2.4, you can make Emacs use the old file dialog
+*** For the Gtk+ version, you can make Emacs use the old file dialog
by setting the variable `x-use-old-gtk-file-dialog' to t. Default is to use
the new dialog.
*** Custom themes are collections of customize options. Create a
custom theme with M-x customize-create-theme. Use M-x load-theme to
load and enable a theme, and M-x disable-theme to disable it. Use M-x
-enable-theme to renable a disabled theme.
+enable-theme to enable a disabled theme.
+++
*** The commands M-x customize-face and M-x customize-face-other-window
control substitution of the file names only when they are surrounded
by whitespace. This means you can now use them as shell wildcards
too. If you want to use just plain `*' as a wildcard, type `*""'; the
-doublequotes make no difference in the shell, but they prevent
+double quotes make no difference in the shell, but they prevent
special treatment in `dired-do-shell-command'.
+++
There's a new separate package grep.el, with its own submenu and
customization group.
++++
+*** `grep-find' is now also available under the name `find-grep' where
+people knowing `find-grep-dired' would probably expect it.
+
++++
+*** New commands `lgrep' (local grep) and `rgrep' (recursive grep) are
+more user-friendly versions of `grep' and `grep-find', which prompt
+separately for the regular expression to match, the files to search,
+and the base directory for the search (rgrep only). Case sensitivitivy
+of the search is controlled by the current value of `case-fold-search'.
+
+These commands build the shell commands based on the new variables
+`grep-template' (lgrep) and `grep-find-template' (rgrep).
+
+The files to search can use aliases defined in `grep-files-aliases'.
+
+Subdirectories listed in `grep-find-ignored-directories' such as those
+typically used by various version control systems, like CVS and arch,
+are automatically skipped by `rgrep'.
+
---
-*** M-x grep provides highlighting support.
+*** The grep commands provide highlighting support.
Hits are fontified in green, and hits in binary files in orange. Grep buffers
can be saved and automatically revisited.
-+++
-*** `grep-find' is now also available under the name `find-grep' where
-people knowing `find-grep-dired' would probably expect it.
-
---
-*** The new variables `grep-window-height', `grep-auto-highlight', and
-`grep-scroll-output' override the corresponding compilation mode
-settings, for grep commands only.
+*** The new variables `grep-window-height' and `grep-scroll-output' override
+the corresponding compilation mode settings, for grep commands only.
+++
-*** New option `grep-highlight-matches' highlightes matches in *grep*
+*** New option `grep-highlight-matches' highlights matches in *grep*
buffer. It uses a special feature of some grep programs which accept
--color option to output markers around matches. When going to the next
match with `next-error' the exact match is highlighted in the source
filenames being entered by the user in the minibuffer are displayed, so
that it's clear when part of the entered filename will be ignored due to
emacs' filename parsing rules. The ignored portion can be made dim,
-invisible, or otherwise less visually noticable. The display method can
+invisible, or otherwise less visually noticeable. The display method can
be displayed by customizing the variable `file-name-shadow-properties'.
+++
paragraph will scroll the buffer by the respective amount of lines
instead and point will be kept vertically fixed relative to window
boundaries during scrolling.
+
+** The file t-mouse.el is now part of Emacs and provides access to mouse
+events from the console. It still requires gpm to work but has been updated
+for Emacs 22. In particular, the mode-line is now position sensitive.
\f
* Changes in Specialized Modes and Packages in Emacs 22.1:
** Changes in Dired
+
++++
*** Bindings for Tumme added
Several new keybindings, all starting with the C-t prefix, have been
added to Dired. They are all bound to commands in Tumme. As a starting
point, mark some image files in a dired buffer and do C-t d to display
thumbnails of them in a separate buffer.
-** Changes in Hi Lock:
+
+** Changes in Hi Lock
+++
*** hi-lock-mode now only affects a single buffer, and a new function
*** Topic cryptography added, enabling easy gpg topic encryption and
decryption. Per-topic basis enables interspersing encrypted-text and
-clear-text within a single file to your hearts content, using symmetric
+clear-text within a single file to your heart's content, using symmetric
and/or public key modes. Time-limited key caching, user-provided
symmetric key hinting and consistency verification, auto-encryption of
pending topics on save, and more, make it easy to use encryption in
powerful ways.
-*** many substantial fixes and refinements, including:
+*** Default command prefix changed to "\C-c " (control-c space), to avoid
+intruding on user's keybinding space. Customize the
+`allout-command-prefix' variable to your preference.
+
+*** Allout now uses text overlay's `invisible' property (and others) for
+concealed text, instead of selective-display. This simplifies the code, in
+particularly avoiding the need for kludges for isearch dynamic-display,
+discretionary handling of edits of concealed text, undo concerns, etc.
+
+*** Many substantial fixes and refinements, including:
- repaired inhibition of inadvertent edits to concealed text
- repaired retention of topic body hanging indent upon topic depth shifts
- - prevent "containment discontinuities" where a topic is shifted deeper
- than the offspring-depth of its container
- - easy to adopt the distinctive bullet of a topic in a topic created
- relative to it, or select a new one, or use the common topic bullet
- - plain bullets, by default, now alternate between only two characters
- ('.' and ','), yielding less cluttered outlines
- - many internal fixes
- - version number incremented to 2.1
+ - refuse to create "containment discontinuities", where a
+ topic is shifted deeper than the offspring-depth of its' container
+ - bulleting variation is simpler and more accommodating, both in the
+ default behavior and in ability to vary when creating new topics
+ - many internal fixes and refinements
+ - many module and function docstring clarifications
+ - version number incremented to 2.2
** The variable `woman-topic-at-point' was renamed
to `woman-use-topic-at-point' and behaves differently: if this
Before leaving the initial Info node isearch fails once with the error
message [initial node], and with subsequent C-s/C-r continues through
other nodes. When isearch fails for the rest of the manual, it wraps
-aroung the whole manual to the top/final node. The user option
+around the whole manual to the top/final node. The user option
`Info-isearch-search' controls whether to use Info-search for isearch,
or the default isearch search function that wraps around the current
Info node.
bibtex-autokey-expand-strings control the expansion of strings when
extracting the content of a BibTeX field.
+*** The variables `bibtex-autokey-name-case-convert' and
+`bibtex-autokey-titleword-case-convert' have been renamed to
+`bibtex-autokey-name-case-convert-function' and
+`bibtex-autokey-titleword-case-convert-function'. The old names are
+still available as aliases.
+
+++
** In Enriched mode, `set-left-margin' and `set-right-margin' are now
by default bound to `C-c [' and `C-c ]' instead of the former `C-c C-l'
+++
*** The new package gdb-ui.el provides an enhanced graphical interface to
-GDB. You can interact with GDB through the GUD buffer in the usual way, but
+GDB. You can interact with GDB through the GUD buffer in the usual way, but
there are also further buffers which control the execution and describe the
state of your program. It can separate the input/output of your program from
that of GDB and watches expressions in the speedbar. It also uses features of
Emacs 21/22 such as the toolbar, and bitmaps in the fringe to indicate
breakpoints.
-Use M-x gdb to start GDB-UI.
+To use this package just type M-x gdb. See the Emacs manual if you want the
+old behaviour.
*** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be
toggled independently of normal tooltips with the minor mode
---
*** New customizable variables:
- - desktop-save. Determins whether the desktop should be saved when it is
+ - desktop-save. Determines whether the desktop should be saved when it is
killed.
- desktop-file-name-format. Format in which desktop file names should be saved.
- desktop-path. List of directories in which to lookup the desktop file.
The new keywords are def, newcommand, renewcommand, newenvironment and
renewenvironment.
-*** Honour #line directives.
+*** Honor #line directives.
When Etags parses an input file that contains C preprocessor's #line
directives, it creates tags using the file name and line number
---
** MH-E changes.
-Upgraded to MH-E version 7.91. There have been major changes since
+Upgraded to MH-E version 7.95. There have been major changes since
version 5.0.2; see MH-E-NEWS for details.
** Calendar changes:
---
** sql changes.
-*** The variable `sql-product' controls the highlightng of different
+*** The variable `sql-product' controls the highlighting of different
SQL dialects. This variable can be set globally via Customize, on a
buffer-specific basis via local variable settings, or for the current
session using the new SQL->Product submenu. (This menu replaces the
the username and the pgsql `-U' option is added.
*** MySQL support is enhanced.
-Keyword higlighting of MySql 4.0 is implemented.
+Keyword highlighting of MySql 4.0 is implemented.
*** Imenu support has been enhanced to locate tables, views, indexes,
packages, procedures, functions, triggers, sequences, rules, and
To enable this, set `calculator-output-radix' non-nil. In this mode a
separator character is used every few digits, making it easier to see
-byte boundries etc. For more info, see the documentation of the
+byte boundaries etc. For more info, see the documentation of the
variable `calculator-radix-grouping-mode'.
---
Previous versions of Emacs erred on the side of having a usable Emacs
through telnet, even though that was inconvenient if you use Emacs in
a local console window with a scrollback buffer. The default value of
-w32-use-full-screen-buffer is now nil, which favours local console
+w32-use-full-screen-buffer is now nil, which favors local console
windows. Recent versions of Windows telnet also work well with this
setting. If you are using an older telnet server then Emacs detects
that the console window dimensions that are reported are not sane, and
:propertize and :eval forms in the value of a variable whose
`risky-local-variable' property is nil.
+---
+The function `comint-send-input' now accepts 3 optional arguments:
+
+ (comint-send-input &optional no-newline artificial)
+
+Callers sending input not from the user should use bind the 3rd
+argument `artificial' to a non-nil value, to prevent Emacs from
+deleting the part of subprocess output that matches the input.
+
---
** Support for Mocklisp has been removed.
+++
*** New function `copy-tree' makes a copy of a tree.
-It recursively copyies through both CARs and CDRs.
+It recursively copies through both CARs and CDRs.
+++
*** New function `delete-dups' deletes `equal' duplicate elements from a list.
A quit inside the body of `with-local-quit' is caught by the
`with-local-quit' form itself, but another quit will happen later once
-the code that has inhibitted quitting exits.
+the code that has inhibited quitting exits.
This is for use around potentially blocking or long-running code
inside timer functions and `post-command-hook' functions.
If it is non-nil, the function lists only faces matching this regexp.
++++
+*** New function `string-or-null-p'.
+
+Return t if OBJECT is a string or nil. Otherwise, return nil.
+
** Lisp code indentation features:
+++
** defcustom changes:
++++
+*** The package-version keyword has been added to provide
+`customize-changed-options' functionality to packages in the future.
+Developers who make use of this keyword must also update the new
+variable `customize-package-emacs-version-alist'.
+
+++
*** The new customization type `float' requires a floating point number.
+++
*** Function `pos-visible-in-window-p' now returns the pixel coordinates
-and partial visiblity state of the corresponding row, if the PARTIALLY
+and partial visibility state of the corresponding row, if the PARTIALLY
arg is non-nil.
+++
A file local variables list cannot specify a string with text
properties--any specified text properties are discarded.
++++
+*** The variable `enable-local-variables' controls how local variable
+lists are handled. t, the default, specifies the standard querying
+behavior. :safe means use only safe values, and ignore the rest.
+nil means ignore them all. Anything else means always query.
+
+++
*** The variable `safe-local-eval-forms' specifies a list of forms that
are ok to evaluate when they appear in an `eval' local variables
by `syntax-after').
+++
-*** The new function `syntax-ppss' rovides an efficient way to find the
+*** The new function `syntax-ppss' provides an efficient way to find the
current syntactic context at point.
** File operation changes:
+++
*** The `read-file-name' function now takes an additional argument which
-specifies a predicate which the file name read must satify. The
+specifies a predicate which the file name read must satisfy. The
new variable `read-file-name-predicate' contains the predicate argument
while reading the file name from the minibuffer; the predicate in this
variable is used by read-file-name-internal to filter the completion list.
+++
** Customizable fringe bitmaps
+*** New buffer-local variables `fringe-indicator-alist' and
+`fringe-cursor-alist' maps between logical (internal) fringe indicator
+and cursor symbols and the actual fringe bitmaps to be displayed.
+This decouples the logical meaning of the fringe indicators from the
+physical appearance, as well as allowing different fringe bitmaps to
+be used in different windows showing different buffers.
+
*** New function `define-fringe-bitmap' can now be used to create new
fringe bitmaps, as well as change the built-in fringe bitmaps.
To change a built-in bitmap, do (require 'fringe) and use the symbol
-identifing the bitmap such as `left-truncation' or `continued-line'.
+identifying the bitmap such as `left-truncation' or `continued-line'.
*** New function `destroy-fringe-bitmap' deletes a fringe bitmap
or restores a built-in one to its default value.
*** You can define multiple overlay arrows via the new
variable `overlay-arrow-variable-list'.
-It contains a list of varibles which contain overlay arrow position
+It contains a list of variables which contain overlay arrow position
markers, including the original `overlay-arrow-position' variable.
Each variable on this list can have individual `overlay-arrow-string'
can also be used with :align-to to specify that the position is
relative to the left edge of the given area. Once the base offset for
a relative position has been set (by the first occurrence of one of
-these symbols), further occurences of these symbols are interpreted as
+these symbols), further occurrences of these symbols are interpreted as
the width of the area.
For example, to align to the center of the left-margin, use
(defimage foo-image '((:type xpm :file "foo/bar.xpm")))
+Note that all images formerly located in the lisp directory have been
+moved to etc/images.
+
++++
+*** New function `image-load-path-for-library' returns a suitable
+search path for images relative to library. This function is useful in
+external packages to save users from having to update
+`image-load-path'.
+
+++
*** The new variable `max-image-size' defines the maximum size of
images that Emacs will load and display.
+++
*** The mouse pointer shape over ordinary text or images can now be
-controlled/overriden via the `pointer' text property.
+controlled/overridden via the `pointer' text property.
** Mouse event enhancements:
editing SQL files, and M-x sql-interactive-mode for interacting with
SQL interpreters. It has an entry on `auto-mode-alist'.
-*** M-x highlight-changes-mode provides a minor mode displaying buffer
-changes with a special face.
-
*** ispell4.el has been deleted. It got in the way of ispell.el and
this was hard to fix reliably. It has long been obsolete -- use
Ispell 3.1 and ispell.el.