GNU Emacs NEWS -- history of user-visible changes. 2003-05-21
-Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005
+Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
See the end for copying conditions.
---
** 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
`inhibit-splash-screen').
+++
-** The default is now to use an bitmap as the icon, so the command-line options
+** The default is now to use a bitmap as the icon, so the command-line options
--icon-type, -i has been replaced with options --no-bitmap-icon, -nbi to turn
the bitmap icon off.
to the text before point. If there is text in the buffer after point,
it remains unchanged.
++++
** When Emacs prompts for file names, SPC no longer completes the file name.
This is so filenames with embedded spaces could be input without the
need to quote the space with a C-q. The underlying changes in the
On 32bit machines, it is now 256M (i.e. 268435455).
+++
-** You can now switch buffers in a cyclic order with C-x C-left and
-(prev-buffer) and C-x C-right (next-buffer). C-x left and C-x right
-can be used as well.
+** You can now switch buffers in a cyclic order with C-x C-left
+(previous-buffer) and C-x C-right (next-buffer). C-x left and
+C-x right can be used as well. The functions keep a different buffer
+cycle for each frame, using the frame-local buffer list.
+++
** `undo-only' does an undo which does not redo any previous undo.
** 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'.
----
++++
** New command `kill-whole-line' kills an entire line at once.
By default, it is bound to C-S-<backspace>.
+++
*** In processing a local variables list, Emacs strips the prefix and
-suffix are from every line before processing all the lines.
+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,
`auto-hscroll-mode'. The old name is still available as an alias.
---
-*** Moving or scrolling through images (and other lines) taller that
+*** Moving or scrolling through images (and other lines) taller than
the window now works sensibly, by automatically adjusting the window's
vscroll property.
*** The variable `cursor-in-non-selected-windows' can now be set to any
of the recognized cursor types.
++++
+*** On text terminals, the variable `visible-cursor' controls whether Emacs
+uses the "very visible" cursor (the default) or the normal cursor.
+
** New faces:
+++
elements on mode-line (and header-line) like `highlight' face on text
areas.
+*** `mode-line-buffer-id' is the standard face for buffer identification
+parts of the mode line.
+
+++
*** `shadow' face defines the appearance of the "shadowed" text, i.e.
the text which should be less noticeable than the surrounding text.
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
+++
*** New command `Buffer-menu-toggle-files-only' toggles display of file
-buffers only in the Buffer Menu. It is bound to `T' in Buffer Menu
+buffers only in the Buffer Menu. It is bound to T in Buffer Menu
mode.
+++
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'.
+++
+++
*** The new command `comint-insert-previous-argument' in comint-derived
-modes (shell-mode etc) inserts arguments from previous command lines,
+modes (shell-mode, etc.) inserts arguments from previous command lines,
like bash's `ESC .' binding. It is bound by default to `C-c .', but
otherwise behaves quite similarly to the bash version.
+++
*** The new command `multi-occur' is just like `occur', except it can
search multiple buffers. There is also a new command
-`multi-occur-by-filename-regexp' which allows you to specify the
-buffers to search by their filename. Internally, Occur mode has been
-rewritten, and now uses font-lock, among other changes.
+`multi-occur-in-matching-buffers' which allows you to specify the
+buffers to search by their filenames or buffer names. Internally,
+Occur mode has been rewritten, and now uses font-lock, among other
+changes.
** Grep changes:
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
** Xterm support:
---
-*** Emacs now responds to mouse-clicks on the mode-line, header-line and
-display margin, when run in an xterm.
+*** If you enable Xterm Mouse mode, Emacs will respond to mouse clicks
+on the mode line, header line and display margin, when run in an xterm.
---
*** Improved key bindings support when running in an xterm.
\f
* New Modes and Packages in Emacs 22.1
+** ERC is now part of the Emacs distribution.
+
+ERC is a powerful, modular, and extensible IRC client for Emacs.
+
+To see what modules are available, type
+M-x customize-option erc-modules RET.
+
+To start an IRC session, type M-x erc-select, and follow the prompts
+for server, port, and nick.
+
+---
** Rcirc is now part of the Emacs distribution.
Rcirc is an Internet relay chat (IRC) client. It supports
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'.
+++
(setq tramp-default-method "ftp")
+Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x
+tramp-unload-tramp.
+
---
** The URL package (which had been part of W3) is now part of Emacs.
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
+
++++
+*** hi-lock-mode now only affects a single buffer, and a new function
+`global-hi-lock-mode' enables Hi Lock in all buffers. By default, if
+hi-lock-mode is used in what appears to be the initialization file, a
+warning message suggests to use global-hi-lock-mode instead. However,
+if the new variable `hi-lock-archaic-interface-deduce' is non-nil,
+using hi-lock-mode in an initialization file will turn on Hi Lock in all
+buffers and no warning will be issued (for compatibility with the
+behavior in older versions of Emacs).
+
** Changes in Allout
*** 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
`scheme-untrace-command' and `scheme-expand-current-form'.
---
-** Makefile mode has submodes for automake, gmake, makepp and BSD make.
+** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake.
-The former two couldn't be differentiated before, and the latter two
+The former two couldn't be differentiated before, and the latter three
are new. Font-locking is robust now and offers new customizable
faces.
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.
---
** Reftex mode changes
+
+++
*** Changes to RefTeX's table of contents
point (bound to C-c C-l and mouse-2, RET on clickable fields).
*** The new command `bibtex-entry-update' (bound to C-c C-u) updates
-an existing BibTeX entry.
+an existing BibTeX entry by inserting fields that may occur but are not
+present.
*** New `bibtex-entry-format' option `required-fields', enabled by default.
*** The new command `bibtex-copy-summary-as-kill' pushes summary
of BibTeX entry to kill ring (bound to C-c C-t).
+*** The new variables bibtex-expand-strings and
+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
---
** GUD mode improvements for jdb:
-*** Search for source files using jdb classpath and class
- information. Fast startup since there is no need to scan all
- source files up front. There is also no need to create and maintain
- lists of source directories to scan. Look at `gud-jdb-use-classpath'
- and `gud-jdb-classpath' customization variables documentation.
+*** Search for source files using jdb classpath and class information.
+Fast startup since there is no need to scan all source files up front.
+There is also no need to create and maintain lists of source
+directories to scan. Look at `gud-jdb-use-classpath' and
+`gud-jdb-classpath' customization variables documentation.
*** Supports the standard breakpoint (gud-break, gud-clear)
- set/clear operations from java source files under the classpath, stack
- traversal (gud-up, gud-down), and run until current stack finish
- (gud-finish).
+set/clear operations from Java source files under the classpath, stack
+traversal (gud-up, gud-down), and run until current stack finish
+(gud-finish).
*** Supports new jdb (Java 1.2 and later) in addition to oldjdb
- (Java 1.1 jdb).
+(Java 1.1 jdb).
*** The previous method of searching for source files has been
- preserved in case someone still wants/needs to use it.
- Set `gud-jdb-use-classpath' to nil.
+preserved in case someone still wants/needs to use it.
+Set `gud-jdb-use-classpath' to nil.
- Added Customization Variables
+*** Added Customization Variables
-*** `gud-jdb-command-name'. What command line to use to invoke jdb.
+**** `gud-jdb-command-name'. What command line to use to invoke jdb.
-*** `gud-jdb-use-classpath'. Allows selection of java source file searching
- method: set to t for new method, nil to scan `gud-jdb-directories' for
- java sources (previous method).
+**** `gud-jdb-use-classpath'. Allows selection of java source file searching
+method: set to t for new method, nil to scan `gud-jdb-directories' for
+java sources (previous method).
-*** `gud-jdb-directories'. List of directories to scan and search for java
- classes using the original gud-jdb method (if `gud-jdb-use-classpath'
- is nil).
+**** `gud-jdb-directories'. List of directories to scan and search for Java
+classes using the original gud-jdb method (if `gud-jdb-use-classpath'
+is nil).
- Minor Improvements
+*** Minor Improvements
-*** The STARTTLS wrapper (starttls.el) can now use GNUTLS
+**** The STARTTLS wrapper (starttls.el) can now use GNUTLS
instead of the OpenSSL based `starttls' tool. For backwards
compatibility, it prefers `starttls', but you can toggle
`starttls-use-gnutls' to switch to GNUTLS (or simply remove the
`starttls' tool).
-*** Do not allow debugger output history variable to grow without bounds.
+**** Do not allow debugger output history variable to grow without bounds.
** Auto-Revert changes:
---
** recentf changes.
-The recent file list is now automatically cleanup when recentf mode is
+The recent file list is now automatically cleaned up when recentf mode is
enabled. The new option `recentf-auto-cleanup' controls when to do
automatic cleanup.
---
*** 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 escaped character sequence \a, \b, \d, \e, \f, \n, \r, \t, \v,
respectively, stand for the ASCII characters BEL, BS, DEL, ESC, FF, NL,
-CR, TAB, VT,
+CR, TAB, VT.
**** Regular expressions can be bound to a given language.
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.85. 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.
It returns nil if the given Lisp form can't possibly do anything
dangerous; otherwise it returns a reason why the form might be unsafe
-(calls unknown function, alters global variable, etc).
+(calls unknown function, alters global variable, etc.).
+++
*** New macro `eval-at-startup' specifies expressions to
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.
It defaults to 1.
+++
-*** New function `mouse-on-link-p' test if a position is in a clickable link.
+*** New function `mouse-on-link-p' tests if a position is in a clickable link.
This is the function used by the new `mouse-1-click-follows-link'
functionality.
+++
*** 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.
+++
*** The function `frame-or-buffer-changed-p' now lets you maintain
various status records in parallel.
-It take a variable (a symbol) as argument. If the variable is non-nil,
+It takes a variable (a symbol) as argument. If the variable is non-nil,
then its value should be a vector installed previously by
`frame-or-buffer-changed-p'. If the frame names, buffer names, buffer
order, or their read-only or modified flags have changed, since the
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
+++
*** Functions `match-data' and `set-match-data' now have an optional
argument `reseat'. When non-nil, all markers in the match data list
-passed to these function will be reseated to point to nowhere.
+passed to these functions will be reseated to point to nowhere.
+++
*** The default value of `sentence-end' is now defined using the new
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 new hook `before-save-hook' is invoked by `basic-save-buffer'
before saving buffers. This allows packages to perform various final
-tasks, for example; it can be used by the copyright package to make
+tasks. For example, it can be used by the copyright package to make
sure saved files have the current year in any copyright headers.
+++
One advantage of using this function is that the list of suffixes in
`exec-suffixes' is OS-dependant, so this function will find
-executables without polluting Lisp code with OS dependancies.
+executables without polluting Lisp code with OS dependencies.
---
*** The precedence of file name handlers has been changed.
+++
*** 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.
`read-file-name' function.
+++
-*** The new function `read-directory-name' for reading a directory name.
+*** The new function `read-directory-name' is for reading a directory name.
It is like `read-file-name' except that the defaulting works better
for directories, and completion inside it shows only directories.
** Completion changes:
++++
+*** The new function `minibuffer-completion-contents' returns the contents
+of the minibuffer just before point. That is what completion commands
+operate on.
+
+++
*** The functions `all-completions' and `try-completion' now accept lists
of strings as well as hash-tables additionally to alists, obarrays
*** The new macro `lazy-completion-table' initializes a variable
as a lazy completion table.
- (lazy-completion-table VAR FUN &rest ARGS)
+ (lazy-completion-table VAR FUN)
If the completion table VAR is used for the first time (e.g., by passing VAR
-as an argument to `try-completion'), the function FUN is called with arguments
-ARGS. FUN must return the completion table that will be stored in VAR. If
-completion is requested in the minibuffer, FUN will be called in the buffer
-from which the minibuffer was entered. The return value of
+as an argument to `try-completion'), the function FUN is called with no
+arguments. FUN must return the completion table that will be stored in VAR.
+If completion is requested in the minibuffer, FUN will be called in the buffer
+from which the minibuffer was entered. The return value of
`lazy-completion-table' must be used to initialize the value of VAR.
+++
very poor performance. This behavior can be remedied to some extent
by setting the new variable `process-adaptive-read-buffering' to a
non-nil value (the default), as it will automatically delay reading
-from such processes, to allowing them to produce more output before
+from such processes, allowing them to produce more output before
emacs tries to read it.
*** The new function `call-process-shell-command'.
- Datagram connection is selected using :type 'datagram arg.
- A server can open on a random port using :service t arg.
- Local sockets are supported using :family 'local arg.
+- IPv6 is supported (when available). You may explicitly select IPv6
+ using :family 'ipv6 arg.
- Non-blocking connect is supported using :nowait t arg.
- The process' property list can be initialized using :plist PLIST arg;
a copy of the server process' property list is automatically inherited
To test for the availability of a given feature, use featurep like this:
(featurep 'make-network-process '(:type datagram))
+ (featurep 'make-network-process '(:family ipv6))
*** The old `open-network-stream' now uses `make-network-process'.
+++
** 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.
The actual default fringe widths for the frame may deviate from the
specified widths, since the combined fringe widths must match an
integral number of columns. The extra width is distributed evenly
-between the left and right fringe. For force a specific fringe width,
+between the left and right fringe. To force a specific fringe width,
specify the width as a negative integer (if both widths are negative,
only the left fringe gets the specified width).
*** 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'
*** Enhancements to stretch display properties
The display property stretch specification form `(space PROPS)', where
-PROPS is a property list now allows pixel based width and height
+PROPS is a property list, now allows pixel based width and height
specifications, as well as enhanced horizontal text alignment.
The value of these properties can now be a (primitive) expression
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:
*** `set-auto-mode' now gives the interpreter magic line (if present)
precedence over the file name. Likewise an `<?xml' or `<!DOCTYPE'
declaration will give the buffer XML or SGML mode, based on the new
-var `magic-mode-alist'.
+variable `magic-mode-alist'.
+++
*** Use the new function `run-mode-hooks' to run the major mode's mode hook.
In each case the old name remains as an alias for the moment.
+++
-*** local-write-file-hooks is marked obsolete
+*** Variable `local-write-file-hooks' is marked obsolete.
Use the LOCAL arg of `add-hook'.
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.
*** The net-utils package makes some common networking features
available in Emacs. Some of these functions are wrappers around
-system utilities (ping, nslookup, etc); others are implementations of
+system utilities (ping, nslookup, etc.); others are implementations of
simple protocols (finger, whois) in Emacs Lisp. There are also
functions to make simple connections to TCP/IP ports for debugging and
the like.
samba-generic-mode: Samba configuration files
fvwm-generic-mode: For fvwm initialization files
x-resource-generic-mode: For X resource files
- hosts-generic-mode: For hosts files (.rhosts, /etc/hosts, etc)
+ hosts-generic-mode: For hosts files (.rhosts, /etc/hosts, etc.)
mailagent-rules-generic-mode: For mailagent .rules files
javascript-generic-mode: For JavaScript files
vrml-generic-mode: For VRML files
Copyright information:
Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004,
- 2005 Free Software Foundation, Inc.
+ 2005, 2006 Free Software Foundation, Inc.
Permission is granted to anyone to make or distribute verbatim copies
of this document as received, in any medium, provided that the