2006-06-04 01:01:51 +00:00
|
|
|
|
GNU Emacs NEWS -- history of user-visible changes. 2006-06-04
|
|
|
|
|
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
|
2005-01-04 21:15:09 +00:00
|
|
|
|
Free Software Foundation, Inc.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
See the end for copying conditions.
|
|
|
|
|
|
|
|
|
|
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
|
2006-06-04 01:01:51 +00:00
|
|
|
|
If possible, use M-x report-emacs-bug.
|
|
|
|
|
|
|
|
|
|
This file is about changes in emacs version 22.
|
|
|
|
|
|
|
|
|
|
See files NEWS.21, NEWS.20, NEWS.19, NEWS.18, and NEWS.1-17 for changes
|
|
|
|
|
in older emacs versions.
|
|
|
|
|
|
|
|
|
|
You can narrow news to a specific version by calling `view-emacs-news'
|
|
|
|
|
with a prefix argument or by typing C-u C-h C-n.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
2001-12-01 15:33:49 +00:00
|
|
|
|
Temporary note:
|
|
|
|
|
+++ indicates that the appropriate manual has already been updated.
|
|
|
|
|
--- means no change in the manuals is called for.
|
|
|
|
|
When you add a new item, please add it without either +++ or ---
|
2002-06-26 22:25:44 +00:00
|
|
|
|
so we will look at it and add it to the manual.
|
2001-12-01 15:33:49 +00:00
|
|
|
|
|
2001-11-15 20:42:00 +00:00
|
|
|
|
|
2005-02-09 15:50:47 +00:00
|
|
|
|
* Installation Changes in Emacs 22.1
|
2001-11-15 20:42:00 +00:00
|
|
|
|
|
2006-07-04 14:32:15 +00:00
|
|
|
|
---
|
|
|
|
|
** Emacs comes with a new set of icons.
|
|
|
|
|
These icons are displayed on the taskbar and/or titlebar when Emacs
|
|
|
|
|
runs in a graphical environment. Source files for these icons can be
|
|
|
|
|
found in etc/images/icons. (You can't change the icons displayed by
|
|
|
|
|
Emacs by changing these files directly. On X, the icon is compiled
|
|
|
|
|
into the Emacs executable; see gnu.h in the source tree. On MS
|
|
|
|
|
Windows, see nt/icons/emacs.ico.)
|
|
|
|
|
|
2005-04-30 20:34:12 +00:00
|
|
|
|
---
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Emacs now supports new configure options `--program-prefix',
|
|
|
|
|
`--program-suffix' and `--program-transform-name' that affect the names of
|
|
|
|
|
installed programs.
|
2004-06-14 21:17:25 +00:00
|
|
|
|
|
2004-01-18 01:47:10 +00:00
|
|
|
|
---
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Emacs can now be built without sound support.
|
2004-01-18 01:47:10 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
---
|
2003-01-20 19:47:11 +00:00
|
|
|
|
** You can build Emacs with Gtk+ widgets by specifying `--with-x-toolkit=gtk'
|
2006-02-14 11:40:14 +00:00
|
|
|
|
when you run configure. This requires Gtk+ 2.4 or newer. This port
|
2003-06-23 18:36:25 +00:00
|
|
|
|
provides a way to display multilingual text in menus (with some caveats).
|
2003-01-20 19:47:11 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
---
|
2005-05-14 13:18:57 +00:00
|
|
|
|
** The `emacsserver' program has been removed, replaced with Lisp code.
|
2002-09-25 20:22:57 +00:00
|
|
|
|
|
2006-06-10 07:58:34 +00:00
|
|
|
|
---
|
|
|
|
|
** The `yow' program has been removed.
|
|
|
|
|
Use the corresponding Emacs feature instead.
|
|
|
|
|
|
2002-07-07 18:30:45 +00:00
|
|
|
|
---
|
2002-04-24 21:04:32 +00:00
|
|
|
|
** By default, Emacs now uses a setgid helper program to update game
|
2002-04-25 19:12:38 +00:00
|
|
|
|
scores. The directory ${localstatedir}/games/emacs is the normal
|
2005-05-08 23:02:44 +00:00
|
|
|
|
place for game scores to be stored. You can control this with the
|
2002-04-25 19:12:38 +00:00
|
|
|
|
configure option `--with-game-dir'. The specific user that Emacs uses
|
|
|
|
|
to own the game scores is controlled by `--with-game-user'. If access
|
2002-04-29 23:16:38 +00:00
|
|
|
|
to a game user is not available, then scores will be stored separately
|
|
|
|
|
in each user's home directory.
|
2002-04-24 21:04:32 +00:00
|
|
|
|
|
2001-12-21 09:03:16 +00:00
|
|
|
|
---
|
|
|
|
|
** Leim is now part of the Emacs distribution.
|
|
|
|
|
You no longer need to download a separate tarball in order to build
|
|
|
|
|
Emacs with Leim.
|
|
|
|
|
|
2002-10-28 23:38:07 +00:00
|
|
|
|
+++
|
|
|
|
|
** The Emacs Lisp Reference Manual is now part of the distribution.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
The Emacs Lisp Reference Manual in Info format is built as part of the
|
2002-10-28 23:38:07 +00:00
|
|
|
|
Emacs build procedure and installed together with the Emacs User
|
|
|
|
|
Manual. A menu item was added to the menu bar that makes it easy
|
|
|
|
|
accessible (Help->More Manuals->Emacs Lisp Reference).
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** The Introduction to Programming in Emacs Lisp manual is now part of
|
|
|
|
|
the distribution.
|
|
|
|
|
|
|
|
|
|
This manual is now part of the standard distribution and is installed,
|
|
|
|
|
together with the Emacs User Manual, into the Info directory. A menu
|
|
|
|
|
item was added to the menu bar that makes it easy accessible
|
|
|
|
|
(Help->More Manuals->Introduction to Emacs Lisp).
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** New translations of the Emacs Tutorial are available in the
|
2005-05-03 21:14:05 +00:00
|
|
|
|
following languages: Brasilian Portuguese, Bulgarian, Chinese (both
|
|
|
|
|
with simplified and traditional characters), French, and Italian.
|
|
|
|
|
Type `C-u C-h t' to choose one of them in case your language setup
|
|
|
|
|
doesn't automatically select the right one.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2006-05-20 19:35:16 +00:00
|
|
|
|
---
|
2006-05-20 19:40:53 +00:00
|
|
|
|
** A Portuguese translation of Emacs' reference card has been added.
|
2006-05-20 19:35:16 +00:00
|
|
|
|
Its name is `pt-br-refcard.tex'. The corresponding PostScript file is
|
|
|
|
|
also included.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
|
|
|
|
** A French translation of the `Emacs Survival Guide' is available.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** Emacs now includes support for loading image libraries on demand.
|
|
|
|
|
(Currently this feature is only used on MS Windows.) You can configure
|
|
|
|
|
the supported image types and their associated dynamic libraries by
|
|
|
|
|
setting the variable `image-library-alist'.
|
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
---
|
2006-06-10 07:58:34 +00:00
|
|
|
|
** Support for a Cygwin build of Emacs was added.
|
2003-01-31 15:24:20 +00:00
|
|
|
|
|
2002-01-27 10:05:42 +00:00
|
|
|
|
---
|
2001-11-29 12:13:52 +00:00
|
|
|
|
** Support for FreeBSD/Alpha has been added.
|
|
|
|
|
|
2002-05-08 19:19:19 +00:00
|
|
|
|
---
|
|
|
|
|
** Support for GNU/Linux systems on S390 machines was added.
|
|
|
|
|
|
2002-04-27 09:02:44 +00:00
|
|
|
|
---
|
|
|
|
|
** Support for MacOS X was added.
|
|
|
|
|
See the files mac/README and mac/INSTALL for build instructions.
|
|
|
|
|
|
2002-07-07 18:30:45 +00:00
|
|
|
|
---
|
2002-06-07 11:17:55 +00:00
|
|
|
|
** Support for GNU/Linux systems on X86-64 machines was added.
|
2001-11-18 05:59:41 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
---
|
2005-03-05 03:39:28 +00:00
|
|
|
|
** Mac OS 9 port now uses the Carbon API by default. You can also
|
|
|
|
|
create non-Carbon build by specifying `NonCarbon' as a target. See
|
|
|
|
|
the files mac/README and mac/INSTALL for build instructions.
|
|
|
|
|
|
2002-10-28 23:38:07 +00:00
|
|
|
|
---
|
2004-01-21 05:03:24 +00:00
|
|
|
|
** Building with -DENABLE_CHECKING does not automatically build with union
|
|
|
|
|
types any more. Add -DUSE_LISP_UNION_TYPE if you want union types.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** When pure storage overflows while dumping, Emacs now prints how
|
|
|
|
|
much pure storage it will approximately need.
|
2005-05-30 10:38:35 +00:00
|
|
|
|
|
|
|
|
|
** The script etc/emacs-buffer.gdb can be used with gdb to retrieve the
|
|
|
|
|
contents of buffers from a core dump and save them to files easily, should
|
|
|
|
|
emacs crash.
|
|
|
|
|
|
2005-10-20 15:42:04 +00:00
|
|
|
|
---
|
|
|
|
|
** The Emacs terminal emulation in term.el uses a different terminfo name.
|
|
|
|
|
The Emacs terminal emulation in term.el now uses "eterm-color" as its
|
|
|
|
|
terminfo name, since term.el now supports color.
|
|
|
|
|
|
2005-11-01 11:48:50 +00:00
|
|
|
|
---
|
|
|
|
|
** Emacs Lisp source files are compressed by default if `gzip' is available.
|
|
|
|
|
|
2006-07-04 14:32:15 +00:00
|
|
|
|
---
|
|
|
|
|
** All images used in Emacs have been consolidated in etc/images and subdirs.
|
|
|
|
|
See also the changes to `find-image', documented below.
|
|
|
|
|
|
2002-10-28 23:38:07 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
* Startup Changes in Emacs 22.1
|
2002-10-27 16:26:04 +00:00
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** New command line option -Q or --quick.
|
|
|
|
|
This is like using -q --no-site-file, but in addition it also disables
|
|
|
|
|
the fancy startup screen.
|
2005-05-02 11:36:01 +00:00
|
|
|
|
|
2005-04-29 22:38:08 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** New command line option -D or --basic-display.
|
|
|
|
|
Disables the menu-bar, the tool-bar, the scroll-bars, tool tips, and
|
|
|
|
|
the blinking cursor.
|
2005-04-29 22:38:08 +00:00
|
|
|
|
|
2005-04-27 00:37:59 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** New command line option -nbc or --no-blinking-cursor disables
|
|
|
|
|
the blinking cursor on graphical terminals.
|
2005-03-29 11:53:18 +00:00
|
|
|
|
|
2005-05-07 11:15:53 +00:00
|
|
|
|
+++
|
|
|
|
|
** The option --script FILE runs Emacs in batch mode and loads FILE.
|
|
|
|
|
It is useful for writing Emacs Lisp shell script files, because they
|
|
|
|
|
can start with this line:
|
|
|
|
|
|
|
|
|
|
#!/usr/bin/emacs --script
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The option --directory DIR now modifies `load-path' immediately.
|
|
|
|
|
Directories are added to the front of `load-path' in the order they
|
|
|
|
|
appear on the command line. For example, with this command line:
|
|
|
|
|
|
|
|
|
|
emacs -batch -L .. -L /tmp --eval "(require 'foo)"
|
|
|
|
|
|
|
|
|
|
Emacs looks for library `foo' in the parent directory, then in /tmp, then
|
|
|
|
|
in the other directories in `load-path'. (-L is short for --directory.)
|
|
|
|
|
|
2005-04-30 20:34:12 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** The command line option --no-windows has been changed to
|
|
|
|
|
--no-window-system. The old one still works, but is deprecated.
|
2005-04-30 20:34:12 +00:00
|
|
|
|
|
2006-03-18 13:55:31 +00:00
|
|
|
|
---
|
|
|
|
|
** If the environment variable DISPLAY specifies an unreachable X display,
|
|
|
|
|
Emacs will now startup as if invoked with the --no-window-system option.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
** The -f option, used from the command line to call a function,
|
|
|
|
|
now reads arguments for the function interactively if it is
|
|
|
|
|
an interactively callable function.
|
2005-04-30 20:34:12 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
** When you specify a frame size with --geometry, the size applies to
|
|
|
|
|
all frames you create. A position specified with --geometry only
|
|
|
|
|
affects the initial frame.
|
|
|
|
|
|
2006-07-29 10:48:30 +00:00
|
|
|
|
---
|
|
|
|
|
** Emacs built for MS-Windows now behaves like Emacs on X does,
|
|
|
|
|
wrt its frame position: if you don't specify a position (in your
|
|
|
|
|
.emacs init file, in the Registry, or with the --geometry command-line
|
|
|
|
|
option), Emacs leaves the frame position to the Windows' window
|
|
|
|
|
manager.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
** Emacs can now be invoked in full-screen mode on a windowed display.
|
|
|
|
|
When Emacs is invoked on a window system, the new command-line options
|
|
|
|
|
`--fullwidth', `--fullheight', and `--fullscreen' produce a frame
|
|
|
|
|
whose width, height, or both width and height take up the entire
|
|
|
|
|
screen size. (For now, this does not work with some window managers.)
|
2005-04-06 14:08:06 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
** Emacs now displays a splash screen by default even if command-line
|
|
|
|
|
arguments were given. The new command-line option --no-splash
|
|
|
|
|
disables the splash screen; see also the variable
|
|
|
|
|
`inhibit-startup-message' (which is also aliased as
|
|
|
|
|
`inhibit-splash-screen').
|
2005-04-23 12:47:34 +00:00
|
|
|
|
|
2005-10-09 07:44:10 +00:00
|
|
|
|
+++
|
2006-01-06 12:13:43 +00:00
|
|
|
|
** The default is now to use a bitmap as the icon, so the command-line options
|
2005-10-10 16:14:00 +00:00
|
|
|
|
--icon-type, -i has been replaced with options --no-bitmap-icon, -nbi to turn
|
2005-10-09 07:44:10 +00:00
|
|
|
|
the bitmap icon off.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
** New user option `inhibit-startup-buffer-menu'.
|
|
|
|
|
When loading many files, for instance with `emacs *', Emacs normally
|
|
|
|
|
displays a buffer menu. This option turns the buffer menu off.
|
2005-03-27 14:27:36 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
** Init file changes
|
2005-10-30 14:02:50 +00:00
|
|
|
|
If the init file ~/.emacs does not exist, Emacs will try
|
2006-12-05 14:34:46 +00:00
|
|
|
|
~/.emacs.d/init.el or ~/.emacs.d/init.elc. Likewise, if the shell init file
|
|
|
|
|
~/.emacs_SHELL is not found, Emacs will try ~/.emacs.d/init_SHELL.sh.
|
2005-03-26 05:52:20 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Emacs now reads the standard abbrevs file ~/.abbrev_defs
|
|
|
|
|
automatically at startup, if it exists. When Emacs offers to save
|
|
|
|
|
modified buffers, it saves the abbrevs too if they have changed. It
|
|
|
|
|
can do this either silently or asking for confirmation first,
|
|
|
|
|
according to the value of `save-abbrevs'.
|
2006-07-22 10:56:33 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** If the environment variable EMAIL is defined, Emacs now uses its value
|
2006-07-29 11:51:47 +00:00
|
|
|
|
to compute the default value of `user-mail-address', in preference to
|
2006-07-22 10:56:33 +00:00
|
|
|
|
concatenation of `user-login-name' with the name of your host machine.
|
2006-07-29 10:48:30 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
* Incompatible Editing Changes in Emacs 22.1
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** M-g is now a prefix key.
|
|
|
|
|
M-g g and M-g M-g run goto-line.
|
|
|
|
|
M-g n and M-g M-n run next-error (like C-x `).
|
|
|
|
|
M-g p and M-g M-p run previous-error.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** C-u M-g M-g switches to the most recent previous buffer,
|
|
|
|
|
and goes to the specified line in that buffer.
|
|
|
|
|
|
|
|
|
|
When goto-line starts to execute, if there's a number in the buffer at
|
|
|
|
|
point then it acts as the default argument for the minibuffer.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The old bindings C-M-delete and C-M-backspace have been deleted,
|
|
|
|
|
since there are situations where one or the other will shut down
|
|
|
|
|
the operating system or your X server.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** line-move-ignore-invisible now defaults to t.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** When the undo information of the current command gets really large
|
|
|
|
|
(beyond the value of `undo-outer-limit'), Emacs discards it and warns
|
|
|
|
|
you about it.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** `apply-macro-to-region-lines' now operates on all lines that begin
|
|
|
|
|
in the region, rather than on all complete lines in the region.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** A prefix argument is no longer required to repeat a jump to a
|
2005-11-03 21:48:00 +00:00
|
|
|
|
previous mark if you set `set-mark-command-repeat-pop' to t. I.e. C-u
|
|
|
|
|
C-SPC C-SPC C-SPC ... cycles through the mark ring. Use C-u C-u C-SPC
|
|
|
|
|
to set the mark immediately after a jump.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The info-search bindings on C-h C-f, C-h C-k and C-h C-i
|
|
|
|
|
have been moved to C-h F, C-h K and C-h S.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** In incremental search, C-w is changed. M-%, C-M-w and C-M-y are special.
|
|
|
|
|
|
|
|
|
|
See below under "incremental search changes".
|
|
|
|
|
|
|
|
|
|
---
|
2006-11-14 20:00:43 +00:00
|
|
|
|
** C-x C-f RET (find-file), typing nothing in the minibuffer, is no longer
|
|
|
|
|
a special case.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
Since the default input is the current directory, this has the effect
|
|
|
|
|
of specifying the current directory. Normally that means to visit the
|
|
|
|
|
directory with Dired.
|
|
|
|
|
|
2005-11-16 22:25:16 +00:00
|
|
|
|
You can get the old behavior by typing C-x C-f M-n RET, which fetches
|
|
|
|
|
the actual file name into the minibuffer.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
** The completion commands TAB, SPC and ? in the minibuffer apply only
|
|
|
|
|
to the text before point. If there is text in the buffer after point,
|
|
|
|
|
it remains unchanged.
|
|
|
|
|
|
2005-12-08 18:08:38 +00:00
|
|
|
|
+++
|
2005-12-02 14:03:58 +00:00
|
|
|
|
** 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
|
|
|
|
|
keymaps that are active in the minibuffer are described below under
|
|
|
|
|
"New keymaps for typing file names".
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
** M-o now is the prefix key for setting text properties;
|
|
|
|
|
M-o M-o requests refontification.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** You can now follow links by clicking Mouse-1 on the link.
|
2005-03-13 15:34:46 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
See below for more details.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** In Dired's ! command (dired-do-shell-command), `*' and `?' now
|
|
|
|
|
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
|
|
|
|
|
special treatment in `dired-do-shell-command'.
|
2006-09-08 12:22:01 +00:00
|
|
|
|
|
|
|
|
|
** Adaptive filling misfeature removed.
|
|
|
|
|
It no longer treats `NNN.' or `(NNN)' as a prefix.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
* Editing Changes in Emacs 22.1
|
|
|
|
|
|
2005-10-28 16:44:46 +00:00
|
|
|
|
+++
|
|
|
|
|
** !MEM FULL! at the start of the mode line indicates that Emacs
|
|
|
|
|
cannot get any more memory for Lisp data. This often means it could
|
|
|
|
|
crash soon if you do things that use more memory. On most systems,
|
|
|
|
|
killing buffers will get out of this state. If killing buffers does
|
|
|
|
|
not make !MEM FULL! disappear, you should save your work and start
|
|
|
|
|
a new Emacs.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
** The max size of buffers and integers has been doubled.
|
|
|
|
|
On 32bit machines, it is now 256M (i.e. 268435455).
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
2005-12-16 11:33:25 +00:00
|
|
|
|
** You can now switch buffers in a cyclic order with C-x C-left
|
2006-01-04 00:26:24 +00:00
|
|
|
|
(previous-buffer) and C-x C-right (next-buffer). C-x left and
|
2005-12-16 11:33:25 +00:00
|
|
|
|
C-x right can be used as well. The functions keep a different buffer
|
|
|
|
|
cycle for each frame, using the frame-local buffer list.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** `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.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2006-03-20 15:08:56 +00:00
|
|
|
|
---
|
|
|
|
|
** 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.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** New commands to operate on pairs of open and close characters:
|
|
|
|
|
`insert-pair', `delete-pair', `raise-sexp'.
|
|
|
|
|
|
2005-12-16 12:06:41 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** New command `kill-whole-line' kills an entire line at once.
|
|
|
|
|
By default, it is bound to C-S-<backspace>.
|
2004-11-06 12:15:10 +00:00
|
|
|
|
|
2004-10-04 23:00:13 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Yanking text now discards certain text properties that can
|
|
|
|
|
be inconvenient when you did not expect them. The variable
|
|
|
|
|
`yank-excluded-properties' specifies which ones. Insertion
|
|
|
|
|
of register contents and rectangles also discards these properties.
|
2004-10-04 23:00:13 +00:00
|
|
|
|
|
2004-09-20 16:19:49 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** The default values of paragraph-start and indent-line-function have
|
|
|
|
|
been changed to reflect those used in Text mode rather than those used
|
|
|
|
|
in Indented-Text mode.
|
2004-09-20 16:19:49 +00:00
|
|
|
|
|
2004-09-01 00:09:17 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** M-x setenv now expands environment variable references.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
Substrings of the form `$foo' and `${foo}' in the specified new value
|
|
|
|
|
now refer to the value of environment variable foo. To include a `$'
|
|
|
|
|
in the value, use `$$'.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** `special-display-buffer-names' and `special-display-regexps' now
|
|
|
|
|
understand two new boolean pseudo-frame-parameters `same-frame' and
|
|
|
|
|
`same-window'.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The default for the paper size (variable ps-paper-type) is taken
|
|
|
|
|
from the locale.
|
|
|
|
|
|
|
|
|
|
** Mark command changes:
|
2004-06-10 04:28:42 +00:00
|
|
|
|
|
2004-06-12 06:09:32 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** A prefix argument is no longer required to repeat a jump to a
|
2005-05-02 20:58:54 +00:00
|
|
|
|
previous mark, i.e. C-u C-SPC C-SPC C-SPC ... cycles through the
|
|
|
|
|
mark ring. Use C-u C-u C-SPC to set the mark immediately after a jump.
|
2004-06-10 04:28:42 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Marking commands extend the region when invoked multiple times.
|
|
|
|
|
|
|
|
|
|
If you type C-M-SPC (mark-sexp), M-@ (mark-word), M-h
|
|
|
|
|
(mark-paragraph), or C-M-h (mark-defun) repeatedly, the marked region
|
|
|
|
|
extends each time, so you can mark the next two sexps with M-C-SPC
|
|
|
|
|
M-C-SPC, for example. This feature also works for
|
|
|
|
|
mark-end-of-sentence, if you bind that to a key. It also extends the
|
|
|
|
|
region when the mark is active in Transient Mark mode, regardless of
|
|
|
|
|
the last command. To start a new region with one of marking commands
|
|
|
|
|
in Transient Mark mode, you can deactivate the active region with C-g,
|
|
|
|
|
or set the new mark with C-SPC.
|
2004-05-17 00:26:33 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** M-h (mark-paragraph) now accepts a prefix arg.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
With positive arg, M-h marks the current and the following paragraphs;
|
|
|
|
|
if the arg is negative, it marks the current and the preceding
|
|
|
|
|
paragraphs.
|
2004-05-12 02:42:42 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** Some commands do something special in Transient Mark mode when the
|
2005-05-02 20:58:54 +00:00
|
|
|
|
mark is active--for instance, they limit their operation to the
|
|
|
|
|
region. Even if you don't normally use Transient Mark mode, you might
|
|
|
|
|
want to get this behavior from a particular command. There are two
|
|
|
|
|
ways you can enable Transient Mark mode and activate the mark, for one
|
|
|
|
|
command only.
|
2004-05-01 22:39:27 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
One method is to type C-SPC C-SPC; this enables Transient Mark mode
|
|
|
|
|
and sets the mark at point. The other method is to type C-u C-x C-x.
|
|
|
|
|
This enables Transient Mark mode temporarily but does not alter the
|
|
|
|
|
mark or the region.
|
2004-05-01 22:39:27 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
After these commands, Transient Mark mode remains enabled until you
|
|
|
|
|
deactivate the mark. That typically happens when you type a command
|
|
|
|
|
that alters the buffer, but you can also deactivate the mark by typing
|
|
|
|
|
C-g.
|
2004-04-24 23:29:39 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Movement commands `beginning-of-buffer', `end-of-buffer',
|
|
|
|
|
`beginning-of-defun', `end-of-defun' do not set the mark if the mark
|
|
|
|
|
is already active in Transient Mark mode.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Help command changes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Changes in C-h bindings:
|
|
|
|
|
|
|
|
|
|
C-h e displays the *Messages* buffer.
|
|
|
|
|
|
2005-11-12 00:58:11 +00:00
|
|
|
|
C-h d runs apropos-documentation.
|
|
|
|
|
|
2006-07-09 02:08:14 +00:00
|
|
|
|
C-h r visits the Emacs Manual in Info.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
C-h followed by a control character is used for displaying files
|
|
|
|
|
that do not change:
|
|
|
|
|
|
|
|
|
|
C-h C-f displays the FAQ.
|
|
|
|
|
C-h C-e displays the PROBLEMS file.
|
|
|
|
|
|
|
|
|
|
The info-search bindings on C-h C-f, C-h C-k and C-h C-i
|
|
|
|
|
have been moved to C-h F, C-h K and C-h S.
|
|
|
|
|
|
|
|
|
|
C-h c, C-h k, C-h w, and C-h f now handle remapped interactive commands.
|
|
|
|
|
- C-h c and C-h k report the actual command (after possible remapping)
|
|
|
|
|
run by the key sequence.
|
|
|
|
|
- C-h w and C-h f on a command which has been remapped now report the
|
|
|
|
|
command it is remapped to, and the keys which can be used to run
|
|
|
|
|
that command.
|
|
|
|
|
|
|
|
|
|
For example, if C-k is bound to kill-line, and kill-line is remapped
|
|
|
|
|
to new-kill-line, these commands now report:
|
|
|
|
|
- C-h c and C-h k C-k reports:
|
|
|
|
|
C-k runs the command new-kill-line
|
|
|
|
|
- C-h w and C-h f kill-line reports:
|
|
|
|
|
kill-line is remapped to new-kill-line which is on C-k, <deleteline>
|
|
|
|
|
- C-h w and C-h f new-kill-line reports:
|
|
|
|
|
new-kill-line is on C-k
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Help commands `describe-function' and `describe-key' now show function
|
|
|
|
|
arguments in lowercase italics on displays that support it. To change the
|
|
|
|
|
default, customize face `help-argument-name' or redefine the function
|
|
|
|
|
`help-default-arg-highlight'.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** C-h v and C-h f commands now include a hyperlink to the C source for
|
|
|
|
|
variables and functions defined in C (if the C source is available).
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Help mode now only makes hyperlinks for faces when the face name is
|
|
|
|
|
preceded or followed by the word `face'. It no longer makes
|
|
|
|
|
hyperlinks for variables without variable documentation, unless
|
|
|
|
|
preceded by one of the words `variable' or `option'. It now makes
|
|
|
|
|
hyperlinks to Info anchors (or nodes) if the anchor (or node) name is
|
|
|
|
|
enclosed in single quotes and preceded by `info anchor' or `Info
|
2005-10-28 21:37:34 +00:00
|
|
|
|
anchor' (in addition to earlier `info node' and `Info node'). In
|
|
|
|
|
addition, it now makes hyperlinks to URLs as well if the URL is
|
|
|
|
|
enclosed in single quotes and preceded by `URL'.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new command `describe-char' (C-u C-x =) pops up a buffer with
|
|
|
|
|
description various information about a character, including its
|
|
|
|
|
encodings and syntax, its text properties, how to input, overlays, and
|
|
|
|
|
widgets at point. You can get more information about some of them, by
|
|
|
|
|
clicking on mouse-sensitive areas or moving there and pressing RET.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The command `list-text-properties-at' has been deleted because
|
|
|
|
|
C-u C-x = gives the same information and more.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New command `display-local-help' displays any local help at point
|
|
|
|
|
in the echo area. It is bound to `C-h .'. It normally displays the
|
|
|
|
|
same string that would be displayed on mouse-over using the
|
|
|
|
|
`help-echo' property, but, in certain cases, it can display a more
|
|
|
|
|
keyboard oriented alternative.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New user option `help-at-pt-display-when-idle' allows to
|
|
|
|
|
automatically show the help provided by `display-local-help' on
|
|
|
|
|
point-over, after suitable idle time. The amount of idle time is
|
|
|
|
|
determined by the user option `help-at-pt-timer-delay' and defaults
|
|
|
|
|
to one second. This feature is turned off by default.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The apropos commands now accept a list of words to match.
|
|
|
|
|
When more than one word is specified, at least two of those words must
|
|
|
|
|
be present for an item to match. Regular expression matching is still
|
|
|
|
|
available.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The new option `apropos-sort-by-scores' causes the matching items
|
|
|
|
|
to be sorted according to their score. The score for an item is a
|
|
|
|
|
number calculated to indicate how well the item matches the words or
|
|
|
|
|
regular expression that you entered to the apropos command. The best
|
|
|
|
|
match is listed first, and the calculated score is shown for each
|
|
|
|
|
matching item.
|
|
|
|
|
|
|
|
|
|
** Incremental Search changes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Vertical scrolling is now possible within incremental search.
|
|
|
|
|
To enable this feature, customize the new user option
|
|
|
|
|
`isearch-allow-scroll'. User written commands which satisfy stringent
|
|
|
|
|
constraints can be marked as "scrolling commands". See the Emacs manual
|
|
|
|
|
for details.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** C-w in incremental search now grabs either a character or a word,
|
|
|
|
|
making the decision in a heuristic way. This new job is done by the
|
|
|
|
|
command `isearch-yank-word-or-char'. To restore the old behavior,
|
|
|
|
|
bind C-w to `isearch-yank-word' in `isearch-mode-map'.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** C-y in incremental search now grabs the next line if point is already
|
|
|
|
|
at the end of a line.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** C-M-w deletes and C-M-y grabs a character in isearch mode.
|
|
|
|
|
Another method to grab a character is to enter the minibuffer by `M-e'
|
|
|
|
|
and to type `C-f' at the end of the search string in the minibuffer.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** M-% typed in isearch mode invokes `query-replace' or
|
|
|
|
|
`query-replace-regexp' (depending on search mode) with the current
|
|
|
|
|
search string used as the string to replace.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Isearch no longer adds `isearch-resume' commands to the command
|
|
|
|
|
history by default. To enable this feature, customize the new
|
|
|
|
|
user option `isearch-resume-in-command-history'.
|
|
|
|
|
|
|
|
|
|
** Replace command changes:
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** New user option `query-replace-skip-read-only': when non-nil,
|
|
|
|
|
`query-replace' and related functions simply ignore
|
|
|
|
|
a match if part of it has a read-only property.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
*** When used interactively, the commands `query-replace-regexp' and
|
|
|
|
|
`replace-regexp' allow \,expr to be used in a replacement string,
|
|
|
|
|
where expr is an arbitrary Lisp expression evaluated at replacement
|
|
|
|
|
time. In many cases, this will be more convenient than using
|
|
|
|
|
`query-replace-regexp-eval'. `\#' in a replacement string now refers
|
|
|
|
|
to the count of replacements already made by the replacement command.
|
|
|
|
|
All regular expression replacement commands now allow `\?' in the
|
|
|
|
|
replacement string to specify a position where the replacement string
|
|
|
|
|
can be edited for each replacement.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
*** query-replace uses isearch lazy highlighting when the new user option
|
|
|
|
|
`query-replace-lazy-highlight' is non-nil.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
---
|
|
|
|
|
*** The current match in query-replace is highlighted in new face
|
|
|
|
|
`query-replace' which by default inherits from isearch face.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2006-05-10 01:38:16 +00:00
|
|
|
|
** Local variables lists:
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
*** In processing a local variables list, Emacs strips the prefix and
|
2006-01-06 12:13:43 +00:00
|
|
|
|
suffix from every line before processing all the lines.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2006-05-10 01:38:16 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Text properties in local variables.
|
|
|
|
|
|
|
|
|
|
A file local variables list cannot specify a string with text
|
|
|
|
|
properties--any specified text properties are discarded.
|
|
|
|
|
|
2006-02-14 14:44:32 +00:00
|
|
|
|
+++
|
|
|
|
|
*** 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').
|
|
|
|
|
|
2006-05-10 01:38:16 +00:00
|
|
|
|
At the prompt, you can choose to save the contents of this local
|
2006-02-14 14:44:32 +00:00
|
|
|
|
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.
|
|
|
|
|
|
2006-05-10 01:38:16 +00:00
|
|
|
|
+++
|
|
|
|
|
*** 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.
|
2006-06-11 14:53:37 +00:00
|
|
|
|
:all means set all variables, whether or not they are safe.
|
2006-05-10 01:38:16 +00:00
|
|
|
|
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
|
|
|
|
|
specification. Normally Emacs asks for confirmation before evaluating
|
|
|
|
|
such a form, but if the form appears in this list, no confirmation is
|
|
|
|
|
needed.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** If a function has a non-nil `safe-local-eval-function' property,
|
|
|
|
|
that means it is ok to evaluate some calls to that function when it
|
|
|
|
|
appears in an `eval' local variables specification. If the property
|
|
|
|
|
is t, then any form calling that function with constant arguments is
|
|
|
|
|
ok. If the property is a function or list of functions, they are called
|
|
|
|
|
with the form as argument, and if any returns t, the form is ok to call.
|
|
|
|
|
|
|
|
|
|
If the form is not "ok to call", that means Emacs asks for
|
|
|
|
|
confirmation as before.
|
|
|
|
|
|
|
|
|
|
** File operation changes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Unquoted `$' in file names do not signal an error any more when
|
|
|
|
|
the corresponding environment variable does not exist.
|
|
|
|
|
Instead, the `$ENVVAR' text is left as is, so that `$$' quoting
|
|
|
|
|
is only rarely needed.
|
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** find-file-read-only visits multiple files in read-only mode,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
when the file name contains wildcard characters.
|
2004-04-21 21:39:26 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** find-alternate-file replaces the current file with multiple files,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
when the file name contains wildcard characters.
|
2004-04-21 21:45:15 +00:00
|
|
|
|
|
2005-04-11 16:46:05 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** Auto Compression mode is now enabled by default.
|
2004-04-13 22:24:34 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** C-x C-f RET, typing nothing in the minibuffer, is no longer a special case.
|
2005-04-10 23:38:37 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Since the default input is the current directory, this has the effect
|
|
|
|
|
of specifying the current directory. Normally that means to visit the
|
|
|
|
|
directory with Dired.
|
2005-04-10 23:38:37 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** When you are root, and you visit a file whose modes specify
|
2005-05-02 20:58:54 +00:00
|
|
|
|
read-only, the Emacs buffer is now read-only too. Type C-x C-q if you
|
|
|
|
|
want to make the buffer writable. (As root, you can in fact alter the
|
|
|
|
|
file.)
|
2004-04-13 22:24:34 +00:00
|
|
|
|
|
2005-03-05 04:44:12 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** C-x s (save-some-buffers) now offers an option `d' to diff a buffer
|
2005-05-02 20:58:54 +00:00
|
|
|
|
against its file, so you can see what changes you would be saving.
|
2005-03-05 04:44:12 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The commands copy-file, rename-file, make-symbolic-link and
|
2005-05-02 20:58:54 +00:00
|
|
|
|
add-name-to-file, when given a directory as the "new name" argument,
|
|
|
|
|
convert it to a file name by merging in the within-directory part of
|
|
|
|
|
the existing file's name. (This is the same convention that shell
|
|
|
|
|
commands cp, mv, and ln follow.) Thus, M-x copy-file RET ~/foo RET
|
|
|
|
|
/tmp RET copies ~/foo to /tmp/foo.
|
2004-04-07 19:39:45 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** When used interactively, `format-write-file' now asks for confirmation
|
2004-04-05 02:09:28 +00:00
|
|
|
|
before overwriting an existing file, unless a prefix argument is
|
|
|
|
|
supplied. This behavior is analogous to `write-file'.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The variable `auto-save-file-name-transforms' now has a third element that
|
2005-05-02 20:58:54 +00:00
|
|
|
|
controls whether or not the function `make-auto-save-file-name' will
|
|
|
|
|
attempt to construct a unique auto-save name (e.g. for remote files).
|
2004-08-26 01:47:55 +00:00
|
|
|
|
|
2005-09-14 20:20:18 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new option `write-region-inhibit-fsync' disables calls to fsync
|
|
|
|
|
in `write-region'. This can be useful on laptops to avoid spinning up
|
|
|
|
|
the hard drive upon each file save. Enabling this variable may result
|
|
|
|
|
in data loss, use with care.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
|
|
|
|
*** If the user visits a file larger than `large-file-warning-threshold',
|
2005-05-08 23:02:44 +00:00
|
|
|
|
Emacs asks for confirmation.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** require-final-newline now has two new possible values:
|
|
|
|
|
|
|
|
|
|
`visit' means add a newline (as an undoable change) if it's needed
|
|
|
|
|
when visiting the file.
|
|
|
|
|
|
|
|
|
|
`visit-save' means add a newline (as an undoable change) if it's
|
|
|
|
|
needed when visiting the file, and also add a newline if it's needed
|
|
|
|
|
when saving the file.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new option mode-require-final-newline controls how certain
|
|
|
|
|
major modes enable require-final-newline. Any major mode that's
|
|
|
|
|
designed for a kind of file that should normally end in a newline
|
|
|
|
|
sets require-final-newline based on mode-require-final-newline.
|
|
|
|
|
So you can customize mode-require-final-newline to control what these
|
|
|
|
|
modes do.
|
|
|
|
|
|
|
|
|
|
** Minibuffer changes:
|
2004-04-04 02:01:19 +00:00
|
|
|
|
|
2005-11-17 02:54:23 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new file-name-shadow-mode is turned ON by default, so that when
|
|
|
|
|
entering a file name, any prefix which Emacs will ignore is dimmed.
|
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** There's a new face `minibuffer-prompt'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Emacs adds this face to the list of text properties stored in the
|
|
|
|
|
variable `minibuffer-prompt-properties', which is used to display the
|
|
|
|
|
prompt string.
|
2004-04-04 02:01:19 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
---
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Enhanced visual feedback in `*Completions*' buffer.
|
2004-03-29 19:54:16 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Completions lists use faces to highlight what all completions
|
|
|
|
|
have in common and where they begin to differ.
|
2004-04-01 10:48:40 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The common prefix shared by all possible completions uses the face
|
|
|
|
|
`completions-common-part', while the first character that isn't the
|
|
|
|
|
same uses the face `completions-first-difference'. By default,
|
|
|
|
|
`completions-common-part' inherits from `default', and
|
|
|
|
|
`completions-first-difference' inherits from `bold'. The idea of
|
|
|
|
|
`completions-common-part' is that you can use it to make the common
|
|
|
|
|
parts less visible than normal, so that the rest of the differing
|
|
|
|
|
parts is, by contrast, slightly highlighted.
|
2004-03-12 13:56:49 +00:00
|
|
|
|
|
2005-10-18 04:14:36 +00:00
|
|
|
|
Above fontification is always done when listing completions is
|
|
|
|
|
triggered at minibuffer. If you want to fontify completions whose
|
|
|
|
|
listing is triggered at the other normal buffer, you have to pass
|
|
|
|
|
the common prefix of completions to `display-completion-list' as
|
|
|
|
|
its second argument.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** File-name completion can now ignore specified directories.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
If an element of the list in `completion-ignored-extensions' ends in a
|
|
|
|
|
slash `/', it indicates a subdirectory that should be ignored when
|
|
|
|
|
completing file names. Elements of `completion-ignored-extensions'
|
|
|
|
|
which do not end in a slash are never considered when a completion
|
|
|
|
|
candidate is a directory.
|
2004-03-12 13:56:49 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The completion commands TAB, SPC and ? in the minibuffer apply only
|
2005-05-02 20:58:54 +00:00
|
|
|
|
to the text before point. If there is text in the buffer after point,
|
|
|
|
|
it remains unchanged.
|
2004-09-08 20:31:41 +00:00
|
|
|
|
|
2004-09-20 16:19:49 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** New user option `history-delete-duplicates'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
If set to t when adding a new history element, all previous identical
|
2006-05-25 21:53:31 +00:00
|
|
|
|
elements are deleted from the history list.
|
2004-09-08 20:31:41 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Redisplay changes:
|
2005-05-07 00:07:03 +00:00
|
|
|
|
|
2006-06-12 22:44:25 +00:00
|
|
|
|
+++
|
2006-06-13 06:41:55 +00:00
|
|
|
|
*** Preemptive redisplay now adapts to current load and bandwidth.
|
2006-06-12 22:44:25 +00:00
|
|
|
|
|
2006-06-13 06:41:55 +00:00
|
|
|
|
To avoid preempting redisplay on fast computers, networks, and displays,
|
2006-06-12 22:44:25 +00:00
|
|
|
|
the arrival of new input is now performed at regular intervals during
|
|
|
|
|
redisplay. The new variable `redisplay-preemption-period' specifies
|
|
|
|
|
the period; the default is to check for input every 0.1 seconds.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The mode line position information now comes before the major mode.
|
|
|
|
|
When the file is maintained under version control, that information
|
|
|
|
|
appears between the position information and the major mode.
|
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New face `escape-glyph' highlights control characters and escape glyphs.
|
2004-09-08 20:31:41 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-06-23 21:48:25 +00:00
|
|
|
|
*** Non-breaking space and hyphens are now displayed with a special
|
|
|
|
|
face, either nobreak-space or escape-glyph. You can turn this off or
|
|
|
|
|
specify a different mode by setting the variable `nobreak-char-display'.
|
2004-09-08 20:31:41 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The parameters of automatic hscrolling can now be customized.
|
|
|
|
|
The variable `hscroll-margin' determines how many columns away from
|
|
|
|
|
the window edge point is allowed to get before automatic hscrolling
|
|
|
|
|
will horizontally scroll the window. The default value is 5.
|
|
|
|
|
|
|
|
|
|
The variable `hscroll-step' determines how many columns automatic
|
|
|
|
|
hscrolling scrolls the window when point gets too close to the
|
|
|
|
|
window edge. If its value is zero, the default, Emacs scrolls the
|
|
|
|
|
window so as to center point. If its value is an integer, it says how
|
|
|
|
|
many columns to scroll. If the value is a floating-point number, it
|
|
|
|
|
gives the fraction of the window's width to scroll the window.
|
|
|
|
|
|
|
|
|
|
The variable `automatic-hscrolling' was renamed to
|
|
|
|
|
`auto-hscroll-mode'. The old name is still available as an alias.
|
2005-05-03 21:14:05 +00:00
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
---
|
2006-01-06 12:13:43 +00:00
|
|
|
|
*** Moving or scrolling through images (and other lines) taller than
|
2005-05-09 21:02:37 +00:00
|
|
|
|
the window now works sensibly, by automatically adjusting the window's
|
2005-05-02 20:58:54 +00:00
|
|
|
|
vscroll property.
|
2004-09-08 20:31:41 +00:00
|
|
|
|
|
2006-08-24 21:18:13 +00:00
|
|
|
|
*** New customize option `overline-margin' controls the space between
|
|
|
|
|
overline and text.
|
|
|
|
|
|
|
|
|
|
*** New variable `x-underline-at-descent-line' controls the relative
|
|
|
|
|
position of the underline. When set, it overrides the
|
|
|
|
|
`x-use-underline-position-properties' variables.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new face `mode-line-inactive' is used to display the mode line
|
|
|
|
|
of non-selected windows. The `mode-line' face is now used to display
|
|
|
|
|
the mode line of the currently selected window.
|
2004-03-12 13:56:49 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
The new variable `mode-line-in-non-selected-windows' controls whether
|
|
|
|
|
the `mode-line-inactive' face is used.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** You can now customize the use of window fringes. To control this
|
|
|
|
|
for all frames, use M-x fringe-mode or the Show/Hide submenu of the
|
|
|
|
|
top-level Options menu, or customize the `fringe-mode' variable. To
|
|
|
|
|
control this for a specific frame, use the command M-x
|
|
|
|
|
set-fringe-style.
|
2004-04-11 09:58:19 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** Angle icons in the fringes can indicate the buffer boundaries. In
|
|
|
|
|
addition, up and down arrow bitmaps in the fringe indicate which ways
|
|
|
|
|
the window can be scrolled.
|
2004-03-27 11:44:58 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
This behavior is activated by setting the buffer-local variable
|
|
|
|
|
`indicate-buffer-boundaries' to a non-nil value. The default value of
|
|
|
|
|
this variable is found in `default-indicate-buffer-boundaries'.
|
2004-09-04 13:13:48 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
If value is `left' or `right', both angle and arrow bitmaps are
|
|
|
|
|
displayed in the left or right fringe, resp.
|
2004-09-04 13:13:48 +00:00
|
|
|
|
|
2005-05-24 15:30:58 +00:00
|
|
|
|
The value can also be an alist which specifies the presence and
|
2005-05-08 23:02:44 +00:00
|
|
|
|
position of each bitmap individually.
|
2004-09-04 13:13:48 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
For example, ((top . left) (t . right)) places the top angle bitmap
|
|
|
|
|
in left fringe, the bottom angle bitmap in right fringe, and both
|
|
|
|
|
arrow bitmaps in right fringe. To show just the angle bitmaps in the
|
|
|
|
|
left fringe, but no arrow bitmaps, use ((top . left) (bottom . left)).
|
2004-06-10 20:33:06 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** On window systems, lines which are exactly as wide as the window
|
|
|
|
|
(not counting the final newline character) are no longer broken into
|
|
|
|
|
two lines on the display (with just the newline on the second line).
|
|
|
|
|
Instead, the newline now "overflows" into the right fringe, and the
|
|
|
|
|
cursor will be displayed in the fringe when positioned on that newline.
|
2004-06-10 20:33:06 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
The new user option 'overflow-newline-into-fringe' can be set to nil to
|
2005-05-02 21:35:52 +00:00
|
|
|
|
revert to the old behavior of continuing such lines.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** When a window has display margin areas, the fringes are now
|
2005-05-02 21:35:52 +00:00
|
|
|
|
displayed between the margins and the buffer's text area, rather than
|
2005-05-08 23:02:44 +00:00
|
|
|
|
outside those margins.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** A window can now have individual fringe and scroll-bar settings,
|
2005-05-02 21:35:52 +00:00
|
|
|
|
in addition to the individual display margin settings.
|
|
|
|
|
|
|
|
|
|
Such individual settings are now preserved when windows are split
|
|
|
|
|
horizontally or vertically, a saved window configuration is restored,
|
|
|
|
|
or when the frame is resized.
|
|
|
|
|
|
2006-10-13 14:26:25 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The %c and %l constructs are now ignored in frame-title-format.
|
|
|
|
|
Due to technical limitations in how Emacs interacts with windowing
|
|
|
|
|
systems, these constructs often failed to render properly, and could
|
|
|
|
|
even cause Emacs to crash.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Cursor display changes:
|
2004-06-10 20:33:06 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** On X, MS Windows, and Mac OS, the blinking cursor's "off" state is
|
2005-05-02 20:58:54 +00:00
|
|
|
|
now controlled by the variable `blink-cursor-alist'.
|
2005-01-07 20:25:00 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The X resource cursorBlink can be used to turn off cursor blinking.
|
2004-06-10 20:33:06 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** Emacs can produce an underscore-like (horizontal bar) cursor.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The underscore cursor is set by putting `(cursor-type . hbar)' in
|
|
|
|
|
default-frame-alist. It supports variable heights, like the `bar'
|
|
|
|
|
cursor does.
|
2004-06-10 20:33:06 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** Display of hollow cursors now obeys the buffer-local value (if any)
|
2005-05-02 20:58:54 +00:00
|
|
|
|
of `cursor-in-non-selected-windows' in the buffer that the cursor
|
|
|
|
|
appears in.
|
2004-06-10 20:33:06 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The variable `cursor-in-non-selected-windows' can now be set to any
|
2005-05-02 20:58:54 +00:00
|
|
|
|
of the recognized cursor types.
|
2004-06-10 20:33:06 +00:00
|
|
|
|
|
2005-12-30 22:06:05 +00:00
|
|
|
|
+++
|
2005-12-31 11:56:21 +00:00
|
|
|
|
*** On text terminals, the variable `visible-cursor' controls whether Emacs
|
2005-12-30 22:06:05 +00:00
|
|
|
|
uses the "very visible" cursor (the default) or the normal cursor.
|
|
|
|
|
|
2005-06-08 03:15:45 +00:00
|
|
|
|
** New faces:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** `mode-line-highlight' is the standard face indicating mouse sensitive
|
|
|
|
|
elements on mode-line (and header-line) like `highlight' face on text
|
|
|
|
|
areas.
|
|
|
|
|
|
2006-01-16 23:57:56 +00:00
|
|
|
|
*** `mode-line-buffer-id' is the standard face for buffer identification
|
|
|
|
|
parts of the mode line.
|
|
|
|
|
|
2005-06-08 03:15:45 +00:00
|
|
|
|
+++
|
|
|
|
|
*** `shadow' face defines the appearance of the "shadowed" text, i.e.
|
|
|
|
|
the text which should be less noticeable than the surrounding text.
|
|
|
|
|
This can be achieved by using shades of grey in contrast with either
|
|
|
|
|
black or white default foreground color. This generic shadow face
|
|
|
|
|
allows customization of the appearance of shadowed text in one place,
|
|
|
|
|
so package-specific faces can inherit from it.
|
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
+++
|
|
|
|
|
*** `vertical-border' face is used for the vertical divider between windows.
|
|
|
|
|
|
2006-09-27 02:38:13 +00:00
|
|
|
|
** ebnf2ps changes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New option `ebnf-arrow-extra-width' which specify extra width for arrow
|
|
|
|
|
shape drawing.
|
|
|
|
|
The extra width is used to avoid that the arrowhead and the terminal border
|
|
|
|
|
overlap. It depens on `ebnf-arrow-shape' and `ebnf-line-width'.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New option `ebnf-arrow-scale' which specify the arrow scale.
|
|
|
|
|
Values lower than 1.0, shrink the arrow.
|
|
|
|
|
Values greater than 1.0, expand the arrow.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Font-Lock changes:
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** M-o now is the prefix key for setting text properties;
|
|
|
|
|
M-o M-o requests refontification.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** All modes now support using M-x font-lock-mode to toggle
|
|
|
|
|
fontification, even those such as Occur, Info, and comint-derived
|
|
|
|
|
modes that do their own fontification in a special way.
|
|
|
|
|
|
|
|
|
|
The variable `Info-fontify' is no longer applicable; to disable
|
|
|
|
|
fontification in Info, remove `turn-on-font-lock' from
|
|
|
|
|
`Info-mode-hook'.
|
|
|
|
|
|
|
|
|
|
+++
|
2006-09-10 13:48:42 +00:00
|
|
|
|
*** Font-Lock mode: in major modes such as Lisp mode, where some Emacs
|
|
|
|
|
features assume that an open-paren in column 0 is always outside of
|
|
|
|
|
any string or comment, Font-Lock now highlights any such open-paren in
|
|
|
|
|
bold-red if it is inside a string or a comment, to indicate that it
|
|
|
|
|
can cause trouble. You should rewrite the string or comment so that
|
|
|
|
|
the open-paren is not in column 0.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New standard font-lock face `font-lock-preprocessor-face'.
|
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New standard font-lock face `font-lock-comment-delimiter-face'.
|
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2005-05-18 08:00:50 +00:00
|
|
|
|
*** Easy to overlook single character negation can now be font-locked.
|
2005-05-14 13:58:01 +00:00
|
|
|
|
You can use the new variable `font-lock-negation-char-face' and the face of
|
|
|
|
|
the same name to customize this. Currently the cc-modes, sh-script-mode,
|
|
|
|
|
cperl-mode and make-mode support this.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The default settings for JIT stealth lock parameters are changed.
|
|
|
|
|
The default value for the user option jit-lock-stealth-time is now 16
|
|
|
|
|
instead of 3, and the default value of jit-lock-stealth-nice is now
|
|
|
|
|
0.5 instead of 0.125. The new defaults should lower the CPU usage
|
|
|
|
|
when Emacs is fontifying in the background.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** jit-lock can now be delayed with `jit-lock-defer-time'.
|
|
|
|
|
|
|
|
|
|
If this variable is non-nil, its value should be the amount of Emacs
|
|
|
|
|
idle time in seconds to wait before starting fontification. For
|
|
|
|
|
example, if you set `jit-lock-defer-time' to 0.25, fontification will
|
|
|
|
|
only happen after 0.25s of idle time.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** contextual refontification is now separate from stealth fontification.
|
|
|
|
|
|
|
|
|
|
jit-lock-defer-contextually is renamed jit-lock-contextually and
|
|
|
|
|
jit-lock-context-time determines the delay after which contextual
|
|
|
|
|
refontification takes place.
|
|
|
|
|
|
2006-12-01 13:36:26 +00:00
|
|
|
|
---
|
|
|
|
|
*** lazy-lock is considered obsolete.
|
|
|
|
|
|
|
|
|
|
The `lazy-lock' package is superseded by `jit-lock' and is considered
|
|
|
|
|
obsolete. `jit-lock' is activated by default; if you wish to continue
|
|
|
|
|
using `lazy-lock', activate it in your ~/.emacs like this:
|
|
|
|
|
|
|
|
|
|
(setq font-lock-support-mode 'lazy-lock-mode)
|
|
|
|
|
|
|
|
|
|
If you invoke `lazy-lock-mode' directly rather than through
|
|
|
|
|
`font-lock-support-mode', it now issues a warning:
|
|
|
|
|
|
|
|
|
|
"Use font-lock-support-mode rather than calling lazy-lock-mode"
|
|
|
|
|
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Menu support:
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** A menu item "Show/Hide" was added to the top-level menu "Options".
|
|
|
|
|
This menu allows you to turn various display features on and off (such
|
|
|
|
|
as the fringes, the tool bar, the speedbar, and the menu bar itself).
|
|
|
|
|
You can also move the vertical scroll bar to either side here or turn
|
|
|
|
|
it off completely. There is also a menu-item to toggle displaying of
|
2005-08-09 22:24:18 +00:00
|
|
|
|
current date and time, current line and column number in the mode-line.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Speedbar has moved from the "Tools" top level menu to "Show/Hide".
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** You can exit dialog windows and menus by typing C-g.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** The menu item "Open File..." has been split into two items, "New File..."
|
|
|
|
|
and "Open File...". "Open File..." now opens only existing files. This is
|
|
|
|
|
to support existing GUI file selection dialogs better.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The file selection dialog for Gtk+, Mac, W32 and Motif/Lesstif can be
|
|
|
|
|
disabled by customizing the variable `use-file-dialog'.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** The pop up menus for Lucid now stay up if you do a fast click and can
|
|
|
|
|
be navigated with the arrow keys (like Gtk+, Mac and W32).
|
|
|
|
|
|
2006-05-29 07:13:57 +00:00
|
|
|
|
+++
|
2006-05-31 02:10:40 +00:00
|
|
|
|
*** The menu bar for Motif/Lesstif/Lucid/Gtk+ can be navigated with keys.
|
2006-05-29 07:13:57 +00:00
|
|
|
|
Pressing F10 shows the first menu in the menu bar. Navigation is done with
|
|
|
|
|
the arrow keys, select with the return key and cancel with the escape keys.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The Lucid menus can display multilingual text in your locale. You have
|
|
|
|
|
to explicitly specify a fontSet resource for this to work, for example
|
|
|
|
|
`-xrm "Emacs*fontSet: -*-helvetica-medium-r-*--*-120-*-*-*-*-*-*,*"'.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Dialogs for Lucid/Athena and Lesstif/Motif now pops down when pressing
|
|
|
|
|
ESC, like they do for Gtk+, Mac and W32.
|
|
|
|
|
|
|
|
|
|
+++
|
2006-02-14 11:40:14 +00:00
|
|
|
|
*** For the Gtk+ version, you can make Emacs use the old file dialog
|
2006-09-18 16:42:52 +00:00
|
|
|
|
by setting the variable `x-gtk-use-old-file-dialog' to t. Default is to use
|
2005-05-09 21:02:37 +00:00
|
|
|
|
the new dialog.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Mouse changes:
|
2004-02-21 14:17:30 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-08-15 14:51:27 +00:00
|
|
|
|
*** If you set the new variable `mouse-autoselect-window' to a non-nil
|
|
|
|
|
value, windows are automatically selected as you move the mouse from
|
|
|
|
|
one Emacs window to another, even within a frame. A minibuffer window
|
|
|
|
|
can be selected only when it is active.
|
2004-03-11 18:46:47 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** On X, when the window manager requires that you click on a frame to
|
2005-05-02 20:58:54 +00:00
|
|
|
|
select it (give it focus), the selected window and cursor position
|
|
|
|
|
normally changes according to the mouse click position. If you set
|
|
|
|
|
the variable x-mouse-click-focus-ignore-position to t, the selected
|
|
|
|
|
window and cursor position do not change when you click on a frame
|
|
|
|
|
to give it focus.
|
2004-03-11 18:46:47 +00:00
|
|
|
|
|
2004-09-22 23:12:22 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** You can now follow links by clicking Mouse-1 on the link.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
Traditionally, Emacs uses a Mouse-1 click to set point and a Mouse-2
|
|
|
|
|
click to follow a link, whereas most other applications use a Mouse-1
|
|
|
|
|
click for both purposes, depending on whether you click outside or
|
|
|
|
|
inside a link. Now the behavior of a Mouse-1 click has been changed
|
2005-05-07 19:48:04 +00:00
|
|
|
|
to match this context-sentitive dual behavior. (If you prefer the old
|
|
|
|
|
behavior, set the user option `mouse-1-click-follows-link' to nil.)
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
Depending on the current mode, a Mouse-2 click in Emacs can do much
|
2005-05-02 20:58:54 +00:00
|
|
|
|
more than just follow a link, so the new Mouse-1 behavior is only
|
|
|
|
|
activated for modes which explicitly mark a clickable text as a "link"
|
|
|
|
|
(see the new function `mouse-on-link-p' for details). The Lisp
|
|
|
|
|
packages that are included in release 22.1 have been adapted to do
|
|
|
|
|
this, but external packages may not yet support this. However, there
|
|
|
|
|
is no risk in using such packages, as the worst thing that could
|
|
|
|
|
happen is that you get the original Mouse-1 behavior when you click
|
|
|
|
|
on a link, which typically means that you set point where you click.
|
|
|
|
|
|
|
|
|
|
If you want to get the original Mouse-1 action also inside a link, you
|
|
|
|
|
just need to press the Mouse-1 button a little longer than a normal
|
|
|
|
|
click (i.e. press and hold the Mouse-1 button for half a second before
|
|
|
|
|
you release it).
|
|
|
|
|
|
|
|
|
|
Dragging the Mouse-1 inside a link still performs the original
|
|
|
|
|
drag-mouse-1 action, typically copy the text.
|
|
|
|
|
|
|
|
|
|
You can customize the new Mouse-1 behavior via the new user options
|
|
|
|
|
`mouse-1-click-follows-link' and `mouse-1-click-in-non-selected-windows'.
|
2004-04-11 09:58:19 +00:00
|
|
|
|
|
2005-04-30 20:34:12 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** Emacs normally highlights mouse sensitive text whenever the mouse
|
2005-05-02 20:58:54 +00:00
|
|
|
|
is over the text. By setting the new variable `mouse-highlight', you
|
|
|
|
|
can optionally enable mouse highlighting only after you move the
|
|
|
|
|
mouse, so that highlighting disappears when you press a key. You can
|
|
|
|
|
also disable mouse highlighting.
|
2004-06-12 06:09:32 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** You can now customize if selecting a region by dragging the mouse
|
2005-05-02 20:58:54 +00:00
|
|
|
|
shall not copy the selected text to the kill-ring by setting the new
|
|
|
|
|
variable mouse-drag-copy-region to nil.
|
|
|
|
|
|
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** mouse-wheels can now scroll a specific fraction of the window
|
2005-05-02 20:58:54 +00:00
|
|
|
|
(rather than a fixed number of lines) and the scrolling is `progressive'.
|
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** Emacs ignores mouse-2 clicks while the mouse wheel is being moved.
|
|
|
|
|
|
|
|
|
|
People tend to push the mouse wheel (which counts as a mouse-2 click)
|
|
|
|
|
unintentionally while turning the wheel, so these clicks are now
|
|
|
|
|
ignored. You can customize this with the mouse-wheel-click-event and
|
2005-05-02 20:58:54 +00:00
|
|
|
|
mouse-wheel-inhibit-click-time variables.
|
2004-04-11 09:58:19 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** Under X, mouse-wheel-mode is turned on by default.
|
2004-04-11 09:58:19 +00:00
|
|
|
|
|
2005-08-15 14:51:27 +00:00
|
|
|
|
** Multilingual Environment (Mule) changes:
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2006-06-07 01:19:58 +00:00
|
|
|
|
*** You can disable character translation for a file using the -*-
|
|
|
|
|
construct. Include `enable-character-translation: nil' inside the
|
|
|
|
|
-*-...-*- to disable any character translation that may happen by
|
|
|
|
|
various global and per-coding-system translation tables. You can also
|
|
|
|
|
specify it in a local variable list at the end of the file. For
|
|
|
|
|
shortcut, instead of using this long variable name, you can append the
|
|
|
|
|
character "!" at the end of coding-system name specified in -*-
|
2006-06-07 11:04:22 +00:00
|
|
|
|
construct or in a local variable list. For example, if a file has the
|
|
|
|
|
following header, it is decoded by the coding system `iso-latin-1'
|
|
|
|
|
without any character translation:
|
|
|
|
|
;; -*- coding: iso-latin-1!; -*-
|
2006-06-07 01:19:58 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** Language environment and various default coding systems are setup
|
2005-05-02 20:58:54 +00:00
|
|
|
|
more correctly according to the current locale name. If the locale
|
|
|
|
|
name doesn't specify a charset, the default is what glibc defines.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
This change can result in using the different coding systems as
|
2005-05-02 20:58:54 +00:00
|
|
|
|
default in some locale (e.g. vi_VN).
|
2004-06-10 20:33:06 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The keyboard-coding-system is now automatically set based on your
|
2005-05-02 20:58:54 +00:00
|
|
|
|
current locale settings if you are not using a window system. This
|
2005-05-08 23:02:44 +00:00
|
|
|
|
can mean that the META key doesn't work but generates non-ASCII
|
2005-05-02 20:58:54 +00:00
|
|
|
|
characters instead, depending on how the terminal (or terminal
|
|
|
|
|
emulator) works. Use `set-keyboard-coding-system' (or customize
|
|
|
|
|
keyboard-coding-system) if you prefer META to work (the old default)
|
|
|
|
|
or if the locale doesn't describe the character set actually generated
|
2006-11-28 20:14:52 +00:00
|
|
|
|
by the keyboard. See Info node `Unibyte Mode'.
|
2004-12-13 05:19:18 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The new command `revert-buffer-with-coding-system' (C-x RET r)
|
2005-05-02 20:58:54 +00:00
|
|
|
|
revisits the current file using a coding system that you specify.
|
2004-12-13 05:19:18 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** New command `recode-region' decodes the region again by a specified
|
2005-05-02 20:58:54 +00:00
|
|
|
|
coding system.
|
2004-12-13 05:19:18 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The new command `recode-file-name' changes the encoding of the name
|
2005-05-02 20:58:54 +00:00
|
|
|
|
of a file.
|
2004-12-13 05:19:18 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** New command `ucs-insert' inserts a character specified by its
|
2005-05-02 20:58:54 +00:00
|
|
|
|
unicode.
|
2004-12-13 05:19:18 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The new command `set-file-name-coding-system' (C-x RET F) sets
|
2005-05-02 20:58:54 +00:00
|
|
|
|
coding system for encoding and decoding file names. A new menu item
|
|
|
|
|
(Options->Mule->Set Coding Systems->For File Name) invokes this
|
|
|
|
|
command.
|
2004-06-12 06:09:32 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** New command quail-show-key shows what key (or key sequence) to type
|
2005-05-02 20:58:54 +00:00
|
|
|
|
in the current input method to input a character at point.
|
2004-06-12 06:09:32 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** Limited support for character `unification' has been added.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Emacs now knows how to translate between different representations of
|
|
|
|
|
the same characters in various Emacs charsets according to standard
|
|
|
|
|
Unicode mappings. This applies mainly to characters in the ISO 8859
|
|
|
|
|
sets plus some other 8-bit sets, but can be extended. For instance,
|
|
|
|
|
translation works amongst the Emacs ...-iso8859-... charsets and the
|
|
|
|
|
mule-unicode-... ones.
|
2004-06-12 06:09:32 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
By default this translation happens automatically on encoding.
|
|
|
|
|
Self-inserting characters are translated to make the input conformant
|
|
|
|
|
with the encoding of the buffer in which it's being used, where
|
|
|
|
|
possible.
|
2004-06-12 06:09:32 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
You can force a more complete unification with the user option
|
|
|
|
|
unify-8859-on-decoding-mode. That maps all the Latin-N character sets
|
|
|
|
|
into Unicode characters (from the latin-iso8859-1 and
|
|
|
|
|
mule-unicode-0100-24ff charsets) on decoding. Note that this mode
|
|
|
|
|
will often effectively clobber data with an iso-2022 encoding.
|
2004-06-12 06:09:32 +00:00
|
|
|
|
|
2005-03-28 21:30:15 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** There is support for decoding Greek and Cyrillic characters into
|
2005-05-02 20:58:54 +00:00
|
|
|
|
either Unicode (the mule-unicode charsets) or the iso-8859 charsets,
|
|
|
|
|
when possible. The latter are more space-efficient. This is
|
|
|
|
|
controlled by user option utf-fragment-on-decoding.
|
2003-07-02 04:09:52 +00:00
|
|
|
|
|
2005-03-28 21:30:15 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** New language environments: French, Ukrainian, Tajik,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Bulgarian, Belarusian, Ukrainian, UTF-8, Windows-1255, Welsh, Latin-6,
|
|
|
|
|
Latin-7, Lithuanian, Latvian, Swedish, Slovenian, Croatian, Georgian,
|
|
|
|
|
Italian, Russian, Malayalam, Tamil, Russian, Chinese-EUC-TW. (Set up
|
|
|
|
|
automatically according to the locale.)
|
2004-04-11 09:58:19 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** New input methods: latin-alt-postfix, latin-postfix, latin-prefix,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
ukrainian-computer, belarusian, bulgarian-bds, russian-computer,
|
|
|
|
|
vietnamese-telex, lithuanian-numeric, lithuanian-keyboard,
|
|
|
|
|
latvian-keyboard, welsh, georgian, rfc1345, ucs, sgml,
|
|
|
|
|
bulgarian-phonetic, dutch, slovenian, croatian, malayalam-inscript,
|
|
|
|
|
tamil-inscript.
|
2004-04-11 09:58:19 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** New input method chinese-sisheng for inputting Chinese Pinyin
|
2005-05-02 20:58:54 +00:00
|
|
|
|
characters.
|
2003-07-05 12:42:43 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** Improved Thai support. A new minor mode `thai-word-mode' (which is
|
2005-05-02 20:58:54 +00:00
|
|
|
|
automatically activated if you select Thai as a language
|
|
|
|
|
environment) changes key bindings of most word-oriented commands to
|
|
|
|
|
versions which recognize Thai words. Affected commands are
|
|
|
|
|
M-f (forward-word)
|
|
|
|
|
M-b (backward-word)
|
|
|
|
|
M-d (kill-word)
|
|
|
|
|
M-DEL (backward-kill-word)
|
|
|
|
|
M-t (transpose-words)
|
|
|
|
|
M-q (fill-paragraph)
|
2003-07-05 12:42:43 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** Indian support has been updated.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The in-is13194 coding system is now Unicode-based. CDAC fonts are
|
|
|
|
|
assumed. There is a framework for supporting various
|
|
|
|
|
Indian scripts, but currently only Devanagari, Malayalam and Tamil are
|
|
|
|
|
supported.
|
2003-07-05 12:42:43 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** A UTF-7 coding system is available in the library `utf-7'.
|
2003-07-05 12:42:43 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The utf-8/16 coding systems have been enhanced.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
By default, untranslatable utf-8 sequences are simply composed into
|
|
|
|
|
single quasi-characters. User option `utf-translate-cjk-mode' (it is
|
|
|
|
|
turned on by default) arranges to translate many utf-8 CJK character
|
|
|
|
|
sequences into real Emacs characters in a similar way to the Mule-UCS
|
|
|
|
|
system. As this loads a fairly big data on demand, people who are not
|
|
|
|
|
interested in CJK characters may want to customize it to nil.
|
|
|
|
|
You can augment/amend the CJK translation via hash tables
|
|
|
|
|
`ucs-mule-cjk-to-unicode' and `ucs-unicode-to-mule-cjk'. The utf-8
|
|
|
|
|
coding system now also encodes characters from most of Emacs's
|
|
|
|
|
one-dimensional internal charsets, specifically the ISO-8859 ones.
|
|
|
|
|
The utf-16 coding system is affected similarly.
|
2003-07-05 12:42:43 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** A new coding system `euc-tw' has been added for traditional Chinese
|
2005-05-02 20:58:54 +00:00
|
|
|
|
in CNS encoding; it accepts both Big 5 and CNS as input; on saving,
|
|
|
|
|
Big 5 is then converted to CNS.
|
2003-06-05 23:35:23 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-08-05 01:18:52 +00:00
|
|
|
|
*** Many new coding systems are available in the `code-pages' library.
|
|
|
|
|
These include complete versions of most of those in codepage.el, based
|
|
|
|
|
on Unicode mappings. `codepage-setup' is now obsolete and is used
|
|
|
|
|
only in the MS-DOS port of Emacs. All coding systems defined in
|
|
|
|
|
`code-pages' are auto-loaded.
|
2004-10-31 22:25:34 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** New variable `utf-translate-cjk-unicode-range' controls which
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Unicode characters to translate in `utf-translate-cjk-mode'.
|
2004-10-31 22:25:34 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** iso-10646-1 (`Unicode') fonts can be used to display any range of
|
2005-05-02 20:58:54 +00:00
|
|
|
|
characters encodable by the utf-8 coding system. Just specify the
|
|
|
|
|
fontset appropriately.
|
2004-10-31 22:25:34 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Customize changes:
|
2003-09-24 23:52:11 +00:00
|
|
|
|
|
2005-09-06 19:24:32 +00:00
|
|
|
|
+++
|
|
|
|
|
*** 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
|
2006-03-23 07:31:33 +00:00
|
|
|
|
enable-theme to enable a disabled theme.
|
2005-09-06 19:24:32 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The commands M-x customize-face and M-x customize-face-other-window
|
2005-05-02 20:58:54 +00:00
|
|
|
|
now look at the character after point. If a face or faces are
|
|
|
|
|
specified for that character, the commands by default customize those
|
|
|
|
|
faces.
|
2003-05-13 20:15:13 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The face-customization widget has been reworked to be less confusing.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
In particular, when you enable a face attribute using the corresponding
|
|
|
|
|
check-box, there's no longer a redundant `*' option in value selection
|
|
|
|
|
for that attribute; the values you can choose are only those which make
|
|
|
|
|
sense for the attribute. When an attribute is de-selected by unchecking
|
|
|
|
|
its check-box, then the (now ignored, but still present temporarily in
|
|
|
|
|
case you re-select the attribute) value is hidden.
|
2003-05-13 20:15:13 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** When you set or reset a variable's value in a Customize buffer,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
the previous value becomes the "backup value" of the variable.
|
|
|
|
|
You can go back to that backup value by selecting "Use Backup Value"
|
|
|
|
|
under the "[State]" button.
|
2003-05-13 20:15:13 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Buffer Menu changes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New command `Buffer-menu-toggle-files-only' toggles display of file
|
2006-01-06 12:13:43 +00:00
|
|
|
|
buffers only in the Buffer Menu. It is bound to T in Buffer Menu
|
2005-05-08 23:02:44 +00:00
|
|
|
|
mode.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** `buffer-menu' and `list-buffers' now list buffers whose names begin
|
|
|
|
|
with a space, when those buffers are visiting files. Normally buffers
|
|
|
|
|
whose names begin with space are omitted.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** The new options `buffers-menu-show-directories' and
|
|
|
|
|
`buffers-menu-show-status' let you control how buffers are displayed
|
|
|
|
|
in the menu dropped down when you click "Buffers" from the menu bar.
|
|
|
|
|
|
|
|
|
|
`buffers-menu-show-directories' controls whether the menu displays
|
|
|
|
|
leading directories as part of the file name visited by the buffer.
|
|
|
|
|
If its value is `unless-uniquify', the default, directories are
|
|
|
|
|
shown unless uniquify-buffer-name-style' is non-nil. The value of nil
|
|
|
|
|
and t turn the display of directories off and on, respectively.
|
|
|
|
|
|
|
|
|
|
`buffers-menu-show-status' controls whether the Buffers menu includes
|
|
|
|
|
the modified and read-only status of the buffers. By default it is
|
|
|
|
|
t, and the status is shown.
|
|
|
|
|
|
|
|
|
|
Setting these variables directly does not take effect until next time
|
|
|
|
|
the Buffers menu is regenerated.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Dired mode:
|
2003-05-08 17:54:14 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
---
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** New faces dired-header, dired-mark, dired-marked, dired-flagged,
|
|
|
|
|
dired-ignored, dired-directory, dired-symlink, dired-warning
|
|
|
|
|
introduced for Dired mode instead of font-lock faces.
|
2003-05-03 20:46:06 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New Dired command `dired-compare-directories' marks files
|
|
|
|
|
with different file attributes in two dired buffers.
|
2003-04-26 23:53:00 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New Dired command `dired-do-touch' (bound to T) changes timestamps
|
|
|
|
|
of marked files with the value entered in the minibuffer.
|
2003-04-26 23:53:00 +00:00
|
|
|
|
|
2006-05-21 00:27:13 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The Dired command `dired-goto-file' is now bound to j, not M-g.
|
|
|
|
|
This is to avoid hiding the global key binding of M-g.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
*** In Dired's ! command (dired-do-shell-command), `*' and `?' now
|
|
|
|
|
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
|
2006-03-23 07:31:33 +00:00
|
|
|
|
double quotes make no difference in the shell, but they prevent
|
2005-05-02 20:58:54 +00:00
|
|
|
|
special treatment in `dired-do-shell-command'.
|
2005-03-23 07:22:34 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2006-05-21 00:27:13 +00:00
|
|
|
|
*** In Dired, the w command now stores the current line's file name
|
|
|
|
|
into the kill ring. With a zero prefix arg, it stores the absolute file name.
|
2003-04-26 23:53:00 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** In Dired-x, Omitting files is now a minor mode, dired-omit-mode.
|
2003-02-11 02:45:41 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
The mode toggling command is bound to M-o. A new command
|
|
|
|
|
dired-mark-omitted, bound to * O, marks omitted files. The variable
|
|
|
|
|
dired-omit-files-p is obsoleted, use the mode toggling function
|
|
|
|
|
instead.
|
2002-10-26 22:52:42 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The variables dired-free-space-program and dired-free-space-args
|
|
|
|
|
have been renamed to directory-free-space-program and
|
|
|
|
|
directory-free-space-args, and they now apply whenever Emacs puts a
|
|
|
|
|
directory listing into a buffer.
|
2003-04-11 19:05:32 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Comint changes:
|
2003-05-28 11:52:33 +00:00
|
|
|
|
|
2005-03-28 21:30:15 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The comint prompt can now be made read-only, using the new user
|
2005-05-02 20:58:54 +00:00
|
|
|
|
option `comint-prompt-read-only'. This is not enabled by default,
|
|
|
|
|
except in IELM buffers. The read-only status of IELM prompts can be
|
|
|
|
|
controlled with the new user option `ielm-prompt-read-only', which
|
|
|
|
|
overrides `comint-prompt-read-only'.
|
2002-08-28 12:57:46 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The new commands `comint-kill-whole-line' and `comint-kill-region'
|
|
|
|
|
support editing comint buffers with read-only prompts.
|
2002-09-02 00:15:35 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
`comint-kill-whole-line' is like `kill-whole-line', but ignores both
|
|
|
|
|
read-only and field properties. Hence, it always kill entire
|
|
|
|
|
lines, including any prompts.
|
2002-05-24 09:53:58 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
`comint-kill-region' is like `kill-region', except that it ignores
|
|
|
|
|
read-only properties, if it is safe to do so. This means that if any
|
|
|
|
|
part of a prompt is deleted, then the entire prompt must be deleted
|
|
|
|
|
and that all prompts must stay at the beginning of a line. If this is
|
|
|
|
|
not the case, then `comint-kill-region' behaves just like
|
2005-10-25 01:06:22 +00:00
|
|
|
|
`kill-region' if read-only properties are involved: it copies the text
|
|
|
|
|
to the kill-ring, but does not delete it.
|
2002-05-20 17:29:37 +00:00
|
|
|
|
|
2002-07-07 18:30:45 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The new command `comint-insert-previous-argument' in comint-derived
|
2006-01-06 12:13:43 +00:00
|
|
|
|
modes (shell-mode, etc.) inserts arguments from previous command lines,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
like bash's `ESC .' binding. It is bound by default to `C-c .', but
|
|
|
|
|
otherwise behaves quite similarly to the bash version.
|
2002-07-07 10:52:11 +00:00
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** `comint-use-prompt-regexp-instead-of-fields' has been renamed
|
2005-05-02 20:58:54 +00:00
|
|
|
|
`comint-use-prompt-regexp'. The old name has been kept as an alias,
|
|
|
|
|
but declared obsolete.
|
2002-08-02 18:03:01 +00:00
|
|
|
|
|
2006-09-12 16:43:25 +00:00
|
|
|
|
+++
|
2006-11-18 20:58:52 +00:00
|
|
|
|
*** The new INSIDE_EMACS environment variable is set to "t" in
|
|
|
|
|
subshells running inside Emacs. This supersedes the EMACS environment
|
|
|
|
|
variable, which will be removed in a future Emacs release. Programs
|
|
|
|
|
that need to know whether they are started inside Emacs should check
|
|
|
|
|
INSIDE_EMACS instead of EMACS.
|
2006-09-12 16:43:25 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** M-x Compile changes:
|
2003-03-26 04:45:38 +00:00
|
|
|
|
|
2002-05-17 14:14:40 +00:00
|
|
|
|
---
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** M-x compile has become more robust and reliable
|
2002-05-17 14:14:40 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Quite a few more kinds of messages are recognized. Messages that are
|
|
|
|
|
recognized as warnings or informational come in orange or green, instead of
|
|
|
|
|
red. Informational messages are by default skipped with `next-error'
|
|
|
|
|
(controlled by `compilation-skip-threshold').
|
2002-05-17 14:14:40 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Location data is collected on the fly as the *compilation* buffer changes.
|
|
|
|
|
This means you could modify messages to make them point to different files.
|
|
|
|
|
This also means you can not go to locations of messages you may have deleted.
|
2002-04-26 11:48:11 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The variable `compilation-error-regexp-alist' has now become customizable. If
|
|
|
|
|
you had added your own regexps to this, you'll probably need to include a
|
|
|
|
|
leading `^', otherwise they'll match anywhere on a line. There is now also a
|
|
|
|
|
`compilation-mode-font-lock-keywords' and it nicely handles all the checks
|
|
|
|
|
that configure outputs and -o options so you see at a glance where you are.
|
2002-04-26 11:48:11 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The new file etc/compilation.txt gives examples of each type of message.
|
2002-04-26 11:48:11 +00:00
|
|
|
|
|
2002-06-17 16:19:41 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** New user option `compilation-environment'.
|
|
|
|
|
This option allows you to specify environment variables for inferior
|
|
|
|
|
compilation processes without affecting the environment that all
|
|
|
|
|
subprocesses inherit.
|
2002-04-25 14:23:22 +00:00
|
|
|
|
|
2005-08-20 12:20:49 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New user option `compilation-disable-input'.
|
|
|
|
|
If this is non-nil, send end-of-file as compilation process input.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New options `next-error-highlight' and `next-error-highlight-no-select'
|
|
|
|
|
specify the method of highlighting of the corresponding source line
|
|
|
|
|
in new face `next-error'.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** A new minor mode `next-error-follow-minor-mode' can be used in
|
|
|
|
|
compilation-mode, grep-mode, occur-mode, and diff-mode (i.e. all the
|
|
|
|
|
modes that can use `next-error'). In this mode, cursor motion in the
|
|
|
|
|
buffer causes automatic display in another window of the corresponding
|
|
|
|
|
matches, compilation errors, etc. This minor mode can be toggled with
|
|
|
|
|
C-c C-f.
|
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2005-05-16 01:06:37 +00:00
|
|
|
|
*** When the left fringe is displayed, an arrow points to current message in
|
|
|
|
|
the compilation buffer.
|
2005-05-16 00:30:03 +00:00
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2005-05-16 00:30:03 +00:00
|
|
|
|
*** The new variable `compilation-context-lines' controls lines of leading
|
|
|
|
|
context before the current message. If nil and the left fringe is displayed,
|
|
|
|
|
it doesn't scroll the compilation output window. If there is no left fringe,
|
|
|
|
|
no arrow is displayed and a value of nil means display the message at the top
|
|
|
|
|
of the window.
|
|
|
|
|
|
2006-09-12 16:43:25 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The EMACS environment variable now defaults to Emacs's absolute
|
|
|
|
|
file name, instead of to "t".
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Occur mode changes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** In the *Occur* buffer, `o' switches to it in another window, and
|
|
|
|
|
C-o displays the current line's occurrence in another window without
|
|
|
|
|
switching to it.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** You can now use next-error (C-x `) and previous-error to advance to
|
|
|
|
|
the next/previous matching line found by M-x occur.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new command `multi-occur' is just like `occur', except it can
|
|
|
|
|
search multiple buffers. There is also a new command
|
2006-01-31 18:39:50 +00:00
|
|
|
|
`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.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Grep changes:
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Grep has been decoupled from compilation mode setup.
|
2003-01-23 23:34:59 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
There's a new separate package grep.el, with its own submenu and
|
|
|
|
|
customization group.
|
2002-07-24 23:01:32 +00:00
|
|
|
|
|
2006-04-28 23:42:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** `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'.
|
|
|
|
|
|
2002-08-19 00:58:26 +00:00
|
|
|
|
---
|
2006-04-28 23:42:37 +00:00
|
|
|
|
*** The grep commands provide highlighting support.
|
2002-07-24 23:01:32 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Hits are fontified in green, and hits in binary files in orange. Grep buffers
|
2005-05-08 23:02:44 +00:00
|
|
|
|
can be saved and automatically revisited.
|
2002-07-24 23:01:32 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
---
|
2006-04-28 23:42:37 +00:00
|
|
|
|
*** The new variables `grep-window-height' and `grep-scroll-output' override
|
|
|
|
|
the corresponding compilation mode settings, for grep commands only.
|
2004-10-27 06:49:47 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2006-03-23 07:31:33 +00:00
|
|
|
|
*** New option `grep-highlight-matches' highlights matches in *grep*
|
2005-05-02 20:58:54 +00:00
|
|
|
|
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
|
|
|
|
|
buffer. Otherwise, if `grep-highlight-matches' is nil, the whole
|
|
|
|
|
source line is highlighted.
|
2002-07-24 23:01:32 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New key bindings in grep output window:
|
|
|
|
|
SPC and DEL scrolls window up and down. C-n and C-p moves to next and
|
|
|
|
|
previous match in the grep window. RET jumps to the source line of
|
|
|
|
|
the current match. `n' and `p' shows next and previous match in
|
|
|
|
|
other window, but does not switch buffer. `{' and `}' jumps to the
|
|
|
|
|
previous or next file in the grep output. TAB also jumps to the next
|
|
|
|
|
file.
|
2002-07-24 23:01:32 +00:00
|
|
|
|
|
2002-06-24 09:42:38 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** M-x grep now tries to avoid appending `/dev/null' to the command line
|
2005-05-02 20:58:54 +00:00
|
|
|
|
by using GNU grep `-H' option instead. M-x grep automatically
|
|
|
|
|
detects whether this is possible or not the first time it is invoked.
|
|
|
|
|
When `-H' is used, the grep command line supplied by the user is passed
|
|
|
|
|
unchanged to the system to execute, which allows more complicated
|
|
|
|
|
command lines to be used than was possible before.
|
2002-12-09 18:12:01 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** X Windows Support:
|
2003-06-17 11:14:25 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Emacs now supports drag and drop for X. Dropping a file on a window
|
|
|
|
|
opens it, dropping text inserts the text. Dropping a file on a dired
|
|
|
|
|
buffer copies or moves the file to that directory.
|
2002-02-16 12:59:22 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Under X11, it is possible to swap Alt and Meta (and Super and Hyper).
|
|
|
|
|
The new variables `x-alt-keysym', `x-hyper-keysym', `x-meta-keysym',
|
|
|
|
|
and `x-super-keysym' can be used to choose which keysyms Emacs should
|
|
|
|
|
use for the modifiers. For example, the following two lines swap
|
|
|
|
|
Meta and Alt:
|
|
|
|
|
(setq x-alt-keysym 'meta)
|
|
|
|
|
(setq x-meta-keysym 'alt)
|
2002-03-03 17:41:19 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
*** The X resource useXIM can be used to turn off use of XIM, which can
|
2005-05-02 21:35:52 +00:00
|
|
|
|
speed up Emacs with slow networking to the X server.
|
2002-08-19 00:58:26 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
If the configure option `--without-xim' was used to turn off use of
|
|
|
|
|
XIM by default, the X resource useXIM can be used to turn it on.
|
2005-03-21 17:54:51 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The new variable `x-select-request-type' controls how Emacs
|
|
|
|
|
requests X selection. The default value is nil, which means that
|
|
|
|
|
Emacs requests X selection with types COMPOUND_TEXT and UTF8_STRING,
|
|
|
|
|
and use the more appropriately result.
|
2005-03-21 17:54:51 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
*** The scrollbar under LessTif or Motif has a smoother drag-scrolling.
|
|
|
|
|
On the other hand, the size of the thumb does not represent the actual
|
|
|
|
|
amount of text shown any more (only a crude approximation of it).
|
2005-03-21 17:54:51 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Xterm support:
|
|
|
|
|
|
|
|
|
|
---
|
2006-01-25 23:24:17 +00:00
|
|
|
|
*** 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.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Improved key bindings support when running in an xterm.
|
|
|
|
|
When emacs is running in an xterm more key bindings are available. The
|
2005-05-03 21:14:05 +00:00
|
|
|
|
following should work:
|
2005-05-02 21:35:52 +00:00
|
|
|
|
{C,S,C-S,A}-{right,left,up,down,prior,next,delete,insert,F1-12}.
|
|
|
|
|
These key bindings work on xterm from X.org 6.8, they might not work on
|
|
|
|
|
some older versions of xterm, or on some proprietary versions.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Character terminal color support changes:
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new command-line option --color=MODE lets you specify a standard
|
|
|
|
|
mode for a tty color support. It is meant to be used on character
|
|
|
|
|
terminals whose capabilities are not set correctly in the terminal
|
|
|
|
|
database, or with terminal emulators which support colors, but don't
|
|
|
|
|
set the TERM environment variable to a name of a color-capable
|
|
|
|
|
terminal. "emacs --color" uses the same color commands as GNU `ls'
|
|
|
|
|
when invoked with "ls --color", so if your terminal can support colors
|
|
|
|
|
in "ls --color", it will support "emacs --color" as well. See the
|
|
|
|
|
user manual for the possible values of the MODE parameter.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Emacs now supports several character terminals which provide more
|
|
|
|
|
than 8 colors. For example, for `xterm', 16-color, 88-color, and
|
|
|
|
|
256-color modes are supported. Emacs automatically notes at startup
|
|
|
|
|
the extended number of colors, and defines the appropriate entries for
|
|
|
|
|
all of these colors.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Emacs now uses the full range of available colors for the default
|
|
|
|
|
faces when running on a color terminal, including 16-, 88-, and
|
|
|
|
|
256-color xterms. This means that when you run "emacs -nw" on an
|
|
|
|
|
88-color or 256-color xterm, you will see essentially the same face
|
|
|
|
|
colors as on X.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** There's a new support for colors on `rxvt' terminal emulator.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
* New Modes and Packages in Emacs 22.1
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2006-01-29 13:08:58 +00:00
|
|
|
|
** 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.
|
|
|
|
|
|
2006-11-20 06:50:29 +00:00
|
|
|
|
To start an IRC session, type M-x erc, and follow the prompts for
|
|
|
|
|
server, port, and nick.
|
2006-01-29 13:08:58 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-10-20 16:59:04 +00:00
|
|
|
|
** Rcirc is now part of the Emacs distribution.
|
|
|
|
|
|
|
|
|
|
Rcirc is an Internet relay chat (IRC) client. It supports
|
|
|
|
|
simultaneous connections to multiple IRC servers. Each discussion
|
|
|
|
|
takes place in its own buffer. For each connection you can join
|
|
|
|
|
several channels (many-to-many) and participate in private
|
|
|
|
|
(one-to-one) chats. Both channel and private chats are contained in
|
|
|
|
|
separate buffers.
|
|
|
|
|
|
|
|
|
|
To start an IRC session, type M-x irc, and follow the prompts for
|
|
|
|
|
server, port, nick and initial channels.
|
|
|
|
|
|
2005-09-15 13:17:55 +00:00
|
|
|
|
---
|
|
|
|
|
** Newsticker is now part of the Emacs distribution.
|
|
|
|
|
|
|
|
|
|
Newsticker asynchronously retrieves headlines (RSS) from a list of news
|
|
|
|
|
sites, prepares these headlines for reading, and allows for loading the
|
|
|
|
|
corresponding articles in a web browser. Its documentation is in a
|
|
|
|
|
separate manual.
|
|
|
|
|
|
2005-10-15 13:42:32 +00:00
|
|
|
|
+++
|
|
|
|
|
** savehist saves minibuffer histories between sessions.
|
2005-11-01 08:02:46 +00:00
|
|
|
|
To use this feature, turn on savehist-mode in your `.emacs' file.
|
2005-10-15 13:42:32 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
|
|
|
|
** Filesets are collections of files. You can define a fileset in
|
|
|
|
|
various ways, such as based on a directory tree or based on
|
|
|
|
|
program files that include other program files.
|
|
|
|
|
|
|
|
|
|
Once you have defined a fileset, you can perform various operations on
|
|
|
|
|
all the files in it, such as visiting them or searching and replacing
|
|
|
|
|
in them.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** Calc is now part of the Emacs distribution.
|
|
|
|
|
|
|
|
|
|
Calc is an advanced desk calculator and mathematical tool written in
|
2005-12-02 19:50:16 +00:00
|
|
|
|
Emacs Lisp. The prefix for Calc has been changed to `C-x *' and Calc
|
|
|
|
|
can be started with `C-x * *'. The Calc manual is separate from the
|
|
|
|
|
Emacs manual; within Emacs, type "C-h i m calc RET" to read the
|
|
|
|
|
manual. A reference card is available in `etc/calccard.tex' and
|
|
|
|
|
`etc/calccard.ps'.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** The new package ibuffer provides a powerful, completely
|
|
|
|
|
customizable replacement for buff-menu.el.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** Ido mode is now part of the Emacs distribution.
|
|
|
|
|
|
|
|
|
|
The ido (interactively do) package is an extension of the iswitchb
|
|
|
|
|
package to do interactive opening of files and directories in addition
|
|
|
|
|
to interactive buffer switching. Ido is a superset of iswitchb (with
|
|
|
|
|
a few exceptions), so don't enable both packages.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** Image files are normally visited in Image mode, which lets you toggle
|
|
|
|
|
between viewing the image and viewing the text using C-c C-c.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** CUA mode is now part of the Emacs distribution.
|
|
|
|
|
|
|
|
|
|
The new cua package provides CUA-like keybindings using C-x for
|
|
|
|
|
cut (kill), C-c for copy, C-v for paste (yank), and C-z for undo.
|
|
|
|
|
With cua, the region can be set and extended using shifted movement
|
|
|
|
|
keys (like pc-selection-mode) and typed text replaces the active
|
|
|
|
|
region (like delete-selection-mode). Do not enable these modes with
|
|
|
|
|
cua-mode. Customize the variable `cua-mode' to enable cua.
|
|
|
|
|
|
|
|
|
|
In addition, cua provides unified rectangle support with visible
|
2005-05-17 22:40:00 +00:00
|
|
|
|
rectangle highlighting: Use C-return to start a rectangle, extend it
|
2005-05-02 21:35:52 +00:00
|
|
|
|
using the movement commands (or mouse-3), and cut or copy it using C-x
|
|
|
|
|
or C-c (using C-w and M-w also works).
|
|
|
|
|
|
|
|
|
|
Use M-o and M-c to `open' or `close' the rectangle, use M-b or M-f, to
|
|
|
|
|
fill it with blanks or another character, use M-u or M-l to upcase or
|
|
|
|
|
downcase the rectangle, use M-i to increment the numbers in the
|
|
|
|
|
rectangle, use M-n to fill the rectangle with a numeric sequence (such
|
|
|
|
|
as 10 20 30...), use M-r to replace a regexp in the rectangle, and use
|
|
|
|
|
M-' or M-/ to restrict command on the rectangle to a subset of the
|
|
|
|
|
rows. See the commentary in cua-base.el for more rectangle commands.
|
|
|
|
|
|
|
|
|
|
Cua also provides unified support for registers: Use a numeric
|
|
|
|
|
prefix argument between 0 and 9, i.e. M-0 .. M-9, for C-x, C-c, and
|
|
|
|
|
C-v to cut or copy into register 0-9, or paste from register 0-9.
|
|
|
|
|
|
|
|
|
|
The last text deleted (not killed) is automatically stored in
|
|
|
|
|
register 0. This includes text deleted by typing text.
|
|
|
|
|
|
|
|
|
|
Finally, cua provides a global mark which is set using S-C-space.
|
|
|
|
|
When the global mark is active, any text which is cut or copied is
|
|
|
|
|
automatically inserted at the global mark position. See the
|
|
|
|
|
commentary in cua-base.el for more global mark related commands.
|
|
|
|
|
|
|
|
|
|
The features of cua also works with the standard emacs bindings for
|
|
|
|
|
kill, copy, yank, and undo. If you want to use cua mode, but don't
|
2005-05-08 23:02:44 +00:00
|
|
|
|
want the C-x, C-c, C-v, and C-z bindings, you can customize the
|
2005-05-02 21:35:52 +00:00
|
|
|
|
`cua-enable-cua-keys' variable.
|
|
|
|
|
|
|
|
|
|
Note: This version of cua mode is not backwards compatible with older
|
|
|
|
|
versions of cua.el and cua-mode.el. To ensure proper operation, you
|
|
|
|
|
must remove older versions of cua.el or cua-mode.el as well as the
|
|
|
|
|
loading and customization of those packages from the .emacs file.
|
|
|
|
|
|
2005-06-29 08:14:53 +00:00
|
|
|
|
+++
|
2005-06-29 22:05:04 +00:00
|
|
|
|
** Org mode is now part of the Emacs distribution
|
2005-06-29 08:14:53 +00:00
|
|
|
|
|
2005-06-29 22:05:04 +00:00
|
|
|
|
Org mode is a mode for keeping notes, maintaining ToDo lists, and
|
2005-06-29 09:40:37 +00:00
|
|
|
|
doing project planning with a fast and effective plain-text system.
|
|
|
|
|
It also contains a plain-text table editor with spreadsheet-like
|
2005-06-29 08:14:53 +00:00
|
|
|
|
capabilities.
|
|
|
|
|
|
2005-06-29 22:05:04 +00:00
|
|
|
|
The Org mode table editor can be integrated into any major mode by
|
2005-06-29 08:14:53 +00:00
|
|
|
|
activating the minor Orgtbl-mode.
|
|
|
|
|
|
2005-06-29 09:51:45 +00:00
|
|
|
|
The documentation for org-mode is in a separate manual; within Emacs,
|
|
|
|
|
type "C-h i m org RET" to read that manual. A reference card is
|
|
|
|
|
available in `etc/orgcard.tex' and `etc/orgcard.ps'.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
2006-08-10 20:07:08 +00:00
|
|
|
|
** The new package dns-mode.el adds syntax highlighting of DNS master files.
|
|
|
|
|
It is a modern replacement for zone-mode.el, which is now obsolete.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** The new global minor mode `file-name-shadow-mode' modifies the way
|
|
|
|
|
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,
|
2006-03-23 07:31:33 +00:00
|
|
|
|
invisible, or otherwise less visually noticeable. The display method can
|
2005-05-02 21:35:52 +00:00
|
|
|
|
be displayed by customizing the variable `file-name-shadow-properties'.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The new package flymake.el does on-the-fly syntax checking of program
|
|
|
|
|
source files. See the Flymake's Info manual for more details.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The new keypad setup package provides several common bindings for
|
|
|
|
|
the numeric keypad which is available on most keyboards. The numeric
|
|
|
|
|
keypad typically has the digits 0 to 9, a decimal point, keys marked
|
|
|
|
|
+, -, /, and *, an Enter key, and a NumLock toggle key. The keypad
|
|
|
|
|
package only controls the use of the digit and decimal keys.
|
|
|
|
|
|
|
|
|
|
By customizing the variables `keypad-setup', `keypad-shifted-setup',
|
|
|
|
|
`keypad-numlock-setup', and `keypad-numlock-shifted-setup', or by
|
|
|
|
|
using the function `keypad-setup', you can rebind all digit keys and
|
|
|
|
|
the decimal key of the keypad in one step for each of the four
|
|
|
|
|
possible combinations of the Shift key state (not pressed/pressed) and
|
|
|
|
|
the NumLock toggle state (off/on).
|
|
|
|
|
|
|
|
|
|
The choices for the keypad keys in each of the above states are:
|
|
|
|
|
`Plain numeric keypad' where the keys generates plain digits,
|
|
|
|
|
`Numeric keypad with decimal key' where the character produced by the
|
|
|
|
|
decimal key can be customized individually (for internationalization),
|
|
|
|
|
`Numeric Prefix Arg' where the keypad keys produce numeric prefix args
|
|
|
|
|
for emacs editing commands, `Cursor keys' and `Shifted Cursor keys'
|
|
|
|
|
where the keys work like (shifted) arrow keys, home/end, etc., and
|
|
|
|
|
`Unspecified/User-defined' where the keypad keys (kp-0, kp-1, etc.)
|
|
|
|
|
are left unspecified and can be bound individually through the global
|
|
|
|
|
or local keymaps.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The new kmacro package provides a simpler user interface to
|
|
|
|
|
emacs' keyboard macro facilities.
|
|
|
|
|
|
|
|
|
|
Basically, it uses two function keys (default F3 and F4) like this:
|
|
|
|
|
F3 starts a macro, F4 ends the macro, and pressing F4 again executes
|
|
|
|
|
the last macro. While defining the macro, F3 inserts a counter value
|
|
|
|
|
which automatically increments every time the macro is executed.
|
|
|
|
|
|
|
|
|
|
There is now a keyboard macro ring which stores the most recently
|
|
|
|
|
defined macros.
|
|
|
|
|
|
|
|
|
|
The C-x C-k sequence is now a prefix for the kmacro keymap which
|
|
|
|
|
defines bindings for moving through the keyboard macro ring,
|
|
|
|
|
C-x C-k C-p and C-x C-k C-n, editing the last macro C-x C-k C-e,
|
|
|
|
|
manipulating the macro counter and format via C-x C-k C-c,
|
|
|
|
|
C-x C-k C-a, and C-x C-k C-f. See the commentary in kmacro.el
|
|
|
|
|
for more commands.
|
|
|
|
|
|
|
|
|
|
The normal macro bindings C-x (, C-x ), and C-x e now interfaces to
|
|
|
|
|
the keyboard macro ring.
|
|
|
|
|
|
|
|
|
|
The C-x e command now automatically terminates the current macro
|
|
|
|
|
before calling it, if used while defining a macro.
|
|
|
|
|
|
|
|
|
|
In addition, when ending or calling a macro with C-x e, the macro can
|
|
|
|
|
be repeated immediately by typing just the `e'. You can customize
|
2005-08-15 14:51:27 +00:00
|
|
|
|
this behavior via the variables kmacro-call-repeat-key and
|
2005-05-02 21:35:52 +00:00
|
|
|
|
kmacro-call-repeat-with-arg.
|
|
|
|
|
|
|
|
|
|
Keyboard macros can now be debugged and edited interactively.
|
|
|
|
|
C-x C-k SPC steps through the last keyboard macro one key sequence
|
|
|
|
|
at a time, prompting for the actions to take.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
---
|
|
|
|
|
** New minor mode, Visible mode, toggles invisibility in the current buffer.
|
|
|
|
|
When enabled, it makes all invisible text visible. When disabled, it
|
|
|
|
|
restores the previous value of `buffer-invisibility-spec'.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The wdired.el package allows you to use normal editing commands on Dired
|
|
|
|
|
buffers to change filenames, permissions, etc...
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new package longlines.el provides a minor mode for editing text
|
|
|
|
|
files composed of long lines, based on the `use-hard-newlines'
|
|
|
|
|
mechanism. The long lines are broken up by inserting soft newlines,
|
|
|
|
|
which are automatically removed when saving the file to disk or
|
|
|
|
|
copying into the kill ring, clipboard, etc. By default, Longlines
|
|
|
|
|
mode inserts soft newlines automatically during editing, a behavior
|
|
|
|
|
referred to as "soft word wrap" in other text editors. This is
|
|
|
|
|
similar to Refill mode, but more reliable. To turn the word wrap
|
|
|
|
|
feature off, set `longlines-auto-wrap' to nil.
|
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** The printing package is now part of the Emacs distribution.
|
|
|
|
|
|
|
|
|
|
If you enable the printing package by including (require 'printing) in
|
|
|
|
|
the .emacs file, the normal Print item on the File menu is replaced
|
|
|
|
|
with a Print sub-menu which allows you to preview output through
|
|
|
|
|
ghostview, use ghostscript to print (if you don't have a PostScript
|
|
|
|
|
printer) or send directly to printer a PostScript code generated by
|
|
|
|
|
`ps-print' package. Use M-x pr-help for more information.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** The minor mode Reveal mode makes text visible on the fly as you
|
|
|
|
|
move your cursor into hidden regions of the buffer.
|
|
|
|
|
It should work with any package that uses overlays to hide parts
|
|
|
|
|
of a buffer, such as outline-minor-mode, hs-minor-mode, hide-ifdef-mode, ...
|
|
|
|
|
|
|
|
|
|
There is also Global Reveal mode which affects all buffers.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** The ruler-mode.el library provides a minor mode for displaying an
|
|
|
|
|
"active" ruler in the header line. You can use the mouse to visually
|
|
|
|
|
change the `fill-column', `window-margins' and `tab-stop-list'
|
|
|
|
|
settings.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** SES mode (ses-mode) is a new major mode for creating and editing
|
|
|
|
|
spreadsheet files. Besides the usual Emacs features (intuitive command
|
|
|
|
|
letters, undo, cell formulas in Lisp, plaintext files, etc.) it also offers
|
|
|
|
|
viral immunity and import/export of tab-separated values.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The new global minor mode `size-indication-mode' (off by default)
|
|
|
|
|
shows the size of accessible part of the buffer on the mode line.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The new package table.el implements editable, WYSIWYG, embedded
|
|
|
|
|
`text tables' in Emacs buffers. It simulates the effect of putting
|
|
|
|
|
these tables in a special major mode. The package emulates WYSIWYG
|
|
|
|
|
table editing available in modern word processors. The package also
|
|
|
|
|
can generate a table source in typesetting and markup languages such
|
|
|
|
|
as latex and html from the visually laid out text table.
|
|
|
|
|
|
2005-12-06 02:07:54 +00:00
|
|
|
|
** The tumme.el package allows you to easily view, tag and in other ways
|
|
|
|
|
manipulate image files and their thumbnails, using dired as the main interface.
|
|
|
|
|
Tumme provides functionality to generate simple image galleries.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** Tramp is now part of the distribution.
|
|
|
|
|
|
|
|
|
|
This package is similar to Ange-FTP: it allows you to edit remote
|
|
|
|
|
files. But whereas Ange-FTP uses FTP to access the remote host,
|
|
|
|
|
Tramp uses a shell connection. The shell connection is always used
|
|
|
|
|
for filename completion and directory listings and suchlike, but for
|
|
|
|
|
the actual file transfer, you can choose between the so-called
|
|
|
|
|
`inline' methods (which transfer the files through the shell
|
|
|
|
|
connection using base64 or uu encoding) and the `out-of-band' methods
|
|
|
|
|
(which invoke an external copying program such as `rcp' or `scp' or
|
|
|
|
|
`rsync' to do the copying).
|
|
|
|
|
|
|
|
|
|
Shell connections can be acquired via `rsh', `ssh', `telnet' and also
|
|
|
|
|
`su' and `sudo'. Ange-FTP is still supported via the `ftp' method.
|
|
|
|
|
|
|
|
|
|
If you want to disable Tramp you should set
|
|
|
|
|
|
|
|
|
|
(setq tramp-default-method "ftp")
|
|
|
|
|
|
2006-01-22 23:15:58 +00:00
|
|
|
|
Removing Tramp, and re-enabling Ange-FTP, can be achieved by M-x
|
|
|
|
|
tramp-unload-tramp.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** The URL package (which had been part of W3) is now part of Emacs.
|
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** `cfengine-mode' is a major mode for editing GNU Cfengine
|
|
|
|
|
configuration files.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** The new package conf-mode.el handles thousands of configuration files, with
|
|
|
|
|
varying syntaxes for comments (;, #, //, /* */ or !), assignment (var = value,
|
|
|
|
|
var : value, var value or keyword var value) and sections ([section] or
|
|
|
|
|
section { }). Many files under /etc/, or with suffixes like .cf through
|
|
|
|
|
.config, .properties (Java), .desktop (KDE/Gnome), .ini and many others are
|
|
|
|
|
recognized.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** GDB-Script-mode is used for files like .gdbinit.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** The new python.el package is used to edit Python and Jython programs.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** The TCL package tcl-mode.el was replaced by tcl.el.
|
|
|
|
|
This was actually done in Emacs-21.1, and was not documented.
|
2005-08-18 15:03:37 +00:00
|
|
|
|
|
|
|
|
|
** The new package scroll-lock.el provides the Scroll Lock minor mode
|
|
|
|
|
for pager-like scrolling. Keys which normally move point by line or
|
|
|
|
|
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.
|
2006-04-20 22:52:16 +00:00
|
|
|
|
|
2006-06-25 01:43:14 +00:00
|
|
|
|
+++
|
2006-04-20 22:52:16 +00:00
|
|
|
|
** 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.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
* Changes in Specialized Modes and Packages in Emacs 22.1:
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
2006-02-08 23:17:13 +00:00
|
|
|
|
** Changes in Dired
|
2006-03-23 07:31:33 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2006-02-08 23:17:13 +00:00
|
|
|
|
*** 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.
|
2006-03-23 07:31:33 +00:00
|
|
|
|
|
|
|
|
|
** Changes in Hi Lock
|
2005-12-10 11:57:30 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** 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).
|
|
|
|
|
|
2006-08-12 12:38:38 +00:00
|
|
|
|
---
|
2005-10-20 15:07:51 +00:00
|
|
|
|
** Changes in Allout
|
|
|
|
|
|
2006-08-12 12:38:38 +00:00
|
|
|
|
*** Some previously rough topic-header format edge cases are reconciled.
|
|
|
|
|
Level 1 topics use the mode's comment format, and lines starting with the
|
|
|
|
|
asterisk - for instance, the comment close of some languages (eg, c's "*/"
|
|
|
|
|
or mathematica's "*)") - at the beginning of line are no longer are
|
2006-09-16 10:35:47 +00:00
|
|
|
|
interpreted as level 1 topics in those modes.
|
2006-08-12 12:38:38 +00:00
|
|
|
|
|
2006-09-14 17:52:57 +00:00
|
|
|
|
*** Many or most commonly occuring "accidental" topics are disqualified.
|
2006-09-16 10:35:47 +00:00
|
|
|
|
Text in item bodies that looks like a low-depth topic is no longer mistaken
|
|
|
|
|
for one unless its first offspring (or that of its next sibling with
|
|
|
|
|
offspring) is only one level deeper.
|
2006-09-14 17:52:57 +00:00
|
|
|
|
|
|
|
|
|
For example, pasting some text with a bunch of leading asterisks into a
|
|
|
|
|
topic that's followed by a level 3 or deeper topic will not cause the
|
2006-09-16 10:35:47 +00:00
|
|
|
|
pasted text to be mistaken for outline structure.
|
|
|
|
|
|
|
|
|
|
The same constraint is applied to any level 2 or 3 topics.
|
2006-09-14 17:52:57 +00:00
|
|
|
|
|
|
|
|
|
This settles an old issue where typed or pasted text needed to be carefully
|
|
|
|
|
reviewed, and sometimes doctored, to avoid accidentally disrupting the
|
|
|
|
|
outline structure. Now that should be generally unnecessary, as the most
|
|
|
|
|
prone-to-occur accidents are disqualified.
|
|
|
|
|
|
2006-09-16 10:35:47 +00:00
|
|
|
|
*** Allout now refuses to create "containment discontinuities", where a
|
|
|
|
|
topic is shifted deeper than the offspring-depth of its container. On the
|
|
|
|
|
other hand, allout now operates gracefully with existing containment
|
|
|
|
|
discontinuities, revealing excessively contained topics rather than either
|
|
|
|
|
leaving them hidden or raising an error.
|
|
|
|
|
|
|
|
|
|
*** 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 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. Encryption behavior customization is collected in the
|
|
|
|
|
allout-encryption customization group.
|
|
|
|
|
|
|
|
|
|
*** Navigation within an item is easier. Repeated beginning-of-line and
|
2006-09-20 12:39:11 +00:00
|
|
|
|
end-of-line key commands (usually, ^A and ^E) cycle through the
|
2006-09-16 10:35:47 +00:00
|
|
|
|
beginning/end-of-line and then beginning/end of topic, etc. See new
|
|
|
|
|
customization vars `allout-beginning-of-line-cycles' and
|
|
|
|
|
`allout-end-of-line-cycles'.
|
|
|
|
|
|
|
|
|
|
*** New or revised allout-mode activity hooks enable creation of
|
|
|
|
|
cooperative enhancements to allout mode without changes to the mode,
|
|
|
|
|
itself.
|
|
|
|
|
|
|
|
|
|
See `allout-exposure-change-hook', `allout-structure-added-hook',
|
|
|
|
|
`allout-structure-deleted-hook', and `allout-structure-shifted-hook'.
|
|
|
|
|
|
|
|
|
|
`allout-exposure-change-hook' replaces the existing
|
|
|
|
|
`allout-view-change-hook', which is being deprecated. Both are still
|
|
|
|
|
invoked, but `allout-view-change-hook' will eventually be ignored.
|
|
|
|
|
`allout-exposure-change-hook' is called with explicit arguments detailing
|
|
|
|
|
the specifics of each change (as are the other new hooks), making it easier
|
|
|
|
|
to use than the old version.
|
|
|
|
|
|
|
|
|
|
There is a new mode deactivation hook, `allout-mode-deactivate-hook', for
|
|
|
|
|
coordinating with deactivation of allout-mode. Both that and the mode
|
|
|
|
|
activation hook, `allout-mode-hook' are now run after the `allout-mode'
|
|
|
|
|
variable is changed, rather than before.
|
|
|
|
|
|
|
|
|
|
*** Default command prefix was 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 for concealed text,
|
|
|
|
|
instead of selective-display. This simplifies the code, in particular
|
|
|
|
|
avoiding the need for kludges for isearch dynamic-display, discretionary
|
|
|
|
|
handling of edits of concealed text, undo concerns, etc.
|
|
|
|
|
|
|
|
|
|
*** There are many other fixes and refinements, including:
|
2005-10-20 15:07:51 +00:00
|
|
|
|
|
2006-09-16 10:35:47 +00:00
|
|
|
|
- repaired inhibition of inadvertent edits to concealed text, without
|
|
|
|
|
inhibiting undo; we now reveal undo changes within concealed text.
|
2006-07-14 11:28:20 +00:00
|
|
|
|
- auto-fill-mode is now left inactive when allout-mode starts, if it
|
|
|
|
|
already was inactive. also, `allout-inhibit-auto-fill' custom
|
|
|
|
|
configuration variable makes it easy to disable auto fill in allout
|
|
|
|
|
outlines in general or on a per-buffer basis.
|
2006-08-12 12:38:38 +00:00
|
|
|
|
- allout now tolerates fielded text in outlines without disruption.
|
|
|
|
|
- hot-spot navigation now is modularized with a new function,
|
2006-09-16 10:35:47 +00:00
|
|
|
|
`allout-hotspot-key-handler', enabling easier use and enhancement of
|
|
|
|
|
the functionality in allout addons.
|
2006-08-12 12:38:38 +00:00
|
|
|
|
- repaired retention of topic body hanging indent upon topic depth shifts
|
2006-02-17 10:58:37 +00:00
|
|
|
|
- bulleting variation is simpler and more accommodating, both in the
|
|
|
|
|
default behavior and in ability to vary when creating new topics
|
2006-07-14 11:28:20 +00:00
|
|
|
|
- mode deactivation now does cleans up effectively, more properly
|
|
|
|
|
restoring affected variables and hooks to former state, removing
|
2006-08-12 12:38:38 +00:00
|
|
|
|
overlays, etc. see `allout-add-resumptions' and
|
|
|
|
|
`allout-do-resumptions', which replace the old `allout-resumptions'.
|
2006-07-14 11:28:20 +00:00
|
|
|
|
- included a few unit-tests for interior functionality. developers can
|
|
|
|
|
have them automatically run at the end of module load by customizing
|
|
|
|
|
the option `allout-run-unit-tests-on-load'.
|
2006-09-16 10:35:47 +00:00
|
|
|
|
- many, many other, more minor tweaks, fixes, and refinements.
|
2006-02-17 10:58:37 +00:00
|
|
|
|
- version number incremented to 2.2
|
2005-10-20 15:07:51 +00:00
|
|
|
|
|
2005-09-10 15:01:43 +00:00
|
|
|
|
** The variable `woman-topic-at-point' was renamed
|
|
|
|
|
to `woman-use-topic-at-point' and behaves differently: if this
|
|
|
|
|
variable is non-nil, the `woman' command uses the word at point
|
|
|
|
|
automatically, without asking for a confirmation. Otherwise, the word
|
|
|
|
|
at point is suggested as default, but not inserted at the prompt.
|
|
|
|
|
|
2005-08-06 07:42:06 +00:00
|
|
|
|
---
|
|
|
|
|
** Changes to cmuscheme
|
|
|
|
|
|
|
|
|
|
*** Emacs now offers to start Scheme if the user tries to
|
|
|
|
|
evaluate a Scheme expression but no Scheme subprocess is running.
|
|
|
|
|
|
2006-12-05 14:34:46 +00:00
|
|
|
|
*** If the file ~/.emacs_NAME or ~/.emacs.d/init_NAME.scm (where NAME
|
|
|
|
|
is the name of the Scheme interpreter) exists, its contents are sent
|
|
|
|
|
to the Scheme subprocess upon startup.
|
2005-08-06 07:42:06 +00:00
|
|
|
|
|
|
|
|
|
*** There are new commands to instruct the Scheme interpreter to trace
|
|
|
|
|
procedure calls (`scheme-trace-procedure') and to expand syntactic forms
|
|
|
|
|
(`scheme-expand-current-form'). The commands actually sent to the Scheme
|
|
|
|
|
subprocess are controlled by the user options `scheme-trace-command',
|
|
|
|
|
`scheme-untrace-command' and `scheme-expand-current-form'.
|
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
---
|
2006-05-21 23:53:29 +00:00
|
|
|
|
** Changes in Makefile mode
|
|
|
|
|
|
|
|
|
|
*** Makefile mode has submodes for automake, gmake, makepp, BSD make and imake.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
|
2006-01-17 18:11:53 +00:00
|
|
|
|
The former two couldn't be differentiated before, and the latter three
|
2005-05-14 23:38:09 +00:00
|
|
|
|
are new. Font-locking is robust now and offers new customizable
|
|
|
|
|
faces.
|
2005-05-13 08:06:41 +00:00
|
|
|
|
|
2006-05-21 23:53:29 +00:00
|
|
|
|
*** The variable `makefile-query-one-target-method' has been renamed
|
|
|
|
|
to `makefile-query-one-target-method-function'. The old name is still
|
|
|
|
|
available as alias.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
** In Outline mode, `hide-body' no longer hides lines at the top
|
2005-05-09 21:02:37 +00:00
|
|
|
|
of the file that precede the first header line.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Telnet now prompts you for a port number with C-u M-x telnet.
|
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 23:38:09 +00:00
|
|
|
|
** The terminal emulation code in term.el has been improved; it can
|
2005-05-09 21:02:37 +00:00
|
|
|
|
run most curses applications now.
|
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
** M-x diff uses Diff mode instead of Compilation mode.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2006-05-02 01:47:57 +00:00
|
|
|
|
+++
|
|
|
|
|
** Diff mode key bindings changed.
|
|
|
|
|
|
|
|
|
|
These are the new bindings:
|
|
|
|
|
|
|
|
|
|
C-c C-e diff-ediff-patch (old M-A)
|
|
|
|
|
C-c C-n diff-restrict-view (old M-r)
|
|
|
|
|
C-c C-r diff-reverse-direction (old M-R)
|
|
|
|
|
C-c C-u diff-context->unified (old M-U)
|
|
|
|
|
C-c C-w diff-refine-hunk (old C-c C-r)
|
|
|
|
|
|
|
|
|
|
To convert unified to context format, use C-u C-c C-u.
|
|
|
|
|
In addition, C-c C-u now operates on the region
|
|
|
|
|
in Transient Mark mode when the mark is active.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
** You can now customize `fill-nobreak-predicate' to control where
|
2005-05-09 21:02:37 +00:00
|
|
|
|
filling can break lines. The value is now normally a list of
|
|
|
|
|
functions, but it can also be a single function, for compatibility.
|
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
Emacs provide two predicates, `fill-single-word-nobreak-p' and
|
|
|
|
|
`fill-french-nobreak-p', for use as the value of
|
|
|
|
|
`fill-nobreak-predicate'.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** M-x view-file and commands that use it now avoid interfering
|
|
|
|
|
with special modes such as Tar mode.
|
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 23:38:09 +00:00
|
|
|
|
** Commands `winner-redo' and `winner-undo', from winner.el, are now
|
|
|
|
|
bound to C-c <left> and C-c <right>, respectively. This is an
|
|
|
|
|
incompatible change.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 23:38:09 +00:00
|
|
|
|
** `global-whitespace-mode' is a new alias for `whitespace-global-mode'.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** M-x compare-windows now can automatically skip non-matching text to
|
|
|
|
|
resync points in both windows.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** New user option `add-log-always-start-new-record'.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
When this option is enabled, M-x add-change-log-entry always
|
|
|
|
|
starts a new record regardless of when the last record is.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** PO translation files are decoded according to their MIME headers
|
|
|
|
|
when Emacs visits them.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Info mode changes:
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** A numeric prefix argument of `info' selects an Info buffer
|
2005-05-14 23:38:09 +00:00
|
|
|
|
with the number appended to the `*info*' buffer name (e.g. "*info*<2>").
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** isearch in Info uses Info-search and searches through multiple nodes.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
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
|
2006-03-23 07:31:33 +00:00
|
|
|
|
around the whole manual to the top/final node. The user option
|
2005-05-02 21:35:52 +00:00
|
|
|
|
`Info-isearch-search' controls whether to use Info-search for isearch,
|
|
|
|
|
or the default isearch search function that wraps around the current
|
|
|
|
|
Info node.
|
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** New search commands: `Info-search-case-sensitively' (bound to S),
|
|
|
|
|
`Info-search-backward', and `Info-search-next' which repeats the last
|
|
|
|
|
search without prompting for a new search string.
|
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** New command `Info-history-forward' (bound to r and new toolbar icon)
|
|
|
|
|
moves forward in history to the node you returned from after using
|
|
|
|
|
`Info-history-back' (renamed from `Info-last').
|
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** New command `Info-history' (bound to L) displays a menu of visited nodes.
|
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** New command `Info-toc' (bound to T) creates a node with table of contents
|
|
|
|
|
from the tree structure of menus of the current Info file.
|
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** New command `info-apropos' searches the indices of the known
|
|
|
|
|
Info files on your system for a string, and builds a menu of the
|
|
|
|
|
possible matches.
|
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** New command `Info-copy-current-node-name' (bound to w) copies
|
|
|
|
|
the current Info node name into the kill ring. With a zero prefix
|
|
|
|
|
arg, puts the node name inside the `info' function call.
|
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** New face `info-xref-visited' distinguishes visited nodes from unvisited
|
|
|
|
|
and a new option `Info-fontify-visited-nodes' to control this.
|
|
|
|
|
|
2005-08-09 22:24:18 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** http and ftp links in Info are now operational: they look like cross
|
|
|
|
|
references and following them calls `browse-url'.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Info now hides node names in menus and cross references by default.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
If you prefer the old behavior, you can set the new user option
|
|
|
|
|
`Info-hide-note-references' to nil.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Images in Info pages are supported.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
Info pages show embedded images, in Emacs frames with image support.
|
|
|
|
|
Info documentation that includes images, processed with makeinfo
|
|
|
|
|
version 4.7 or newer, compiles to Info pages with embedded images.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The default value for `Info-scroll-prefer-subnodes' is now nil.
|
2003-05-13 20:15:13 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** `Info-index' offers completion.
|
2002-02-16 10:11:10 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Lisp mode changes:
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** Lisp mode now uses `font-lock-doc-face' for doc strings.
|
2004-03-29 23:00:22 +00:00
|
|
|
|
|
2002-06-24 09:42:38 +00:00
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** C-u C-M-q in Emacs Lisp mode pretty-prints the list after point.
|
2002-02-14 20:16:06 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** New features in evaluation commands
|
2002-04-24 21:04:32 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
**** The function `eval-defun' (C-M-x) called on defface reinitializes
|
2005-05-02 20:58:54 +00:00
|
|
|
|
the face to the value specified in the defface expression.
|
2004-06-24 10:36:13 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
**** Typing C-x C-e twice prints the value of the integer result
|
2005-05-02 20:58:54 +00:00
|
|
|
|
in additional formats (octal, hexadecimal, character) specified
|
|
|
|
|
by the new function `eval-expression-print-format'. The same
|
|
|
|
|
function also defines the result format for `eval-expression' (M-:),
|
|
|
|
|
`eval-print-last-sexp' (C-j) and some edebug evaluation functions.
|
2004-06-24 10:36:13 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** CC mode changes.
|
2004-12-15 10:27:25 +00:00
|
|
|
|
|
2005-12-04 21:00:59 +00:00
|
|
|
|
*** The CC Mode manual has been extensively revised.
|
|
|
|
|
The information about using CC Mode has been separated from the larger
|
|
|
|
|
and more difficult chapters about configuration.
|
|
|
|
|
|
|
|
|
|
*** Changes in Key Sequences
|
|
|
|
|
**** c-toggle-auto-hungry-state is no longer bound to C-c C-t.
|
|
|
|
|
|
|
|
|
|
**** c-toggle-hungry-state is no longer bound to C-c C-d.
|
|
|
|
|
This binding has been taken over by c-hungry-delete-forwards.
|
|
|
|
|
|
|
|
|
|
**** c-toggle-auto-state (C-c C-t) has been renamed to c-toggle-auto-newline.
|
|
|
|
|
c-toggle-auto-state remains as an alias.
|
|
|
|
|
|
|
|
|
|
**** The new commands c-hungry-backspace and c-hungry-delete-forwards
|
|
|
|
|
have key bindings C-c C-DEL (or C-c DEL, for the benefit of TTYs) and
|
|
|
|
|
C-c C-d (or C-c C-<delete> or C-c <delete>) respectively. These
|
|
|
|
|
commands delete entire blocks of whitespace with a single
|
|
|
|
|
key-sequence. [N.B. "DEL" is the <backspace> key.]
|
|
|
|
|
|
|
|
|
|
**** The new command c-toggle-electric-mode is bound to C-c C-l.
|
|
|
|
|
|
|
|
|
|
**** The new command c-subword-mode is bound to C-c C-w.
|
|
|
|
|
|
|
|
|
|
*** C-c C-s (`c-show-syntactic-information') now highlights the anchor
|
|
|
|
|
position(s).
|
|
|
|
|
|
|
|
|
|
*** New Minor Modes
|
|
|
|
|
**** Electric Minor Mode toggles the electric action of non-alphabetic keys.
|
|
|
|
|
The new command c-toggle-electric-mode is bound to C-c C-l. Turning the
|
|
|
|
|
mode off can be helpful for editing chaotically indented code and for
|
|
|
|
|
users new to CC Mode, who sometimes find electric indentation
|
|
|
|
|
disconcerting. Its current state is displayed in the mode line with an
|
|
|
|
|
'l', e.g. "C/al".
|
|
|
|
|
|
|
|
|
|
**** Subword Minor Mode makes Emacs recognize word boundaries at upper case
|
|
|
|
|
letters in StudlyCapsIdentifiers. You enable this feature by C-c C-w. It can
|
|
|
|
|
also be used in non-CC Mode buffers. :-) Contributed by Masatake YAMATO.
|
|
|
|
|
|
|
|
|
|
*** New clean-ups
|
|
|
|
|
|
|
|
|
|
**** `comment-close-slash'.
|
|
|
|
|
With this clean-up, a block (i.e. c-style) comment can be terminated by
|
|
|
|
|
typing a slash at the start of a line.
|
|
|
|
|
|
|
|
|
|
**** `c-one-liner-defun'
|
|
|
|
|
This clean-up compresses a short enough defun (for example, an AWK
|
|
|
|
|
pattern/action pair) onto a single line. "Short enough" is configurable.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** Font lock support.
|
|
|
|
|
CC Mode now provides font lock support for all its languages. This
|
|
|
|
|
supersedes the font lock patterns that have been in the core font lock
|
|
|
|
|
package for C, C++, Java and Objective-C. Like indentation, font
|
|
|
|
|
locking is done in a uniform way across all languages (except the new
|
|
|
|
|
AWK mode - see below). That means that the new font locking will be
|
|
|
|
|
different from the old patterns in various details for most languages.
|
2004-12-12 22:56:55 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The main goal of the font locking in CC Mode is accuracy, to provide a
|
|
|
|
|
dependable aid in recognizing the various constructs. Some, like
|
|
|
|
|
strings and comments, are easy to recognize while others like
|
|
|
|
|
declarations and types can be very tricky. CC Mode can go to great
|
|
|
|
|
lengths to recognize declarations and casts correctly, especially when
|
|
|
|
|
the types aren't recognized by standard patterns. This is a fairly
|
|
|
|
|
demanding analysis which can be slow on older hardware, and it can
|
|
|
|
|
therefore be disabled by choosing a lower decoration level with the
|
|
|
|
|
variable font-lock-maximum-decoration.
|
2002-02-17 00:11:37 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Note that the most demanding font lock level has been tuned with lazy
|
2005-12-04 21:00:59 +00:00
|
|
|
|
fontification in mind; Just-In-Time-Lock mode should be enabled for
|
|
|
|
|
the highest font lock level (by default, it is). Fontifying a file
|
|
|
|
|
with several thousand lines in one go can take the better part of a
|
|
|
|
|
minute.
|
2004-05-02 00:26:40 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
**** The (c|c++|objc|java|idl|pike)-font-lock-extra-types variables
|
|
|
|
|
are now used by CC Mode to recognize identifiers that are certain to
|
|
|
|
|
be types. (They are also used in cases that aren't related to font
|
|
|
|
|
locking.) At the maximum decoration level, types are often recognized
|
|
|
|
|
properly anyway, so these variables should be fairly restrictive and
|
|
|
|
|
not contain patterns for uncertain types.
|
2002-02-11 13:58:57 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
**** Support for documentation comments.
|
|
|
|
|
There is a "plugin" system to fontify documentation comments like
|
|
|
|
|
Javadoc and the markup within them. It's independent of the host
|
|
|
|
|
language, so it's possible to e.g. turn on Javadoc font locking in C
|
|
|
|
|
buffers. See the variable c-doc-comment-style for details.
|
2002-02-03 17:42:07 +00:00
|
|
|
|
|
2005-12-04 21:00:59 +00:00
|
|
|
|
Currently three kinds of doc comment styles are recognized: Sun's
|
|
|
|
|
Javadoc, Autodoc (which is used in Pike) and GtkDoc (used in C). (The
|
|
|
|
|
last was contributed by Masatake YAMATO). This is by no means a
|
|
|
|
|
complete list of the most common tools; if your doc comment extractor
|
|
|
|
|
of choice is missing then please drop a note to bug-cc-mode@gnu.org.
|
2002-02-09 00:01:10 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
**** Better handling of C++ templates.
|
|
|
|
|
As a side effect of the more accurate font locking, C++ templates are
|
|
|
|
|
now handled much better. The angle brackets that delimit them are
|
|
|
|
|
given parenthesis syntax so that they can be navigated like other
|
|
|
|
|
parens.
|
2002-02-11 15:00:13 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
This also improves indentation of templates, although there still is
|
|
|
|
|
work to be done in that area. E.g. it's required that multiline
|
|
|
|
|
template clauses are written in full and then refontified to be
|
|
|
|
|
recognized, and the indentation of nested templates is a bit odd and
|
|
|
|
|
not as configurable as it ought to be.
|
2002-01-28 07:22:01 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
**** Improved handling of Objective-C and CORBA IDL.
|
|
|
|
|
Especially the support for Objective-C and IDL has gotten an overhaul.
|
|
|
|
|
The special "@" declarations in Objective-C are handled correctly.
|
|
|
|
|
All the keywords used in CORBA IDL, PSDL, and CIDL are recognized and
|
|
|
|
|
handled correctly, also wrt indentation.
|
2002-02-17 12:15:17 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** Support for the AWK language.
|
|
|
|
|
Support for the AWK language has been introduced. The implementation is
|
|
|
|
|
based around GNU AWK version 3.1, but it should work pretty well with
|
|
|
|
|
any AWK. As yet, not all features of CC Mode have been adapted for AWK.
|
|
|
|
|
Here is a summary:
|
2002-01-27 18:24:04 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
**** Indentation Engine
|
|
|
|
|
The CC Mode indentation engine fully supports AWK mode.
|
2002-01-16 09:04:07 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
AWK mode handles code formatted in the conventional AWK fashion: `{'s
|
|
|
|
|
which start actions, user-defined functions, or compound statements are
|
|
|
|
|
placed on the same line as the associated construct; the matching `}'s
|
|
|
|
|
are normally placed under the start of the respective pattern, function
|
|
|
|
|
definition, or structured statement.
|
2002-02-01 04:36:54 +00:00
|
|
|
|
|
2005-12-04 21:00:59 +00:00
|
|
|
|
The predefined line-up functions haven't yet been adapted for AWK
|
|
|
|
|
mode, though some of them may work serendipitously. There shouldn't
|
|
|
|
|
be any problems writing custom indentation functions for AWK mode.
|
2002-05-28 21:12:18 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
**** Font Locking
|
|
|
|
|
There is a single level of font locking in AWK mode, rather than the
|
|
|
|
|
three distinct levels the other modes have. There are several
|
|
|
|
|
idiosyncrasies in AWK mode's font-locking due to the peculiarities of
|
|
|
|
|
the AWK language itself.
|
2002-01-25 14:04:06 +00:00
|
|
|
|
|
2005-12-04 21:00:59 +00:00
|
|
|
|
**** Comment and Movement Commands
|
|
|
|
|
These commands all work for AWK buffers. The notion of "defun" has
|
|
|
|
|
been augmented to include AWK pattern-action pairs - the standard
|
|
|
|
|
"defun" commands on key sequences C-M-a, C-M-e, and C-M-h use this
|
|
|
|
|
extended definition.
|
2002-01-14 13:51:53 +00:00
|
|
|
|
|
2005-12-04 21:00:59 +00:00
|
|
|
|
**** "awk" style, Auto-newline Insertion and Clean-ups
|
|
|
|
|
A new style, "awk" has been introduced, and this is now the default
|
|
|
|
|
style for AWK code. With auto-newline enabled, the clean-up
|
|
|
|
|
c-one-liner-defun (see above) is useful.
|
2002-01-25 14:04:06 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** New syntactic symbols in IDL mode.
|
|
|
|
|
The top level constructs "module" and "composition" (from CIDL) are
|
|
|
|
|
now handled like "namespace" in C++: They are given syntactic symbols
|
|
|
|
|
module-open, module-close, inmodule, composition-open,
|
|
|
|
|
composition-close, and incomposition.
|
2002-01-13 17:08:06 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** New functions to do hungry delete without enabling hungry delete mode.
|
2005-12-04 21:00:59 +00:00
|
|
|
|
The new functions `c-hungry-backspace' and `c-hungry-delete-forward'
|
|
|
|
|
provide hungry deletion without having to toggle a mode. They are
|
|
|
|
|
bound to C-c C-DEL and C-c C-d (and several variants, for the benefit
|
|
|
|
|
of different keyboard setups. See "Changes in key sequences" above).
|
2002-01-13 17:08:06 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** Better control over `require-final-newline'.
|
2002-06-01 21:57:54 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
The variable `c-require-final-newline' specifies which of the modes
|
|
|
|
|
implemented by CC mode should insert final newlines. Its value is a
|
|
|
|
|
list of modes, and only those modes should do it. By default the list
|
|
|
|
|
includes C, C++ and Objective-C modes.
|
|
|
|
|
|
|
|
|
|
Whichever modes are in this list will set `require-final-newline'
|
|
|
|
|
based on `mode-require-final-newline'.
|
2002-04-16 14:28:10 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** Format change for syntactic context elements.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
|
|
|
|
|
The elements in the syntactic context returned by `c-guess-basic-syntax'
|
|
|
|
|
and stored in `c-syntactic-context' has been changed somewhat to allow
|
2005-05-02 20:58:54 +00:00
|
|
|
|
attaching more information. They are now lists instead of single cons
|
|
|
|
|
cells. E.g. a line that previously had the syntactic analysis
|
2002-01-14 01:42:09 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
((inclass . 11) (topmost-intro . 13))
|
2002-01-14 01:42:09 +00:00
|
|
|
|
|
2005-06-21 11:40:22 +00:00
|
|
|
|
is now analyzed as
|
2002-01-14 01:42:09 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
((inclass 11) (topmost-intro 13))
|
2002-01-14 01:42:09 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
In some cases there are more than one position given for a syntactic
|
|
|
|
|
symbol.
|
2002-01-14 01:42:09 +00:00
|
|
|
|
|
2005-12-04 21:00:59 +00:00
|
|
|
|
This change might affect code that calls `c-guess-basic-syntax'
|
|
|
|
|
directly, and custom lineup functions if they use
|
|
|
|
|
`c-syntactic-context'. However, the argument given to lineup
|
|
|
|
|
functions is still a single cons cell with nil or an integer in the
|
|
|
|
|
cdr.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** API changes for derived modes.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
There have been extensive changes "under the hood" which can affect
|
|
|
|
|
derived mode writers. Some of these changes are likely to cause
|
|
|
|
|
incompatibilities with existing derived modes, but on the other hand
|
|
|
|
|
care has now been taken to make it possible to extend and modify CC
|
|
|
|
|
Mode with less risk of such problems in the future.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
**** New language variable system.
|
2005-12-04 21:00:59 +00:00
|
|
|
|
These are variables whose values vary between CC Mode's different
|
|
|
|
|
languages. See the comment blurb near the top of cc-langs.el.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
**** New initialization functions.
|
|
|
|
|
The initialization procedure has been split up into more functions to
|
2005-05-14 23:38:09 +00:00
|
|
|
|
give better control: `c-basic-common-init', `c-font-lock-init', and
|
|
|
|
|
`c-init-language-vars'.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** Changes in analysis of nested syntactic constructs.
|
|
|
|
|
The syntactic analysis engine has better handling of cases where
|
|
|
|
|
several syntactic constructs appear nested on the same line. They are
|
|
|
|
|
now handled as if each construct started on a line of its own.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
This means that CC Mode now indents some cases differently, and
|
|
|
|
|
although it's more consistent there might be cases where the old way
|
|
|
|
|
gave results that's more to one's liking. So if you find a situation
|
|
|
|
|
where you think that the indentation has become worse, please report
|
|
|
|
|
it to bug-cc-mode@gnu.org.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
**** New syntactic symbol substatement-label.
|
|
|
|
|
This symbol is used when a label is inserted between a statement and
|
|
|
|
|
its substatement. E.g:
|
|
|
|
|
|
|
|
|
|
if (x)
|
|
|
|
|
x_is_true:
|
|
|
|
|
do_stuff();
|
|
|
|
|
|
|
|
|
|
*** Better handling of multiline macros.
|
|
|
|
|
|
|
|
|
|
**** Syntactic indentation inside macros.
|
|
|
|
|
The contents of multiline #define's are now analyzed and indented
|
|
|
|
|
syntactically just like other code. This can be disabled by the new
|
2005-05-14 23:38:09 +00:00
|
|
|
|
variable `c-syntactic-indentation-in-macros'. A new syntactic symbol
|
|
|
|
|
`cpp-define-intro' has been added to control the initial indentation
|
|
|
|
|
inside `#define's.
|
|
|
|
|
|
|
|
|
|
**** New lineup function `c-lineup-cpp-define'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
Now used by default to line up macro continuation lines. The behavior
|
|
|
|
|
of this function closely mimics the indentation one gets if the macro
|
|
|
|
|
is indented while the line continuation backslashes are temporarily
|
|
|
|
|
removed. If syntactic indentation in macros is turned off, it works
|
2005-05-14 23:38:09 +00:00
|
|
|
|
much line `c-lineup-dont-change', which was used earlier, but handles
|
2005-05-02 20:58:54 +00:00
|
|
|
|
empty lines within the macro better.
|
|
|
|
|
|
|
|
|
|
**** Automatically inserted newlines continues the macro if used within one.
|
|
|
|
|
This applies to the newlines inserted by the auto-newline mode, and to
|
2005-05-14 23:38:09 +00:00
|
|
|
|
`c-context-line-break' and `c-context-open-line'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
**** Better alignment of line continuation backslashes.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
`c-backslash-region' tries to adapt to surrounding backslashes. New
|
2005-12-04 21:00:59 +00:00
|
|
|
|
variable `c-backslash-max-column' puts a limit on how far out
|
2005-05-02 20:58:54 +00:00
|
|
|
|
backslashes can be moved.
|
|
|
|
|
|
|
|
|
|
**** Automatic alignment of line continuation backslashes.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
This is controlled by the new variable `c-auto-align-backslashes'. It
|
|
|
|
|
affects `c-context-line-break', `c-context-open-line' and newlines
|
|
|
|
|
inserted in Auto-Newline mode.
|
|
|
|
|
|
2005-12-04 21:00:59 +00:00
|
|
|
|
**** Line indentation works better inside macros.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Regardless whether syntactic indentation and syntactic indentation
|
|
|
|
|
inside macros are enabled or not, line indentation now ignores the
|
|
|
|
|
line continuation backslashes. This is most noticeable when syntactic
|
|
|
|
|
indentation is turned off and there are empty lines (save for the
|
|
|
|
|
backslash) in the macro.
|
|
|
|
|
|
|
|
|
|
*** indent-for-comment is more customizable.
|
|
|
|
|
The behavior of M-; (indent-for-comment) is now configurable through
|
2005-12-04 21:00:59 +00:00
|
|
|
|
the variable `c-indent-comment-alist'. The indentation behavior is
|
|
|
|
|
based on the preceding code on the line, e.g. to get two spaces after
|
|
|
|
|
#else and #endif but indentation to `comment-column' in most other
|
|
|
|
|
cases (something which was hardcoded earlier).
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** New function `c-context-open-line'.
|
|
|
|
|
It's the open-line equivalent of `c-context-line-break'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
*** New lineup functions
|
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
**** `c-lineup-string-cont'
|
2005-05-02 20:58:54 +00:00
|
|
|
|
This lineup function lines up a continued string under the one it
|
|
|
|
|
continues. E.g:
|
|
|
|
|
|
|
|
|
|
result = prefix + "A message "
|
|
|
|
|
"string."; <- c-lineup-string-cont
|
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
**** `c-lineup-cascaded-calls'
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Lines up series of calls separated by "->" or ".".
|
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
**** `c-lineup-knr-region-comment'
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Gives (what most people think is) better indentation of comments in
|
|
|
|
|
the "K&R region" between the function header and its body.
|
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
**** `c-lineup-gcc-asm-reg'
|
|
|
|
|
Provides better indentation inside asm blocks.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
**** `c-lineup-argcont'
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Lines up continued function arguments after the preceding comma.
|
|
|
|
|
|
|
|
|
|
*** Better caching of the syntactic context.
|
|
|
|
|
CC Mode caches the positions of the opening parentheses (of any kind)
|
|
|
|
|
of the lists surrounding the point. Those positions are used in many
|
|
|
|
|
places as anchor points for various searches. The cache is now
|
|
|
|
|
improved so that it can be reused to a large extent when the point is
|
|
|
|
|
moved. The less it moves, the less needs to be recalculated.
|
|
|
|
|
|
|
|
|
|
The effect is that CC Mode should be fast most of the time even when
|
|
|
|
|
opening parens are hung (i.e. aren't in column zero). It's typically
|
|
|
|
|
only the first time after the point is moved far down in a complex
|
|
|
|
|
file that it'll take noticeable time to find out the syntactic
|
|
|
|
|
context.
|
|
|
|
|
|
|
|
|
|
*** Statements are recognized in a more robust way.
|
|
|
|
|
Statements are recognized most of the time even when they occur in an
|
|
|
|
|
"invalid" context, e.g. in a function argument. In practice that can
|
|
|
|
|
happen when macros are involved.
|
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** Improved the way `c-indent-exp' chooses the block to indent.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
It now indents the block for the closest sexp following the point
|
|
|
|
|
whose closing paren ends on a different line. This means that the
|
|
|
|
|
point doesn't have to be immediately before the block to indent.
|
|
|
|
|
Also, only the block and the closing line is indented; the current
|
|
|
|
|
line is left untouched.
|
|
|
|
|
|
|
|
|
|
*** Added toggle for syntactic indentation.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
The function `c-toggle-syntactic-indentation' can be used to toggle
|
2005-05-02 20:58:54 +00:00
|
|
|
|
syntactic indentation.
|
|
|
|
|
|
2005-07-13 04:55:42 +00:00
|
|
|
|
** In sh-script, a continuation line is only indented if the backslash was
|
|
|
|
|
preceded by a SPC or a TAB.
|
2005-07-22 14:22:02 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
|
|
|
|
** Perl mode has a new variable `perl-indent-continued-arguments'.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
---
|
|
|
|
|
** The old Octave mode bindings C-c f and C-c i have been changed
|
|
|
|
|
to C-c C-f and C-c C-i. The C-c C-i subcommands now have duplicate
|
|
|
|
|
bindings on control characters--thus, C-c C-i C-b is the same as
|
|
|
|
|
C-c C-i b, and so on.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Fortran mode changes:
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** Fortran mode does more font-locking by default. Use level 3
|
2005-05-02 20:58:54 +00:00
|
|
|
|
highlighting for the old default.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2004-10-08 17:14:15 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** Fortran mode has a new variable `fortran-directive-re'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Adapt this to match the format of any compiler directives you use.
|
|
|
|
|
Lines that match are never indented, and are given distinctive font-locking.
|
2004-10-08 17:14:15 +00:00
|
|
|
|
|
2002-07-07 18:30:45 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** F90 mode and Fortran mode have new navigation commands
|
2005-05-02 20:58:54 +00:00
|
|
|
|
`f90-end-of-block', `f90-beginning-of-block', `f90-next-block',
|
|
|
|
|
`f90-previous-block', `fortran-end-of-block',
|
|
|
|
|
`fortran-beginning-of-block'.
|
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** F90 mode and Fortran mode have support for `hs-minor-mode' (hideshow).
|
2005-05-02 20:58:54 +00:00
|
|
|
|
It cannot deal with every code format, but ought to handle a sizeable
|
|
|
|
|
majority.
|
|
|
|
|
|
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The new function `f90-backslash-not-special' can be used to change
|
2005-05-02 20:58:54 +00:00
|
|
|
|
the syntax of backslashes in F90 buffers.
|
|
|
|
|
|
|
|
|
|
---
|
2005-06-29 08:14:53 +00:00
|
|
|
|
** Reftex mode changes
|
2006-01-06 12:13:43 +00:00
|
|
|
|
|
2005-06-29 09:34:46 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Changes to RefTeX's table of contents
|
2005-06-29 08:14:53 +00:00
|
|
|
|
|
|
|
|
|
The new command keys "<" and ">" in the TOC buffer promote/demote the
|
|
|
|
|
section at point or all sections in the current region, with full
|
|
|
|
|
support for multifile documents.
|
|
|
|
|
|
|
|
|
|
The new command `reftex-toc-recenter' (`C-c -') shows the current
|
|
|
|
|
section in the TOC buffer without selecting the TOC window.
|
|
|
|
|
Recentering can happen automatically in idle time when the option
|
|
|
|
|
`reftex-auto-recenter-toc' is turned on. The highlight in the TOC
|
|
|
|
|
buffer stays when the focus moves to a different window. A dedicated
|
|
|
|
|
frame can show the TOC with the current section always automatically
|
|
|
|
|
highlighted. The frame is created and deleted from the toc buffer
|
|
|
|
|
with the `d' key.
|
|
|
|
|
|
|
|
|
|
The toc window can be split off horizontally instead of vertically.
|
|
|
|
|
See new option `reftex-toc-split-windows-horizontally'.
|
|
|
|
|
|
2005-06-29 09:34:46 +00:00
|
|
|
|
Labels can be renamed globally from the table of contents using the
|
|
|
|
|
key `M-%'.
|
|
|
|
|
|
|
|
|
|
The new command `reftex-goto-label' jumps directly to a label
|
|
|
|
|
location.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Changes related to citations and BibTeX database files
|
2005-06-29 08:14:53 +00:00
|
|
|
|
|
2005-06-29 09:34:46 +00:00
|
|
|
|
Commands that insert a citation now prompt for optional arguments when
|
2005-06-29 08:14:53 +00:00
|
|
|
|
called with a prefix argument. Related new options are
|
|
|
|
|
`reftex-cite-prompt-optional-args' and `reftex-cite-cleanup-optional-args'.
|
|
|
|
|
|
|
|
|
|
The new command `reftex-create-bibtex-file' creates a BibTeX database
|
|
|
|
|
with all entries referenced in the current document. The keys "e" and
|
|
|
|
|
"E" allow to produce a BibTeX database file from entries marked in a
|
2005-06-29 09:34:46 +00:00
|
|
|
|
citation selection buffer.
|
2005-06-29 08:14:53 +00:00
|
|
|
|
|
2005-06-29 09:34:46 +00:00
|
|
|
|
The command `reftex-citation' uses the word in the buffer before the
|
|
|
|
|
cursor as a default search string.
|
2005-06-29 08:14:53 +00:00
|
|
|
|
|
|
|
|
|
The support for chapterbib has been improved. Different chapters can
|
|
|
|
|
now use BibTeX or an explicit `thebibliography' environment.
|
|
|
|
|
|
|
|
|
|
The macros which specify the bibliography file (like \bibliography)
|
|
|
|
|
can be configured with the new option `reftex-bibliography-commands'.
|
|
|
|
|
|
|
|
|
|
Support for jurabib has been added.
|
|
|
|
|
|
2005-06-29 09:34:46 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Global index matched may be verified with a user function
|
2005-06-29 08:14:53 +00:00
|
|
|
|
|
|
|
|
|
During global indexing, a user function can verify an index match.
|
|
|
|
|
See new option `reftex-index-verify-function'.
|
|
|
|
|
|
2005-06-29 09:34:46 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Parsing documents with many labels can be sped up.
|
2005-06-29 08:14:53 +00:00
|
|
|
|
|
|
|
|
|
Operating in a document with thousands of labels can be sped up
|
2005-06-29 09:34:46 +00:00
|
|
|
|
considerably by allowing RefTeX to derive the type of a label directly
|
2005-06-29 08:14:53 +00:00
|
|
|
|
from the label prefix like `eq:' or `fig:'. The option
|
|
|
|
|
`reftex-trust-label-prefix' needs to be configured in order to enable
|
|
|
|
|
this feature. While the speed-up is significant, this may reduce the
|
|
|
|
|
quality of the context offered by RefTeX to describe a label.
|
|
|
|
|
|
2005-06-29 09:34:46 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Miscellaneous changes
|
|
|
|
|
|
|
|
|
|
The macros which input a file in LaTeX (like \input, \include) can be
|
|
|
|
|
configured in the new option `reftex-include-file-commands'.
|
|
|
|
|
|
|
|
|
|
RefTeX supports global incremental search.
|
|
|
|
|
|
2005-06-29 08:14:53 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Prolog mode has a new variable `prolog-font-lock-keywords'
|
|
|
|
|
to support use of font-lock.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** HTML/SGML changes:
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** Emacs now tries to set up buffer coding systems for HTML/XML files
|
2005-05-02 20:58:54 +00:00
|
|
|
|
automatically.
|
2001-12-10 20:47:38 +00:00
|
|
|
|
|
2004-10-08 17:14:15 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** SGML mode has indentation and supports XML syntax.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The new variable `sgml-xml-mode' tells SGML mode to use XML syntax.
|
|
|
|
|
When this option is enabled, SGML tags are inserted in XML style,
|
|
|
|
|
i.e., there is always a closing tag.
|
|
|
|
|
By default, its setting is inferred on a buffer-by-buffer basis
|
|
|
|
|
from the file name or buffer contents.
|
|
|
|
|
|
2006-05-21 23:53:29 +00:00
|
|
|
|
*** The variable `sgml-transformation' has been renamed to
|
|
|
|
|
`sgml-transformation-function'. The old name is still available as
|
|
|
|
|
alias.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** `xml-mode' is now an alias for `sgml-mode', which has XML support.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
** TeX modes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** C-c C-c prompts for a command to run, and tries to offer a good default.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The user option `tex-start-options-string' has been replaced
|
|
|
|
|
by two new user options: `tex-start-options', which should hold
|
|
|
|
|
command-line options to feed to TeX, and `tex-start-commands' which should hold
|
|
|
|
|
TeX commands to use at startup.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** verbatim environments are now highlighted in courier by font-lock
|
|
|
|
|
and super/sub-scripts are made into super/sub-scripts.
|
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** New major mode Doctex mode, for *.dtx files.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
** BibTeX mode:
|
2005-05-14 23:38:09 +00:00
|
|
|
|
|
|
|
|
|
*** The new command `bibtex-url' browses a URL for the BibTeX entry at
|
2005-05-02 20:58:54 +00:00
|
|
|
|
point (bound to C-c C-l and mouse-2, RET on clickable fields).
|
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** The new command `bibtex-entry-update' (bound to C-c C-u) updates
|
2006-01-06 12:13:43 +00:00
|
|
|
|
an existing BibTeX entry by inserting fields that may occur but are not
|
|
|
|
|
present.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
*** New `bibtex-entry-format' option `required-fields', enabled by default.
|
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** `bibtex-maintain-sorted-entries' can take values `plain',
|
2005-05-02 20:58:54 +00:00
|
|
|
|
`crossref', and `entry-class' which control the sorting scheme used
|
|
|
|
|
for BibTeX entries. `bibtex-sort-entry-class' controls the sorting
|
|
|
|
|
scheme `entry-class'. TAB completion for reference keys and
|
|
|
|
|
automatic detection of duplicates does not require anymore that
|
2005-05-14 23:38:09 +00:00
|
|
|
|
`bibtex-maintain-sorted-entries' is non-nil.
|
2004-10-08 17:14:15 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** If the new variable `bibtex-parse-keys-fast' is non-nil,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
use fast but simplified algorithm for parsing BibTeX keys.
|
2004-07-01 11:56:39 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** If the new variable `bibtex-autoadd-commas' is non-nil,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
automatically add missing commas at end of BibTeX fields.
|
2004-07-01 11:56:39 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** The new variable `bibtex-autofill-types' contains a list of entry
|
2005-05-02 20:58:54 +00:00
|
|
|
|
types for which fields are filled automatically (if possible).
|
2004-09-08 20:31:41 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** The new command `bibtex-complete' completes word fragment before
|
2005-05-02 20:58:54 +00:00
|
|
|
|
point according to context (bound to M-tab).
|
2004-09-08 20:31:41 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** The new commands `bibtex-find-entry' and `bibtex-find-crossref'
|
2005-05-02 20:58:54 +00:00
|
|
|
|
locate entries and crossref'd entries (bound to C-c C-s and C-c C-x).
|
|
|
|
|
Crossref fields are clickable (bound to mouse-2, RET).
|
2002-04-19 00:29:46 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** In BibTeX mode the command `fill-paragraph' (M-q) fills
|
2005-05-02 20:58:54 +00:00
|
|
|
|
individual fields of a BibTeX entry.
|
2002-05-28 21:12:18 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** The new variables `bibtex-files' and `bibtex-file-path' define a set
|
2005-05-02 20:58:54 +00:00
|
|
|
|
of BibTeX files that are searched for entry keys.
|
2002-04-16 14:28:10 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** The new command `bibtex-validate-globally' checks for duplicate keys
|
2005-05-02 20:58:54 +00:00
|
|
|
|
in multiple BibTeX files.
|
2002-04-16 14:28:10 +00:00
|
|
|
|
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** The new command `bibtex-copy-summary-as-kill' pushes summary
|
2005-05-02 20:58:54 +00:00
|
|
|
|
of BibTeX entry to kill ring (bound to C-c C-t).
|
2002-09-16 15:30:04 +00:00
|
|
|
|
|
(bibtex-expand-strings)
(bibtex-autokey-expand-string, bibtex-name-part)
(bibtex-entry-type-whitespace, bibtex-entry-type-str)
(bibtex-any-entry-maybe-empty-head, bibtex-string-type)
(bibtex-preamble-prefix, bibtex-string-empty-key): New variables.
(bibtex-entry-type, bibtex-entry-head): Match only valid entries.
(bibtex-entry-postfix, bibtex-known-entry-type-re)
(bibtex-valid-entry-re, bibtex-any-valid-entry-re)
(bibtex-valid-entry-whitespace-re, bibtex-empty-field-re)
(bibtex-field-name-for-parsing, bibtex-remove-delimiters-string)
(bibtex-beginning-of-last-entry): Remove.
(bibtex-parse-field-name): Use bibtex-field-name. Issue error
message if comma is missing but buffer is read-only.
(bibtex-parse-field-text): Handle whitespaces at the end of field
text. Return 3-element list with beginning and end of field text
and end of field.
(bibtex-end-of-text-in-field, bibtex-end-of-field): Change accordingly.
(bibtex-parse-field): Remove arg name. Use bibtex-field-name.
(bibtex-search-forward-field, bibtex-search-backward-field):
Search always delimited by limits of entry. Use more efficient
search algorithms.
(bibtex-name-in-field): Use bibtex-start-of-name-in-field and
bibtex-end-of-name-in-field.
(bibtex-text-in-field-bounds): Handle BibTeX strings when
extracting the content of a field.
(bibtex-text-in-field): Use search limits.
(bibtex-parse-string-prefix): Handle empty string keys based on
bibtex-string-empty-key.
(bibtex-parse-string): Fix docstring.
(bibtex-text-in-string): Use bibtex-text-in-field-bounds.
(bibtex-preamble-prefix, bibtex-strings): New functions.
(bibtex-skip-to-valid-entry): Include preceding whitespace in
BibTeX entries (consistent with other BibTeX functions).
(bibtex-map-entries): Use bibtex-skip-to-valid-entry.
(bibtex-search-entry): Fix docstring. Simplify.
(bibtex-flash-head, bibtex-complete-string-cleanup)
(bibtex-count-entries, bibtex-sort-buffer): Simplify.
(bibtex-beginning-of-first-entry): Use bibtex-skip-to-valid-entry.
(bibtex-parse-entry): New optional arg content.
(bibtex-format-entry, bibtex-autofill-entry, bibtex-url): Use it.
Use bibtex-text-in-field-bounds.
(bibtex-print-help-message): Handle BibTeX strings and preambles.
(bibtex-end-of-entry): Use bibtex-preamble-prefix and
bibtex-parse-string-postfix.
(bibtex-find-text-internal): New function.
(bibtex-remove-delimiters): Use it.
(bibtex-find-text): Use it. New optional arg help.
(bibtex-complete): Handle BibTeX string and preamble entries.
(bibtex-Preamble): Fix order of closing delimiters.
2005-12-14 17:15:20 +00:00
|
|
|
|
*** The new variables bibtex-expand-strings and
|
|
|
|
|
bibtex-autokey-expand-strings control the expansion of strings when
|
|
|
|
|
extracting the content of a BibTeX field.
|
|
|
|
|
|
2006-03-19 21:57:45 +00:00
|
|
|
|
*** 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.
|
|
|
|
|
|
2006-05-21 23:53:29 +00:00
|
|
|
|
** In Artist mode the variable `artist-text-renderer' has been
|
|
|
|
|
renamed to `artist-text-renderer-function'. The old name is still
|
|
|
|
|
available as alias.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
** 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'
|
|
|
|
|
and `C-c C-r'.
|
2002-12-08 00:04:26 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** GUD changes:
|
|
|
|
|
|
2002-07-07 18:30:45 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** In GUD mode, when talking to GDB, C-x C-a C-j "jumps" the program
|
2001-12-10 20:37:11 +00:00
|
|
|
|
counter to the specified source line (the one where point is).
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** GUD mode has its own tool bar for controlling execution of the inferior
|
2005-05-02 20:58:54 +00:00
|
|
|
|
and other common debugger commands.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new package gdb-ui.el provides an enhanced graphical interface to
|
2006-04-20 22:52:16 +00:00
|
|
|
|
GDB. You can interact with GDB through the GUD buffer in the usual way, but
|
2005-05-08 23:02:44 +00:00
|
|
|
|
there are also further buffers which control the execution and describe the
|
2005-05-16 00:30:03 +00:00
|
|
|
|
state of your program. It can separate the input/output of your program from
|
2005-05-08 23:02:44 +00:00
|
|
|
|
that of GDB and watches expressions in the speedbar. It also uses features of
|
2005-07-18 15:33:45 +00:00
|
|
|
|
Emacs 21/22 such as the toolbar, and bitmaps in the fringe to indicate
|
2005-05-16 00:30:03 +00:00
|
|
|
|
breakpoints.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
2006-04-20 22:52:16 +00:00
|
|
|
|
To use this package just type M-x gdb. See the Emacs manual if you want the
|
|
|
|
|
old behaviour.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
2005-05-19 00:11:48 +00:00
|
|
|
|
*** The variable tooltip-gud-tips-p has been removed. GUD tooltips can now be
|
2005-05-18 09:48:34 +00:00
|
|
|
|
toggled independently of normal tooltips with the minor mode
|
|
|
|
|
`gud-tooltip-mode'.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** In graphical mode, with a C program, GUD Tooltips have been extended to
|
|
|
|
|
display the #define directive associated with an identifier when program is
|
|
|
|
|
not executing.
|
|
|
|
|
|
2002-07-07 18:30:45 +00:00
|
|
|
|
---
|
2002-01-21 04:18:03 +00:00
|
|
|
|
** GUD mode improvements for jdb:
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
*** 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.
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
|
|
|
|
*** Supports the standard breakpoint (gud-break, gud-clear)
|
2006-01-06 12:13:43 +00:00
|
|
|
|
set/clear operations from Java source files under the classpath, stack
|
|
|
|
|
traversal (gud-up, gud-down), and run until current stack finish
|
|
|
|
|
(gud-finish).
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
|
|
|
|
*** Supports new jdb (Java 1.2 and later) in addition to oldjdb
|
2006-01-06 12:13:43 +00:00
|
|
|
|
(Java 1.1 jdb).
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
|
|
|
|
*** The previous method of searching for source files has been
|
2006-01-06 12:13:43 +00:00
|
|
|
|
preserved in case someone still wants/needs to use it.
|
|
|
|
|
Set `gud-jdb-use-classpath' to nil.
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
*** Added Customization Variables
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
**** `gud-jdb-command-name'. What command line to use to invoke jdb.
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
**** `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).
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
**** `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).
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
*** Minor Improvements
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
**** The STARTTLS wrapper (starttls.el) can now use GNUTLS
|
2005-05-14 23:38:09 +00:00
|
|
|
|
instead of the OpenSSL based `starttls' tool. For backwards
|
|
|
|
|
compatibility, it prefers `starttls', but you can toggle
|
2004-05-28 05:38:36 +00:00
|
|
|
|
`starttls-use-gnutls' to switch to GNUTLS (or simply remove the
|
2005-05-14 23:38:09 +00:00
|
|
|
|
`starttls' tool).
|
2004-05-28 05:38:36 +00:00
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
**** Do not allow debugger output history variable to grow without bounds.
|
2002-01-18 18:59:27 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Auto-Revert changes:
|
|
|
|
|
|
2002-06-24 09:42:38 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** You can now use Auto Revert mode to `tail' a file.
|
2005-05-14 23:38:09 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
If point is at the end of a file buffer before reverting, Auto Revert
|
|
|
|
|
mode keeps it at the end after reverting. Similarly if point is
|
|
|
|
|
displayed at the end of a file buffer in any window, it stays at
|
|
|
|
|
the end of the buffer in that window. This allows to tail a file:
|
|
|
|
|
just put point at the end of the buffer and it stays there. This
|
2005-05-08 23:02:44 +00:00
|
|
|
|
rule applies to file buffers. For non-file buffers, the behavior can
|
2005-05-02 20:58:54 +00:00
|
|
|
|
be mode dependent.
|
2001-11-18 05:59:41 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
If you are sure that the file will only change by growing at the end,
|
|
|
|
|
then you can tail the file more efficiently by using the new minor
|
|
|
|
|
mode Auto Revert Tail mode. The function `auto-revert-tail-mode'
|
|
|
|
|
toggles this mode.
|
2001-11-11 17:58:05 +00:00
|
|
|
|
|
2002-06-24 09:42:38 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** Auto Revert mode is now more careful to avoid excessive reverts and
|
2005-05-02 20:58:54 +00:00
|
|
|
|
other potential problems when deciding which non-file buffers to
|
|
|
|
|
revert. This matters especially if Global Auto Revert mode is enabled
|
|
|
|
|
and `global-auto-revert-non-file-buffers' is non-nil. Auto Revert
|
|
|
|
|
mode only reverts a non-file buffer if the buffer has a non-nil
|
|
|
|
|
`revert-buffer-function' and a non-nil `buffer-stale-function', which
|
|
|
|
|
decides whether the buffer should be reverted. Currently, this means
|
|
|
|
|
that auto reverting works for Dired buffers (although this may not
|
|
|
|
|
work properly on all operating systems) and for the Buffer Menu.
|
2001-10-05 09:13:21 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** If the new user option `auto-revert-check-vc-info' is non-nil, Auto
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Revert mode reliably updates version control info (such as the version
|
|
|
|
|
control number in the mode line), in all version controlled buffers in
|
|
|
|
|
which it is active. If the option is nil, the default, then this info
|
|
|
|
|
only gets updated whenever the buffer gets reverted.
|
2003-01-31 15:24:20 +00:00
|
|
|
|
|
2002-06-24 09:42:38 +00:00
|
|
|
|
---
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** recentf changes.
|
2003-08-17 22:53:07 +00:00
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
The recent file list is now automatically cleaned up when recentf mode is
|
2005-05-02 20:58:54 +00:00
|
|
|
|
enabled. The new option `recentf-auto-cleanup' controls when to do
|
|
|
|
|
automatic cleanup.
|
2004-10-04 23:34:39 +00:00
|
|
|
|
|
2005-09-30 06:20:24 +00:00
|
|
|
|
The ten most recent files can be quickly opened by using the shortcut
|
|
|
|
|
keys 1 to 9, and 0, when the recent list is displayed in a buffer via
|
|
|
|
|
the `recentf-open-files', or `recentf-open-more-files' commands.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The `recentf-keep' option replaces `recentf-keep-non-readable-files-p'
|
|
|
|
|
and provides a more general mechanism to customize which file names to
|
|
|
|
|
keep in the recent list.
|
2005-02-27 22:54:12 +00:00
|
|
|
|
|
2005-09-30 06:20:24 +00:00
|
|
|
|
With the more advanced option `recentf-filename-handlers', you can
|
|
|
|
|
specify functions that successively transform recent file names. For
|
|
|
|
|
example, if set to `file-truename' plus `abbreviate-file-name', the
|
|
|
|
|
same file will not be in the recent list with different symbolic
|
|
|
|
|
links, and the file name will be abbreviated.
|
2004-09-22 23:26:15 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
To follow naming convention, `recentf-menu-append-commands-flag'
|
|
|
|
|
replaces the misnamed option `recentf-menu-append-commands-p'. The
|
|
|
|
|
old name remains available as alias, but has been marked obsolete.
|
2003-09-02 17:43:01 +00:00
|
|
|
|
|
2004-01-12 01:02:18 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Desktop package
|
2004-01-12 01:02:18 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** Desktop saving is now a minor mode, `desktop-save-mode'.
|
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** The variable `desktop-enable' is obsolete.
|
|
|
|
|
|
|
|
|
|
Customize `desktop-save-mode' to enable desktop saving.
|
2004-04-30 18:55:13 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
|
|
|
|
*** Buffers are saved in the desktop file in the same order as that in the
|
|
|
|
|
buffer list.
|
2002-03-28 14:36:51 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-05-14 23:38:09 +00:00
|
|
|
|
*** The desktop package can be customized to restore only some buffers
|
|
|
|
|
immediately, remaining buffers are restored lazily (when Emacs is
|
|
|
|
|
idle).
|
2002-07-16 17:57:45 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New commands:
|
|
|
|
|
- desktop-revert reverts to the last loaded desktop.
|
|
|
|
|
- desktop-change-dir kills current desktop and loads a new.
|
|
|
|
|
- desktop-save-in-desktop-dir saves desktop in the directory from which
|
|
|
|
|
it was loaded.
|
|
|
|
|
- desktop-lazy-complete runs the desktop load to completion.
|
|
|
|
|
- desktop-lazy-abort aborts lazy loading of the desktop.
|
2002-07-16 17:57:45 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
|
|
|
|
*** New customizable variables:
|
2006-03-23 07:31:33 +00:00
|
|
|
|
- desktop-save. Determines whether the desktop should be saved when it is
|
2005-05-02 20:58:54 +00:00
|
|
|
|
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.
|
|
|
|
|
- desktop-locals-to-save. List of local variables to save.
|
|
|
|
|
- desktop-globals-to-clear. List of global variables that `desktop-clear' will clear.
|
|
|
|
|
- desktop-clear-preserve-buffers-regexp. Regexp identifying buffers that `desktop-clear'
|
|
|
|
|
should not delete.
|
|
|
|
|
- desktop-restore-eager. Number of buffers to restore immediately. Remaining buffers are
|
|
|
|
|
restored lazily (when Emacs is idle).
|
|
|
|
|
- desktop-lazy-verbose. Verbose reporting of lazily created buffers.
|
|
|
|
|
- desktop-lazy-idle-delay. Idle delay before starting to create buffers.
|
2002-07-16 17:57:45 +00:00
|
|
|
|
|
2002-06-24 09:42:38 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** New command line option --no-desktop
|
2002-03-28 14:36:51 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
|
|
|
|
*** New hooks:
|
|
|
|
|
- desktop-after-read-hook run after a desktop is loaded.
|
|
|
|
|
- desktop-no-desktop-file-hook run when no desktop file is found.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** The saveplace.el package now filters out unreadable files.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
When you exit Emacs, the saved positions in visited files no longer
|
|
|
|
|
include files that aren't readable, e.g. files that don't exist.
|
|
|
|
|
Customize the new option `save-place-forget-unreadable-files' to nil
|
|
|
|
|
to get the old behavior. The new options `save-place-save-skipped'
|
|
|
|
|
and `save-place-skip-check-regexp' allow further fine-tuning of this
|
|
|
|
|
feature.
|
2003-05-13 20:15:13 +00:00
|
|
|
|
|
2002-03-20 07:12:27 +00:00
|
|
|
|
** EDiff changes.
|
|
|
|
|
|
2002-03-21 07:12:53 +00:00
|
|
|
|
+++
|
2002-03-20 07:12:27 +00:00
|
|
|
|
*** When comparing directories.
|
|
|
|
|
Typing D brings up a buffer that lists the differences between the contents of
|
|
|
|
|
directories. Now it is possible to use this buffer to copy the missing files
|
|
|
|
|
from one directory to another.
|
|
|
|
|
|
2002-03-21 07:12:53 +00:00
|
|
|
|
+++
|
2002-03-20 07:12:27 +00:00
|
|
|
|
*** When comparing files or buffers.
|
|
|
|
|
Typing the = key now offers to perform the word-by-word comparison of the
|
|
|
|
|
currently highlighted regions in an inferior Ediff session. If you answer 'n'
|
|
|
|
|
then it reverts to the old behavior and asks the user to select regions for
|
|
|
|
|
comparison.
|
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2002-12-08 00:20:56 +00:00
|
|
|
|
*** The new command `ediff-backup' compares a file with its most recent
|
2002-08-19 00:58:26 +00:00
|
|
|
|
backup using `ediff'. If you specify the name of a backup file,
|
|
|
|
|
`ediff-backup' compares it with the file of which it is a backup.
|
|
|
|
|
|
2002-06-26 09:04:17 +00:00
|
|
|
|
+++
|
2001-12-15 16:08:32 +00:00
|
|
|
|
** Etags changes.
|
|
|
|
|
|
2002-06-14 13:14:23 +00:00
|
|
|
|
*** New regular expressions features
|
|
|
|
|
|
|
|
|
|
**** New syntax for regular expressions, multi-line regular expressions.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2002-06-13 12:10:39 +00:00
|
|
|
|
The syntax --ignore-case-regexp=/regex/ is now undocumented and retained
|
|
|
|
|
only for backward compatibility. The new equivalent syntax is
|
|
|
|
|
--regex=/regex/i. More generally, it is --regex=/TAGREGEX/TAGNAME/MODS,
|
|
|
|
|
where `/TAGNAME' is optional, as usual, and MODS is a string of 0 or
|
|
|
|
|
more characters among `i' (ignore case), `m' (multi-line) and `s'
|
2002-06-13 11:15:46 +00:00
|
|
|
|
(single-line). The `m' and `s' modifiers behave as in Perl regular
|
|
|
|
|
expressions: `m' allows regexps to match more than one line, while `s'
|
|
|
|
|
(which implies `m') means that `.' matches newlines. The ability to
|
|
|
|
|
span newlines allows writing of much more powerful regular expressions
|
|
|
|
|
and rapid prototyping for tagging new languages.
|
|
|
|
|
|
2005-05-14 23:23:39 +00:00
|
|
|
|
**** Regular expressions can use char escape sequences as in GCC.
|
|
|
|
|
|
2002-06-13 11:15:46 +00:00
|
|
|
|
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,
|
2006-01-06 12:13:43 +00:00
|
|
|
|
CR, TAB, VT.
|
2002-06-13 11:15:46 +00:00
|
|
|
|
|
2002-08-28 12:57:46 +00:00
|
|
|
|
**** Regular expressions can be bound to a given language.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2002-06-13 12:10:39 +00:00
|
|
|
|
The syntax --regex={LANGUAGE}REGEX means that REGEX is used to make tags
|
|
|
|
|
only for files of language LANGUAGE, and ignored otherwise. This is
|
|
|
|
|
particularly useful when storing regexps in a file.
|
|
|
|
|
|
2002-08-28 12:57:46 +00:00
|
|
|
|
**** Regular expressions can be read from a file.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2002-06-13 12:10:39 +00:00
|
|
|
|
The --regex=@regexfile option means read the regexps from a file, one
|
|
|
|
|
per line. Lines beginning with space or tab are ignored.
|
|
|
|
|
|
2002-06-14 13:14:23 +00:00
|
|
|
|
*** New language parsing features
|
|
|
|
|
|
2002-08-30 16:41:25 +00:00
|
|
|
|
**** The `::' qualifier triggers C++ parsing in C file.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2002-08-30 16:41:25 +00:00
|
|
|
|
Previously, only the `template' and `class' keywords had this effect.
|
|
|
|
|
|
2005-06-21 11:40:22 +00:00
|
|
|
|
**** The GCC __attribute__ keyword is now recognized and ignored.
|
2004-09-18 10:21:24 +00:00
|
|
|
|
|
2004-09-13 13:42:00 +00:00
|
|
|
|
**** New language HTML.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
|
|
|
|
Tags are generated for `title' as well as `h1', `h2', and `h3'. Also,
|
|
|
|
|
when `name=' is used inside an anchor and whenever `id=' is used.
|
2004-09-13 13:42:00 +00:00
|
|
|
|
|
|
|
|
|
**** In Makefiles, constants are tagged.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2004-09-13 13:42:00 +00:00
|
|
|
|
If you want the old behavior instead, thus avoiding to increase the
|
|
|
|
|
size of the tags file, use the --no-globals option.
|
|
|
|
|
|
2004-09-18 10:21:24 +00:00
|
|
|
|
**** New language Lua.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2004-09-18 10:21:24 +00:00
|
|
|
|
All functions are tagged.
|
2004-09-13 13:42:00 +00:00
|
|
|
|
|
2002-06-14 13:14:23 +00:00
|
|
|
|
**** In Perl, packages are tags.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2002-03-12 13:40:49 +00:00
|
|
|
|
Subroutine tags are named from their package. You can jump to sub tags
|
|
|
|
|
as you did before, by the sub name, or additionally by looking for
|
|
|
|
|
package::sub.
|
|
|
|
|
|
2004-09-13 13:42:00 +00:00
|
|
|
|
**** In Prolog, etags creates tags for rules in addition to predicates.
|
|
|
|
|
|
2002-08-28 12:57:46 +00:00
|
|
|
|
**** New language PHP.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
|
|
|
|
Functions, classes and defines are tags. If the --members option is
|
|
|
|
|
specified to etags, variables are tags also.
|
2002-06-20 08:52:22 +00:00
|
|
|
|
|
2002-06-14 13:14:23 +00:00
|
|
|
|
**** New default keywords for TeX.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2002-06-06 13:22:23 +00:00
|
|
|
|
The new keywords are def, newcommand, renewcommand, newenvironment and
|
|
|
|
|
renewenvironment.
|
|
|
|
|
|
2006-07-11 11:03:11 +00:00
|
|
|
|
**** In C and derived languages, etags creates tags for #undef
|
|
|
|
|
|
2006-03-23 07:31:33 +00:00
|
|
|
|
*** Honor #line directives.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2002-03-12 13:40:49 +00:00
|
|
|
|
When Etags parses an input file that contains C preprocessor's #line
|
|
|
|
|
directives, it creates tags using the file name and line number
|
|
|
|
|
specified in those directives. This is useful when dealing with code
|
|
|
|
|
created from Cweb source files. When Etags tags the generated file, it
|
|
|
|
|
writes tags pointing to the source file.
|
2002-03-05 11:42:46 +00:00
|
|
|
|
|
2002-08-28 12:57:46 +00:00
|
|
|
|
*** New option --parse-stdin=FILE.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2002-06-06 13:22:23 +00:00
|
|
|
|
This option is mostly useful when calling etags from programs. It can
|
2002-06-06 13:18:44 +00:00
|
|
|
|
be used (only once) in place of a file name on the command line. Etags
|
2004-09-13 13:42:00 +00:00
|
|
|
|
reads from standard input and marks the produced tags as belonging to
|
2002-06-06 13:22:23 +00:00
|
|
|
|
the file FILE.
|
2002-06-06 12:57:03 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** VC Changes
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 23:23:39 +00:00
|
|
|
|
*** The key C-x C-q only changes the read-only state of the buffer
|
|
|
|
|
(toggle-read-only). It no longer checks files in or out.
|
|
|
|
|
|
|
|
|
|
We made this change because we held a poll and found that many users
|
|
|
|
|
were unhappy with the previous behavior. If you do prefer this
|
|
|
|
|
behavior, you can bind `vc-toggle-read-only' to C-x C-q in your
|
|
|
|
|
`.emacs' file:
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
(global-set-key "\C-x\C-q" 'vc-toggle-read-only)
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The function `vc-toggle-read-only' will continue to exist.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 23:23:39 +00:00
|
|
|
|
*** The new variable `vc-cvs-global-switches' specifies switches that
|
|
|
|
|
are passed to any CVS command invoked by VC.
|
|
|
|
|
|
|
|
|
|
These switches are used as "global options" for CVS, which means they
|
|
|
|
|
are inserted before the command name. For example, this allows you to
|
|
|
|
|
specify a compression level using the `-z#' option for CVS.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New backends for Subversion and Meta-CVS.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 23:23:39 +00:00
|
|
|
|
*** VC-Annotate mode enhancements
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-14 23:23:39 +00:00
|
|
|
|
In VC-Annotate mode, you can now use the following key bindings for
|
2005-05-02 20:58:54 +00:00
|
|
|
|
enhanced functionality to browse the annotations of past revisions, or
|
|
|
|
|
to view diffs or log entries directly from vc-annotate-mode:
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
P: annotates the previous revision
|
|
|
|
|
N: annotates the next revision
|
|
|
|
|
J: annotates the revision at line
|
|
|
|
|
A: annotates the revision previous to line
|
|
|
|
|
D: shows the diff of the revision at line with its previous revision
|
|
|
|
|
L: shows the log of the revision at line
|
|
|
|
|
W: annotates the workfile (most up to date) version
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** pcl-cvs changes:
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** In pcl-cvs mode, there is a new `d y' command to view the diffs
|
2005-05-02 20:58:54 +00:00
|
|
|
|
between the local version of the file and yesterday's head revision
|
|
|
|
|
in the repository.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** In pcl-cvs mode, there is a new `d r' command to view the changes
|
2005-05-02 20:58:54 +00:00
|
|
|
|
anyone has committed to the repository since you last executed
|
2005-05-14 23:23:39 +00:00
|
|
|
|
`checkout', `update' or `commit'. That means using cvs diff options
|
2005-05-02 20:58:54 +00:00
|
|
|
|
-rBASE -rHEAD.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 23:23:39 +00:00
|
|
|
|
** The new variable `mail-default-directory' specifies
|
|
|
|
|
`default-directory' for mail buffers. This directory is used for
|
|
|
|
|
auto-save files of mail buffers. It defaults to "~/".
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 23:23:39 +00:00
|
|
|
|
** The mode line can indicate new mail in a directory or file.
|
|
|
|
|
|
|
|
|
|
See the documentation of the user option
|
2005-05-09 21:02:37 +00:00
|
|
|
|
`display-time-mail-directory'.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** Rmail changes:
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** Rmail now displays 5-digit message ids in its summary buffer.
|
|
|
|
|
|
2005-08-12 11:22:30 +00:00
|
|
|
|
*** The new commands rmail-end-of-message and rmail-summary end-of-message,
|
|
|
|
|
by default bound to `/', go to the end of the current mail message in
|
|
|
|
|
Rmail and Rmail summary buffers.
|
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Support for `movemail' from GNU mailutils was added to Rmail.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-08 23:02:44 +00:00
|
|
|
|
This version of `movemail' allows to read mail from a wide range of
|
|
|
|
|
mailbox formats, including remote POP3 and IMAP4 mailboxes with or
|
|
|
|
|
without TLS encryption. If GNU mailutils is installed on the system
|
|
|
|
|
and its version of `movemail' can be found in exec-path, it will be
|
|
|
|
|
used instead of the native one.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Gnus package
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
|
|
|
|
*** Gnus now includes Sieve and PGG
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Sieve is a library for managing Sieve scripts. PGG is a library to handle
|
|
|
|
|
PGP/MIME.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
|
|
|
|
*** There are many news features, bug fixes and improvements.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
See the file GNUS-NEWS or the node "Oort Gnus" in the Gnus manual for details.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
|
|
|
|
** MH-E changes.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2006-11-13 05:29:54 +00:00
|
|
|
|
Upgraded to MH-E version 8.0.3. There have been major changes since
|
2005-05-02 20:58:54 +00:00
|
|
|
|
version 5.0.2; see MH-E-NEWS for details.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Calendar changes:
|
|
|
|
|
|
2005-08-09 12:11:00 +00:00
|
|
|
|
+++
|
|
|
|
|
*** You can now use < and >, instead of C-x < and C-x >, to scroll
|
|
|
|
|
the calendar left or right. (The old key bindings still work too.)
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** There is a new calendar package, icalendar.el, that can be used to
|
2005-05-02 20:58:54 +00:00
|
|
|
|
convert Emacs diary entries to/from the iCalendar format.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2006-10-28 22:02:20 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new package cal-html.el writes HTML files with calendar and
|
|
|
|
|
diary entries.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** Diary sexp entries can have custom marking in the calendar.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Diary sexp functions which only apply to certain days (such as
|
|
|
|
|
`diary-block' or `diary-cyclic') now take an optional parameter MARK,
|
|
|
|
|
which is the name of a face or a single-character string indicating
|
|
|
|
|
how to highlight the day in the calendar display. Specifying a
|
|
|
|
|
single-character string as @var{mark} places the character next to the
|
|
|
|
|
day in the calendar. Specifying a face highlights the day with that
|
|
|
|
|
face. This lets you have different colors or markings for vacations,
|
|
|
|
|
appointments, paydays or anything else using a sexp.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The new function `calendar-goto-day-of-year' (g D) prompts for a
|
2005-05-02 20:58:54 +00:00
|
|
|
|
year and day number, and moves to that date. Negative day numbers
|
|
|
|
|
count backward from the end of the year.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The new Calendar function `calendar-goto-iso-week' (g w)
|
2005-05-02 20:58:54 +00:00
|
|
|
|
prompts for a year and a week number, and moves to the first
|
|
|
|
|
day of that ISO week.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The new variable `calendar-minimum-window-height' affects the
|
2005-05-02 20:58:54 +00:00
|
|
|
|
window generated by the function `generate-calendar-window'.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The functions `holiday-easter-etc' and `holiday-advent' now take
|
2005-05-02 20:58:54 +00:00
|
|
|
|
optional arguments, in order to only report on the specified holiday
|
|
|
|
|
rather than all. This makes customization of variables such as
|
|
|
|
|
`christian-holidays' simpler.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
*** The function `simple-diary-display' now by default sets a header line.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
This can be controlled through the variables `diary-header-line-flag'
|
|
|
|
|
and `diary-header-line-format'.
|
2003-07-03 12:49:26 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
2005-05-14 23:23:39 +00:00
|
|
|
|
*** The procedure for activating appointment reminders has changed:
|
|
|
|
|
use the new function `appt-activate'. The new variable
|
2005-05-02 21:35:52 +00:00
|
|
|
|
`appt-display-format' controls how reminders are displayed, replacing
|
2005-05-14 23:23:39 +00:00
|
|
|
|
`appt-issue-message', `appt-visible', and `appt-msg-window'.
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new functions `diary-from-outlook', `diary-from-outlook-gnus',
|
|
|
|
|
and `diary-from-outlook-rmail' can be used to import diary entries
|
|
|
|
|
from Outlook-format appointments in mail messages. The variable
|
|
|
|
|
`diary-outlook-formats' can be customized to recognize additional
|
|
|
|
|
formats.
|
2002-07-01 22:17:06 +00:00
|
|
|
|
|
2005-10-09 15:47:43 +00:00
|
|
|
|
+++
|
|
|
|
|
** Speedbar changes:
|
|
|
|
|
|
|
|
|
|
*** Speedbar items can now be selected by clicking mouse-1, based on
|
|
|
|
|
the `mouse-1-click-follows-link' mechanism.
|
|
|
|
|
|
|
|
|
|
*** SPC and DEL are no longer bound to scroll up/down in the speedbar
|
|
|
|
|
keymap.
|
|
|
|
|
|
|
|
|
|
*** The new command `speedbar-toggle-line-expansion', bound to SPC,
|
|
|
|
|
contracts or expands the line under the cursor.
|
|
|
|
|
|
|
|
|
|
*** New command `speedbar-create-directory', bound to `M'.
|
|
|
|
|
|
|
|
|
|
*** The new commands `speedbar-expand-line-descendants' and
|
|
|
|
|
`speedbar-contract-line-descendants', bound to `[' and `]'
|
|
|
|
|
respectively, expand and contract the line under cursor with all of
|
|
|
|
|
its descendents.
|
|
|
|
|
|
|
|
|
|
*** The new user option `speedbar-query-confirmation-method' controls
|
|
|
|
|
how querying is performed for file operations. A value of 'always
|
|
|
|
|
means to always query before file operations; 'none-but-delete means
|
|
|
|
|
to not query before any file operations, except before a file
|
|
|
|
|
deletion.
|
|
|
|
|
|
|
|
|
|
*** The new user option `speedbar-select-frame-method' specifies how
|
|
|
|
|
to select a frame for displaying a file opened with the speedbar. A
|
|
|
|
|
value of 'attached means to use the attached frame (the frame that
|
|
|
|
|
speedbar was started from.) A number such as 1 or -1 means to pass
|
|
|
|
|
that number to `other-frame'.
|
|
|
|
|
|
|
|
|
|
*** The new user option `speedbar-use-tool-tips-flag', if non-nil,
|
|
|
|
|
means to display tool-tips for speedbar items.
|
|
|
|
|
|
|
|
|
|
*** The frame management code in speedbar.el has been split into a new
|
|
|
|
|
`dframe' library. Emacs Lisp code that makes use of the speedbar
|
|
|
|
|
should use `dframe-attached-frame' instead of
|
|
|
|
|
`speedbar-attached-frame', `dframe-timer' instead of `speedbar-timer',
|
|
|
|
|
`dframe-close-frame' instead of `speedbar-close-frame', and
|
|
|
|
|
`dframe-activity-change-focus-flag' instead of
|
|
|
|
|
`speedbar-activity-change-focus-flag'. The variables
|
|
|
|
|
`speedbar-update-speed' and `speedbar-navigating-speed' are also
|
|
|
|
|
obsolete; use `dframe-update-speed' instead.
|
|
|
|
|
|
2002-07-07 18:30:45 +00:00
|
|
|
|
---
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** sql changes.
|
2002-04-29 13:38:40 +00:00
|
|
|
|
|
2006-03-23 07:31:33 +00:00
|
|
|
|
*** The variable `sql-product' controls the highlighting of different
|
2005-05-02 20:58:54 +00:00
|
|
|
|
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
|
|
|
|
|
SQL->Highlighting submenu.)
|
2002-04-29 13:38:40 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The following values are supported:
|
2002-04-29 13:38:40 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
ansi ANSI Standard (default)
|
|
|
|
|
db2 DB2
|
|
|
|
|
informix Informix
|
|
|
|
|
ingres Ingres
|
|
|
|
|
interbase Interbase
|
|
|
|
|
linter Linter
|
|
|
|
|
ms Microsoft
|
|
|
|
|
mysql MySQL
|
|
|
|
|
oracle Oracle
|
|
|
|
|
postgres Postgres
|
|
|
|
|
solid Solid
|
|
|
|
|
sqlite SQLite
|
|
|
|
|
sybase Sybase
|
2002-04-29 13:38:40 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The current product name will be shown on the mode line following the
|
|
|
|
|
SQL mode indicator.
|
2002-04-29 13:38:40 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The technique of setting `sql-mode-font-lock-defaults' directly in
|
2005-05-14 23:23:39 +00:00
|
|
|
|
your `.emacs' will no longer establish the default highlighting -- Use
|
2005-05-02 20:58:54 +00:00
|
|
|
|
`sql-product' to accomplish this.
|
2003-02-07 21:47:21 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
ANSI keywords are always highlighted.
|
2002-09-11 21:03:50 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** The function `sql-add-product-keywords' can be used to add
|
|
|
|
|
font-lock rules to the product specific rules. For example, to have
|
2005-05-14 23:23:39 +00:00
|
|
|
|
all identifiers ending in `_t' under MS SQLServer treated as a type,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
you would use the following line in your .emacs file:
|
2002-09-11 21:03:50 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
(sql-add-product-keywords 'ms
|
|
|
|
|
'(("\\<\\w+_t\\>" . font-lock-type-face)))
|
2002-04-29 13:38:40 +00:00
|
|
|
|
|
2005-05-14 23:23:39 +00:00
|
|
|
|
*** Oracle support includes keyword highlighting for Oracle 9i.
|
|
|
|
|
|
|
|
|
|
Most SQL and PL/SQL keywords are implemented. SQL*Plus commands are
|
2005-05-02 20:58:54 +00:00
|
|
|
|
highlighted in `font-lock-doc-face'.
|
2002-07-01 22:17:06 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** Microsoft SQLServer support has been significantly improved.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Keyword highlighting for SqlServer 2000 is implemented.
|
|
|
|
|
sql-interactive-mode defaults to use osql, rather than isql, because
|
|
|
|
|
osql flushes its error stream more frequently. Thus error messages
|
|
|
|
|
are displayed when they occur rather than when the session is
|
|
|
|
|
terminated.
|
2002-07-01 22:17:06 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
If the username and password are not provided to `sql-ms', osql is
|
2005-05-14 23:23:39 +00:00
|
|
|
|
called with the `-E' command line argument to use the operating system
|
2005-05-02 20:58:54 +00:00
|
|
|
|
credentials to authenticate the user.
|
2002-08-19 23:14:45 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** Postgres support is enhanced.
|
|
|
|
|
Keyword highlighting of Postgres 7.3 is implemented. Prompting for
|
|
|
|
|
the username and the pgsql `-U' option is added.
|
2002-08-19 23:14:45 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** MySQL support is enhanced.
|
2006-03-23 07:31:33 +00:00
|
|
|
|
Keyword highlighting of MySql 4.0 is implemented.
|
2002-07-01 22:17:06 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** Imenu support has been enhanced to locate tables, views, indexes,
|
|
|
|
|
packages, procedures, functions, triggers, sequences, rules, and
|
|
|
|
|
defaults.
|
2002-08-29 13:12:05 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** Added SQL->Start SQLi Session menu entry which calls the
|
2005-05-14 23:23:39 +00:00
|
|
|
|
appropriate `sql-interactive-mode' wrapper for the current setting of
|
2005-05-02 20:58:54 +00:00
|
|
|
|
`sql-product'.
|
2002-08-29 13:12:05 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-14 23:23:39 +00:00
|
|
|
|
*** sql.el supports the SQLite interpreter--call 'sql-sqlite'.
|
2004-11-20 22:09:16 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** FFAP changes:
|
2004-11-20 14:18:59 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 23:23:39 +00:00
|
|
|
|
*** New ffap commands and keybindings:
|
|
|
|
|
|
|
|
|
|
C-x C-r (`ffap-read-only'),
|
2005-05-02 21:35:52 +00:00
|
|
|
|
C-x C-v (`ffap-alternate-file'), C-x C-d (`ffap-list-directory'),
|
|
|
|
|
C-x 4 r (`ffap-read-only-other-window'), C-x 4 d (`ffap-dired-other-window'),
|
|
|
|
|
C-x 5 r (`ffap-read-only-other-frame'), C-x 5 d (`ffap-dired-other-frame').
|
2004-11-20 14:18:59 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
2005-05-14 23:23:39 +00:00
|
|
|
|
*** FFAP accepts wildcards in a file name by default.
|
|
|
|
|
|
|
|
|
|
C-x C-f passes the file name to `find-file' with non-nil WILDCARDS
|
|
|
|
|
argument, which visits multiple files, and C-x d passes it to `dired'.
|
2004-11-16 17:31:19 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
2006-05-21 23:53:29 +00:00
|
|
|
|
** Changes in Skeleton
|
|
|
|
|
|
|
|
|
|
*** In skeleton.el, `-' marks the `skeleton-point' without interregion interaction.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
|
|
|
|
`@' has reverted to only setting `skeleton-positions' and no longer
|
|
|
|
|
sets `skeleton-point'. Skeletons which used @ to mark
|
|
|
|
|
`skeleton-point' independent of `_' should now use `-' instead. The
|
|
|
|
|
updated `skeleton-insert' docstring explains these new features along
|
|
|
|
|
with other details of skeleton construction.
|
2004-11-16 17:31:19 +00:00
|
|
|
|
|
2006-05-21 23:53:29 +00:00
|
|
|
|
*** The variables `skeleton-transformation', `skeleton-filter', and
|
|
|
|
|
`skeleton-pair-filter' have been renamed to
|
|
|
|
|
`skeleton-transformation-function', `skeleton-filter-function', and
|
|
|
|
|
`skeleton-pair-filter-function'. The old names are still available
|
|
|
|
|
as aliases.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
2005-09-15 13:17:55 +00:00
|
|
|
|
** Hideshow mode changes
|
|
|
|
|
|
|
|
|
|
*** New variable `hs-set-up-overlay' allows customization of the overlay
|
2005-05-02 21:35:52 +00:00
|
|
|
|
used to effect hiding for hideshow minor mode. Integration with isearch
|
|
|
|
|
handles the overlay property `display' specially, preserving it during
|
|
|
|
|
temporary overlay showing in the course of an isearch operation.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-09-15 13:17:55 +00:00
|
|
|
|
*** New variable `hs-allow-nesting' non-nil means that hiding a block does
|
2005-09-14 00:36:38 +00:00
|
|
|
|
not discard the hidden state of any "internal" blocks; when the parent
|
|
|
|
|
block is later shown, the internal blocks remain hidden. Default is nil.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
+++
|
2005-05-14 23:23:39 +00:00
|
|
|
|
** `hide-ifdef-mode' now uses overlays rather than selective-display
|
2005-05-02 21:35:52 +00:00
|
|
|
|
to hide its text. This should be mostly transparent but slightly
|
|
|
|
|
changes the behavior of motion commands like C-e and C-p.
|
2004-10-26 12:59:20 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
2005-05-14 23:23:39 +00:00
|
|
|
|
** `partial-completion-mode' now handles partial completion on directory names.
|
2004-10-22 13:17:31 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** The type-break package now allows `type-break-file-name' to be nil
|
|
|
|
|
and if so, doesn't store any data across sessions. This is handy if
|
2005-05-14 23:23:39 +00:00
|
|
|
|
you don't want the `.type-break' file in your home directory or are
|
2005-05-02 21:35:52 +00:00
|
|
|
|
annoyed by the need for interaction when you kill Emacs.
|
2004-09-19 01:11:35 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** `ps-print' can now print characters from the mule-unicode charsets.
|
2004-09-08 03:26:24 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
Printing text with characters from the mule-unicode-* sets works with
|
2005-05-14 23:23:39 +00:00
|
|
|
|
`ps-print', provided that you have installed the appropriate BDF
|
|
|
|
|
fonts. See the file INSTALL for URLs where you can find these fonts.
|
2004-08-08 17:09:43 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** New command `strokes-global-set-stroke-string'.
|
|
|
|
|
This is like `strokes-global-set-stroke', but it allows you to bind
|
|
|
|
|
the stroke directly to a string to insert. This is convenient for
|
|
|
|
|
using strokes as an input method.
|
2004-08-02 15:30:37 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Emacs server changes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** You can have several Emacs servers on the same machine.
|
|
|
|
|
|
|
|
|
|
% emacs --eval '(setq server-name "foo")' -f server-start &
|
|
|
|
|
% emacs --eval '(setq server-name "bar")' -f server-start &
|
|
|
|
|
% emacsclient -s foo file1
|
|
|
|
|
% emacsclient -s bar file2
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The `emacsclient' command understands the options `--eval' and
|
2005-05-14 13:18:57 +00:00
|
|
|
|
`--display' which tell Emacs respectively to evaluate the given Lisp
|
2005-05-09 21:02:37 +00:00
|
|
|
|
expression and to use the given display when visiting files.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** User option `server-mode' can be used to start a server process.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** LDAP support now defaults to ldapsearch from OpenLDAP version 2.
|
2004-07-15 00:38:38 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** You can now disable pc-selection-mode after enabling it.
|
|
|
|
|
|
2005-05-14 23:23:39 +00:00
|
|
|
|
M-x pc-selection-mode behaves like a proper minor mode, and with no
|
|
|
|
|
argument it toggles the mode. Turning off PC-Selection mode restores
|
|
|
|
|
the global key bindings that were replaced by turning on the mode.
|
2004-06-21 03:26:53 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** `uniquify-strip-common-suffix' tells uniquify to prefer
|
|
|
|
|
`file|dir1' and `file|dir2' to `file|dir1/subdir' and `file|dir2/subdir'.
|
2004-06-13 22:39:41 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** Support for `magic cookie' standout modes has been removed.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
|
|
|
|
Emacs still works on terminals that require magic cookies in order to
|
|
|
|
|
use standout mode, but they can no longer display mode-lines in
|
|
|
|
|
inverse-video.
|
2004-06-13 22:39:41 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** The game `mpuz' is enhanced.
|
2004-06-13 22:39:41 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
`mpuz' now allows the 2nd factor not to have two identical digits. By
|
|
|
|
|
default, all trivial operations involving whole lines are performed
|
|
|
|
|
automatically. The game uses faces for better visual feedback.
|
2004-06-06 22:40:53 +00:00
|
|
|
|
|
2005-07-05 08:30:45 +00:00
|
|
|
|
** battery.el changes:
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** display-battery-mode replaces display-battery.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-07-05 08:30:45 +00:00
|
|
|
|
*** battery.el now works on recent versions of OS X.
|
2004-05-29 16:26:16 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
2005-05-14 23:23:39 +00:00
|
|
|
|
** calculator.el now has radix grouping mode.
|
|
|
|
|
|
|
|
|
|
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
|
2006-03-23 07:31:33 +00:00
|
|
|
|
byte boundaries etc. For more info, see the documentation of the
|
2005-05-14 23:23:39 +00:00
|
|
|
|
variable `calculator-radix-grouping-mode'.
|
2004-06-21 03:10:40 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** fast-lock.el and lazy-lock.el are obsolete. Use jit-lock.el instead.
|
2004-04-20 22:44:20 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** iso-acc.el is now obsolete. Use one of the latin input methods instead.
|
2004-04-19 15:29:23 +00:00
|
|
|
|
|
2006-08-10 20:07:08 +00:00
|
|
|
|
---
|
|
|
|
|
** zone-mode.el is now obsolete. Use dns-mode.el instead.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
2005-05-14 23:23:39 +00:00
|
|
|
|
** cplus-md.el has been deleted.
|
2006-05-27 17:46:37 +00:00
|
|
|
|
|
|
|
|
|
** Ewoc changes
|
|
|
|
|
|
|
|
|
|
*** The new function `ewoc-delete' deletes specified nodes.
|
|
|
|
|
|
|
|
|
|
*** `ewoc-create' now takes optional arg NOSEP, which inhibits insertion of
|
|
|
|
|
a newline after each pretty-printed entry and after the header and footer.
|
|
|
|
|
This allows you to create multiple-entry ewocs on a single line and to
|
|
|
|
|
effect "invisible" nodes by arranging for the pretty-printer to not print
|
|
|
|
|
anything for those nodes.
|
|
|
|
|
|
|
|
|
|
For example, these two sequences of expressions behave identically:
|
|
|
|
|
|
|
|
|
|
;; NOSEP nil
|
|
|
|
|
(defun PP (data) (insert (format "%S" data)))
|
|
|
|
|
(ewoc-create 'PP "start\n")
|
|
|
|
|
|
|
|
|
|
;; NOSEP t
|
|
|
|
|
(defun PP (data) (insert (format "%S\n" data)))
|
|
|
|
|
(ewoc-create 'PP "start\n\n" "\n" t)
|
|
|
|
|
|
2006-07-04 00:06:55 +00:00
|
|
|
|
** Locate changes
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** By default, reverting the *Locate* buffer now just runs the last
|
|
|
|
|
`locate' command back over again without offering to update the locate
|
|
|
|
|
database (which normally only works if you have root privileges). If
|
|
|
|
|
you prefer the old behavior, set the new customizable option
|
|
|
|
|
`locate-update-when-revert' to t.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
* Changes in Emacs 22.1 on non-free operating systems
|
2004-03-19 22:26:38 +00:00
|
|
|
|
|
2005-07-15 21:50:23 +00:00
|
|
|
|
+++
|
2005-07-15 21:49:02 +00:00
|
|
|
|
** The HOME directory defaults to Application Data under the user profile.
|
|
|
|
|
|
|
|
|
|
If you used a previous version of Emacs without setting the HOME
|
2005-07-16 10:48:46 +00:00
|
|
|
|
environment variable and a `.emacs' was saved, then Emacs will continue
|
|
|
|
|
using C:/ as the default HOME. But if you are installing Emacs afresh,
|
2005-07-15 21:49:02 +00:00
|
|
|
|
the default location will be the "Application Data" (or similar
|
2005-07-16 10:48:46 +00:00
|
|
|
|
localized name) subdirectory of your user profile. A typical location
|
|
|
|
|
of this directory is "C:\Documents and Settings\USERNAME\Application Data",
|
|
|
|
|
where USERNAME is your user name.
|
|
|
|
|
|
|
|
|
|
This change means that users can now have their own `.emacs' files on
|
|
|
|
|
shared computers, and the default HOME directory is less likely to be
|
|
|
|
|
read-only on computers that are administered by someone else.
|
2005-07-15 21:49:02 +00:00
|
|
|
|
|
2004-09-22 23:12:22 +00:00
|
|
|
|
+++
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Passing resources on the command line now works on MS Windows.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
You can use --xrm to pass resource settings to Emacs, overriding any
|
|
|
|
|
existing values. For example:
|
2004-04-20 22:44:20 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
emacs --xrm "Emacs.Background:red" --xrm "Emacs.Geometry:100x20"
|
2004-04-20 22:44:20 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
will start up Emacs on an initial frame of 100x20 with red background,
|
|
|
|
|
irrespective of geometry or background setting on the Windows registry.
|
2004-04-25 00:42:22 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** On MS Windows, the "system caret" now follows the cursor.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
This enables Emacs to work better with programs that need to track
|
|
|
|
|
the cursor, for example screen magnifiers and text to speech programs.
|
2004-04-25 00:42:22 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** Tooltips now work on MS Windows.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
See the Emacs 21.1 NEWS entry for tooltips for details.
|
2004-04-25 00:42:22 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** Images are now supported on MS Windows.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
PBM and XBM images are supported out of the box. Other image formats
|
|
|
|
|
depend on external libraries. All of these libraries have been ported
|
|
|
|
|
to Windows, and can be found in both source and binary form at
|
|
|
|
|
http://gnuwin32.sourceforge.net/. Note that libpng also depends on
|
|
|
|
|
zlib, and tiff depends on the version of jpeg that it was compiled
|
|
|
|
|
against. For additional information, see nt/INSTALL.
|
2004-04-25 00:42:22 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** Sound is now supported on MS Windows.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
WAV format is supported on all versions of Windows, other formats such
|
|
|
|
|
as AU, AIFF and MP3 may be supported in the more recent versions of
|
|
|
|
|
Windows, or when other software provides hooks into the system level
|
|
|
|
|
sound support for those formats.
|
2004-04-26 22:22:23 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Different shaped mouse pointers are supported on MS Windows.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
The mouse pointer changes shape depending on what is under the pointer.
|
2004-04-26 22:22:23 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Pointing devices with more than 3 buttons are now supported on MS Windows.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
The new variable `w32-pass-extra-mouse-buttons-to-system' controls
|
|
|
|
|
whether Emacs should handle the extra buttons itself (the default), or
|
|
|
|
|
pass them to Windows to be handled with system-wide functions.
|
2005-01-05 16:36:19 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-02 21:35:52 +00:00
|
|
|
|
** Emacs takes note of colors defined in Control Panel on MS-Windows.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
The Control Panel defines some default colors for applications in much
|
|
|
|
|
the same way as wildcard X Resources do on X. Emacs now adds these
|
|
|
|
|
colors to the colormap prefixed by System (eg SystemMenu for the
|
|
|
|
|
default Menu background, SystemMenuText for the foreground), and uses
|
|
|
|
|
some of them to initialize some of the default faces.
|
|
|
|
|
`list-colors-display' shows the list of System color names, in case
|
|
|
|
|
you wish to use them in other faces.
|
2005-01-05 16:36:19 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
|
|
|
|
** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations.
|
2005-05-14 23:23:39 +00:00
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
Those systems use Unicode internally, so this allows Emacs to share
|
|
|
|
|
multilingual text with other applications. On other versions of
|
|
|
|
|
MS Windows, Emacs now uses the appropriate locale coding-system, so
|
|
|
|
|
the clipboard should work correctly for your local language without
|
|
|
|
|
any customizations.
|
2004-04-26 22:22:23 +00:00
|
|
|
|
|
2005-07-06 21:55:51 +00:00
|
|
|
|
---
|
|
|
|
|
** Running in a console window in Windows now uses the console size.
|
|
|
|
|
|
|
|
|
|
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
|
2006-03-23 07:31:33 +00:00
|
|
|
|
w32-use-full-screen-buffer is now nil, which favors local console
|
2005-07-06 21:55:51 +00:00
|
|
|
|
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
|
|
|
|
|
defaults to 80x25. If you use such a telnet server regularly at a size
|
|
|
|
|
other than 80x25, you can still manually set
|
|
|
|
|
w32-use-full-screen-buffer to t.
|
|
|
|
|
|
2005-05-02 21:35:52 +00:00
|
|
|
|
---
|
2005-05-14 23:23:39 +00:00
|
|
|
|
** On Mac OS, `keyboard-coding-system' changes based on the keyboard script.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** The variable `mac-keyboard-text-encoding' and the constants
|
2005-05-02 21:35:52 +00:00
|
|
|
|
`kTextEncodingMacRoman', `kTextEncodingISOLatin1', and
|
|
|
|
|
`kTextEncodingISOLatin2' are obsolete.
|
2005-11-24 08:18:17 +00:00
|
|
|
|
|
|
|
|
|
** The variable `mac-command-key-is-meta' is obsolete. Use
|
|
|
|
|
`mac-command-modifier' and `mac-option-modifier' instead.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
* Incompatible Lisp Changes in Emacs 22.1
|
2004-04-29 22:41:05 +00:00
|
|
|
|
|
2006-08-01 00:49:58 +00:00
|
|
|
|
** The function find-operation-coding-system may be called with a cons
|
|
|
|
|
(FILENAME . BUFFER) in the second argument if the first argument
|
|
|
|
|
OPERATION is `insert-file-contents', and thus a function registered in
|
|
|
|
|
`file-coding-system-alist' is also called with such an argument.
|
2006-05-26 04:57:26 +00:00
|
|
|
|
|
2005-05-20 22:05:21 +00:00
|
|
|
|
---
|
|
|
|
|
** The variables post-command-idle-hook and post-command-idle-delay have
|
|
|
|
|
been removed. Use run-with-idle-timer instead.
|
|
|
|
|
|
2004-09-22 23:12:22 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** `suppress-keymap' now works by remapping `self-insert-command' to
|
|
|
|
|
the command `undefined'. (In earlier Emacs versions, it used
|
|
|
|
|
`substitute-key-definition' to rebind self inserting characters to
|
|
|
|
|
`undefined'.)
|
2004-03-19 22:26:38 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
|
|
|
|
** Mode line display ignores text properties as well as the
|
|
|
|
|
:propertize and :eval forms in the value of a variable whose
|
|
|
|
|
`risky-local-variable' property is nil.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2006-04-01 21:25:22 +00:00
|
|
|
|
---
|
|
|
|
|
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.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
** Support for Mocklisp has been removed.
|
2005-10-29 20:04:09 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** The variable `memory-full' now remains t until
|
|
|
|
|
there is no longer a shortage of memory.
|
2006-05-21 21:51:17 +00:00
|
|
|
|
|
2006-07-09 02:08:14 +00:00
|
|
|
|
** When Emacs receives a USR1 or USR2 signal, this generates
|
|
|
|
|
an input event: usr1-signal or usr2-signal.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
* Lisp Changes in Emacs 22.1
|
2004-03-19 22:26:38 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** General Lisp changes:
|
2004-03-19 22:26:38 +00:00
|
|
|
|
|
2005-08-14 10:03:15 +00:00
|
|
|
|
*** The function `expt' handles negative exponents differently.
|
|
|
|
|
The value for `(expt A B)', if both A and B are integers and B is
|
|
|
|
|
negative, is now a float. For example: (expt 2 -2) => 0.25.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The function `eql' is now available without requiring the CL package.
|
2004-03-19 22:26:38 +00:00
|
|
|
|
|
2006-09-20 23:38:23 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new function `memql' is like `memq', but uses `eql' for comparison,
|
|
|
|
|
that is, floats are compared by value and other elements with `eq'.
|
|
|
|
|
|
2004-09-22 23:12:22 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `makehash' is now obsolete. Use `make-hash-table' instead.
|
2004-09-07 21:16:01 +00:00
|
|
|
|
|
2005-04-30 20:34:12 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** `add-to-list' takes an optional third argument, APPEND.
|
2004-12-07 05:01:55 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
If APPEND is non-nil, the new element gets added at the end of the
|
|
|
|
|
list instead of at the beginning. This change actually occurred in
|
|
|
|
|
Emacs 21.1, but was not documented then.
|
2004-01-24 17:40:21 +00:00
|
|
|
|
|
2005-06-14 11:11:31 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New function `add-to-ordered-list' is like `add-to-list' but
|
2005-06-15 21:00:27 +00:00
|
|
|
|
associates a numeric ordering of each element added to the list.
|
2005-06-14 11:11:31 +00:00
|
|
|
|
|
2004-09-22 23:12:22 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function `copy-tree' makes a copy of a tree.
|
|
|
|
|
|
2006-03-11 22:49:40 +00:00
|
|
|
|
It recursively copies through both CARs and CDRs.
|
2004-02-15 18:15:38 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function `delete-dups' deletes `equal' duplicate elements from a list.
|
|
|
|
|
|
|
|
|
|
It modifies the list destructively, like `delete'. Of several `equal'
|
|
|
|
|
occurrences of an element in the list, the one that's kept is the
|
|
|
|
|
first one.
|
2004-02-15 18:15:38 +00:00
|
|
|
|
|
2006-05-06 07:54:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New function `add-to-history' adds an element to a history list.
|
|
|
|
|
|
|
|
|
|
Lisp packages should use this function to add elements to their
|
|
|
|
|
history lists.
|
|
|
|
|
|
2006-05-07 20:57:58 +00:00
|
|
|
|
If `history-delete-duplicates' is non-nil, it removes duplicates of
|
|
|
|
|
the new element from the history list it updates.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function `rassq-delete-all'.
|
|
|
|
|
|
|
|
|
|
(rassq-delete-all VALUE ALIST) deletes, from ALIST, each element whose
|
|
|
|
|
CDR is `eq' to the specified value.
|
2004-02-15 18:15:38 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The function `number-sequence' makes a list of equally-separated numbers.
|
|
|
|
|
|
|
|
|
|
For instance, (number-sequence 4 9) returns (4 5 6 7 8 9). By
|
|
|
|
|
default, the separation is 1, but you can specify a different
|
|
|
|
|
separation as the third argument. (number-sequence 1.5 6 2) returns
|
|
|
|
|
(1.5 3.5 5.5).
|
2004-02-15 18:15:38 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New variables `most-positive-fixnum' and `most-negative-fixnum'.
|
|
|
|
|
|
|
|
|
|
They hold the largest and smallest possible integer values.
|
2004-02-15 18:15:38 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** Minor change in the function `format'.
|
|
|
|
|
|
|
|
|
|
Some flags that were accepted but not implemented (such as "*") are no
|
|
|
|
|
longer accepted.
|
2004-02-15 18:15:38 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** Functions `get' and `plist-get' no longer give errors for bad plists.
|
|
|
|
|
|
|
|
|
|
They return nil for a malformed property list or if the list is
|
|
|
|
|
cyclic.
|
2004-03-02 11:09:29 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New functions `lax-plist-get' and `lax-plist-put'.
|
|
|
|
|
|
|
|
|
|
They are like `plist-get' and `plist-put', except that they compare
|
|
|
|
|
the property name using `equal' rather than `eq'.
|
2004-03-02 11:09:29 +00:00
|
|
|
|
|
2004-10-09 18:57:48 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New variable `print-continuous-numbering'.
|
|
|
|
|
|
|
|
|
|
When this is non-nil, successive calls to print functions use a single
|
|
|
|
|
numbering scheme for circular structure references. This is only
|
|
|
|
|
relevant when `print-circle' is non-nil.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
When you bind `print-continuous-numbering' to t, you should
|
|
|
|
|
also bind `print-number-table' to nil.
|
2004-01-27 07:42:55 +00:00
|
|
|
|
|
2004-10-09 18:57:48 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `macroexpand-all' expands all macros in a form.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
It is similar to the Common-Lisp function of the same name.
|
|
|
|
|
One difference is that it guarantees to return the original argument
|
|
|
|
|
if no expansion is done, which can be tested using `eq'.
|
2004-04-18 22:23:01 +00:00
|
|
|
|
|
2004-01-24 17:40:21 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The function `atan' now accepts an optional second argument.
|
|
|
|
|
|
|
|
|
|
When called with 2 arguments, as in `(atan Y X)', `atan' returns the
|
|
|
|
|
angle in radians between the vector [X, Y] and the X axis. (This is
|
|
|
|
|
equivalent to the standard C library function `atan2'.)
|
2001-11-05 00:14:46 +00:00
|
|
|
|
|
2004-01-20 23:09:25 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** A function or macro's doc string can now specify the calling pattern.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
You put this info in the doc string's last line. It should be
|
|
|
|
|
formatted so as to match the regexp "\n\n(fn .*)\\'". If you don't
|
|
|
|
|
specify this explicitly, Emacs determines it from the actual argument
|
|
|
|
|
names. Usually that default is right, but not always.
|
2004-01-20 00:08:33 +00:00
|
|
|
|
|
2004-01-16 01:48:11 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New macro `with-local-quit' temporarily allows quitting.
|
|
|
|
|
|
|
|
|
|
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
|
2006-03-23 07:31:33 +00:00
|
|
|
|
the code that has inhibited quitting exits.
|
2004-01-16 01:48:11 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
This is for use around potentially blocking or long-running code
|
|
|
|
|
inside timer functions and `post-command-hook' functions.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New macro `define-obsolete-function-alias'.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
This combines `defalias' and `make-obsolete'.
|
2005-04-30 20:34:12 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function `unsafep' determines whether a Lisp form is safe.
|
|
|
|
|
|
|
|
|
|
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
|
2006-01-06 12:13:43 +00:00
|
|
|
|
(calls unknown function, alters global variable, etc.).
|
2005-04-30 20:34:12 +00:00
|
|
|
|
|
2005-10-22 15:36:08 +00:00
|
|
|
|
+++
|
2005-10-22 15:27:03 +00:00
|
|
|
|
*** New macro `eval-at-startup' specifies expressions to
|
|
|
|
|
evaluate when Emacs starts up. If this is done after startup,
|
|
|
|
|
it evaluates those expressions immediately.
|
|
|
|
|
|
2005-11-12 00:58:11 +00:00
|
|
|
|
This is useful in packages that can be preloaded.
|
2005-10-22 15:27:03 +00:00
|
|
|
|
|
2005-06-02 10:06:14 +00:00
|
|
|
|
*** `list-faces-display' takes an optional argument, REGEXP.
|
|
|
|
|
|
|
|
|
|
If it is non-nil, the function lists only faces matching this regexp.
|
|
|
|
|
|
2006-04-07 18:52:30 +00:00
|
|
|
|
+++
|
2006-04-29 14:14:53 +00:00
|
|
|
|
*** New functions `string-or-null-p' and `booleanp'.
|
2006-04-07 18:52:30 +00:00
|
|
|
|
|
2006-04-29 14:14:53 +00:00
|
|
|
|
`string-or-null-p' returns non-nil iff OBJECT is a string or nil.
|
|
|
|
|
`booleanp' returns non-nil iff OBJECT is a t or nil.
|
2006-04-07 18:52:30 +00:00
|
|
|
|
|
2006-07-17 21:07:29 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New hook `command-error-function'.
|
|
|
|
|
|
|
|
|
|
By setting this variable to a function, you can control
|
|
|
|
|
how the editor command loop shows the user an error message.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Lisp code indentation features:
|
2005-04-30 20:34:12 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The `defmacro' form can contain indentation and edebug declarations.
|
|
|
|
|
|
|
|
|
|
These declarations specify how to indent the macro calls in Lisp mode
|
|
|
|
|
and how to debug them with Edebug. You write them like this:
|
2004-01-05 18:21:12 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
(defmacro NAME LAMBDA-LIST [DOC-STRING] [DECLARATION ...] ...)
|
|
|
|
|
|
|
|
|
|
DECLARATION is a list `(declare DECLARATION-SPECIFIER ...)'. The
|
2005-05-14 13:15:35 +00:00
|
|
|
|
possible declaration specifiers are:
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
(indent INDENT)
|
|
|
|
|
Set NAME's `lisp-indent-function' property to INDENT.
|
|
|
|
|
|
|
|
|
|
(edebug DEBUG)
|
|
|
|
|
Set NAME's `edebug-form-spec' property to DEBUG. (This is
|
2005-05-14 13:15:35 +00:00
|
|
|
|
equivalent to writing a `def-edebug-spec' for the macro,
|
|
|
|
|
but this is cleaner.)
|
2003-12-29 11:46:03 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** cl-indent now allows customization of Indentation of backquoted forms.
|
2003-12-01 02:29:01 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
See the new user option `lisp-backquote-indentation'.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** cl-indent now handles indentation of simple and extended `loop' forms.
|
|
|
|
|
|
|
|
|
|
The new user options `lisp-loop-keyword-indentation',
|
|
|
|
|
`lisp-loop-forms-indentation', and `lisp-simple-loop-indentation' can
|
|
|
|
|
be used to customize the indentation of keywords and forms in loop
|
|
|
|
|
forms.
|
2003-12-28 00:40:46 +00:00
|
|
|
|
|
2004-09-22 23:12:22 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Variable aliases:
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function: defvaralias ALIAS-VAR BASE-VAR [DOCSTRING]
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
This function defines the symbol ALIAS-VAR as a variable alias for
|
|
|
|
|
symbol BASE-VAR. This means that retrieving the value of ALIAS-VAR
|
|
|
|
|
returns the value of BASE-VAR, and changing the value of ALIAS-VAR
|
|
|
|
|
changes the value of BASE-VAR.
|
|
|
|
|
|
|
|
|
|
DOCSTRING, if present, is the documentation for ALIAS-VAR; else it has
|
|
|
|
|
the same documentation as BASE-VAR.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function: indirect-variable VARIABLE
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
This function returns the variable at the end of the chain of aliases
|
|
|
|
|
of VARIABLE. If VARIABLE is not a symbol, or if VARIABLE is not
|
|
|
|
|
defined as an alias, the function returns VARIABLE.
|
|
|
|
|
|
|
|
|
|
It might be noteworthy that variables aliases work for all kinds of
|
|
|
|
|
variables, including buffer-local and frame-local variables.
|
2003-12-28 00:40:46 +00:00
|
|
|
|
|
2004-09-22 23:12:22 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The macro `define-obsolete-variable-alias' combines `defvaralias' and
|
|
|
|
|
`make-obsolete-variable'.
|
2003-12-28 00:40:46 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** defcustom changes:
|
2003-12-28 00:40:46 +00:00
|
|
|
|
|
2006-04-10 23:47:18 +00:00
|
|
|
|
+++
|
|
|
|
|
*** 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'.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The new customization type `float' requires a floating point number.
|
2003-12-28 00:40:46 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** String changes:
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The escape sequence \s is now interpreted as a SPACE character.
|
|
|
|
|
|
|
|
|
|
Exception: In a character constant, if it is followed by a `-' in a
|
|
|
|
|
character constant (e.g. ?\s-A), it is still interpreted as the super
|
|
|
|
|
modifier. In strings, \s is always interpreted as a space.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** A hex escape in a string constant forces the string to be multibyte.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** An octal escape in a string constant forces the string to be unibyte.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** `split-string' now includes null substrings in the returned list if
|
|
|
|
|
the optional argument SEPARATORS is non-nil and there are matches for
|
|
|
|
|
SEPARATORS at the beginning or end of the string. If SEPARATORS is
|
|
|
|
|
nil, or if the new optional third argument OMIT-NULLS is non-nil, all
|
|
|
|
|
empty matches are omitted from the returned list.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New function `string-to-multibyte' converts a unibyte string to a
|
|
|
|
|
multibyte string with the same individual character codes.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function `substring-no-properties' returns a substring without
|
2005-05-09 21:02:37 +00:00
|
|
|
|
text properties.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new function `assoc-string' replaces `assoc-ignore-case' and
|
|
|
|
|
`assoc-ignore-representation', which are still available, but have
|
|
|
|
|
been declared obsolete.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2006-06-09 17:59:29 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New syntax: \uXXXX and \UXXXXXXXX specify Unicode code points in hex.
|
|
|
|
|
Use "\u0428" to specify a string consisting of CYRILLIC CAPITAL LETTER SHA,
|
|
|
|
|
or "\U0001D6E2" to specify one consisting of MATHEMATICAL ITALIC CAPITAL
|
|
|
|
|
ALPHA (the latter is greater than #xFFFF and thus needs the longer
|
|
|
|
|
syntax). Also available for characters.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** Displaying warnings to the user.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
See the functions `warn' and `display-warning', or the Lisp Manual.
|
|
|
|
|
If you want to be sure the warning will not be overlooked, this
|
|
|
|
|
facility is much better than using `message', since it displays
|
|
|
|
|
warnings in a separate window.
|
2003-11-23 22:56:12 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
** Progress reporters.
|
2003-11-23 22:56:12 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
These provide a simple and uniform way for commands to present
|
|
|
|
|
progress messages for the user.
|
2004-01-06 23:49:51 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
See the new functions `make-progress-reporter',
|
|
|
|
|
`progress-reporter-update', `progress-reporter-force-update',
|
|
|
|
|
`progress-reporter-done', and `dotimes-with-progress-reporter'.
|
2004-01-06 23:49:51 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Buffer positions:
|
2003-11-23 22:56:12 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Function `compute-motion' now calculates the usable window
|
|
|
|
|
width if the WIDTH argument is nil. If the TOPOS argument is nil,
|
|
|
|
|
the usable window height and width is used.
|
2003-11-23 22:56:12 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The `line-move', `scroll-up', and `scroll-down' functions will now
|
|
|
|
|
modify the window vscroll to scroll through display rows that are
|
2005-05-14 13:15:35 +00:00
|
|
|
|
taller that the height of the window, for example in the presence of
|
|
|
|
|
large images. To disable this feature, bind the new variable
|
|
|
|
|
`auto-window-vscroll' to nil.
|
2003-11-23 22:56:12 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The argument to `forward-word', `backward-word' is optional.
|
|
|
|
|
|
|
|
|
|
It defaults to 1.
|
2003-11-23 22:56:12 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** Argument to `forward-to-indentation' and `backward-to-indentation' is optional.
|
|
|
|
|
|
|
|
|
|
It defaults to 1.
|
2003-11-23 22:56:12 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2006-01-06 12:13:43 +00:00
|
|
|
|
*** New function `mouse-on-link-p' tests if a position is in a clickable link.
|
2005-05-14 13:15:35 +00:00
|
|
|
|
|
|
|
|
|
This is the function used by the new `mouse-1-click-follows-link'
|
|
|
|
|
functionality.
|
2003-11-27 21:59:16 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function `line-number-at-pos' returns the line number of a position.
|
|
|
|
|
|
|
|
|
|
It an optional buffer position argument that defaults to point.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** `field-beginning' and `field-end' take new optional argument, LIMIT.
|
|
|
|
|
|
|
|
|
|
This argument tells them not to search beyond LIMIT. Instead they
|
|
|
|
|
give up and return LIMIT.
|
2003-11-27 21:59:16 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Function `pos-visible-in-window-p' now returns the pixel coordinates
|
2006-03-23 07:31:33 +00:00
|
|
|
|
and partial visibility state of the corresponding row, if the PARTIALLY
|
2005-05-09 21:02:37 +00:00
|
|
|
|
arg is non-nil.
|
2004-01-06 23:49:51 +00:00
|
|
|
|
|
2006-09-20 12:39:11 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New function `window-line-height' is an efficient way to get
|
|
|
|
|
information about a specific text line in a window provided that the
|
|
|
|
|
window's display is up-to-date.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New functions `posn-at-point' and `posn-at-x-y' return
|
|
|
|
|
click-event-style position information for a given visible buffer
|
|
|
|
|
position or for a given window pixel coordinate.
|
2003-11-27 21:59:16 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Text modification:
|
2003-11-23 22:56:12 +00:00
|
|
|
|
|
2006-09-01 13:36:35 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new function `buffer-chars-modified-tick' returns a buffer's
|
|
|
|
|
tick counter for changes to characters. Each time text in that buffer
|
|
|
|
|
is inserted or deleted, the character-change counter is updated to the
|
|
|
|
|
tick counter (`buffer-modified-tick'). Text property changes leave it
|
|
|
|
|
unchanged.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The new function `insert-for-yank' normally works like `insert', but
|
|
|
|
|
removes the text properties in the `yank-excluded-properties' list
|
|
|
|
|
and handles the `yank-handler' text property.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new function `insert-buffer-substring-as-yank' is like
|
|
|
|
|
`insert-for-yank' except that it gets the text from another buffer as
|
|
|
|
|
in `insert-buffer-substring'.
|
2003-11-23 22:56:12 +00:00
|
|
|
|
|
2003-11-14 23:14:37 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new function `insert-buffer-substring-no-properties' is like
|
2005-05-14 13:15:35 +00:00
|
|
|
|
`insert-buffer-substring', but removes all text properties from the
|
2005-05-09 21:02:37 +00:00
|
|
|
|
inserted substring.
|
2003-11-14 23:14:37 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new function `filter-buffer-substring' extracts a buffer
|
|
|
|
|
substring, passes it through a set of filter functions, and returns
|
2005-05-14 13:15:35 +00:00
|
|
|
|
the filtered substring. Use it instead of `buffer-substring' or
|
2005-05-09 21:02:37 +00:00
|
|
|
|
`delete-and-extract-region' when copying text into a user-accessible
|
2005-05-14 13:15:35 +00:00
|
|
|
|
data structure, such as the kill-ring, X clipboard, or a register.
|
|
|
|
|
|
|
|
|
|
The list of filter function is specified by the new variable
|
|
|
|
|
`buffer-substring-filters'. For example, Longlines mode adds to
|
2005-05-09 21:02:37 +00:00
|
|
|
|
`buffer-substring-filters' to remove soft newlines from the copied
|
|
|
|
|
text.
|
2003-11-09 03:38:24 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Function `translate-region' accepts also a char-table as TABLE
|
|
|
|
|
argument.
|
2003-11-05 05:11:41 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new translation table `translation-table-for-input'
|
|
|
|
|
is used for customizing self-insertion. The character to
|
|
|
|
|
be inserted is translated through it.
|
2003-09-06 17:57:46 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** Text clones.
|
2003-09-01 18:51:17 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
The new function `text-clone-create'. Text clones are chunks of text
|
|
|
|
|
that are kept identical by transparently propagating changes from one
|
|
|
|
|
clone to the other.
|
2003-08-17 00:27:53 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** The function `insert-string' is now obsolete.
|
2003-09-12 00:44:10 +00:00
|
|
|
|
|
2005-06-11 13:58:16 +00:00
|
|
|
|
** Filling changes.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** In determining an adaptive fill prefix, Emacs now tries the function in
|
|
|
|
|
`adaptive-fill-function' _before_ matching the buffer line against
|
|
|
|
|
`adaptive-fill-regexp' rather than _after_ it.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** Atomic change groups.
|
2003-07-07 21:06:01 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
To perform some changes in the current buffer "atomically" so that
|
|
|
|
|
they either all succeed or are all undone, use `atomic-change-group'
|
|
|
|
|
around the code that makes changes. For instance:
|
2003-07-07 21:06:01 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
(atomic-change-group
|
|
|
|
|
(insert foo)
|
|
|
|
|
(delete-region x y))
|
2003-06-05 23:35:23 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
If an error (or other nonlocal exit) occurs inside the body of
|
|
|
|
|
`atomic-change-group', it unmakes all the changes in that buffer that
|
|
|
|
|
were during the execution of the body. The change group has no effect
|
|
|
|
|
on any other buffers--any such changes remain.
|
2003-05-18 19:34:14 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
If you need something more sophisticated, you can directly call the
|
|
|
|
|
lower-level functions that `atomic-change-group' uses. Here is how.
|
2003-07-14 16:05:43 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
To set up a change group for one buffer, call `prepare-change-group'.
|
|
|
|
|
Specify the buffer as argument; it defaults to the current buffer.
|
|
|
|
|
This function returns a "handle" for the change group. You must save
|
|
|
|
|
the handle to activate the change group and then finish it.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
Before you change the buffer again, you must activate the change
|
|
|
|
|
group. Pass the handle to `activate-change-group' afterward to
|
|
|
|
|
do this.
|
|
|
|
|
|
|
|
|
|
After you make the changes, you must finish the change group. You can
|
|
|
|
|
either accept the changes or cancel them all. Call
|
|
|
|
|
`accept-change-group' to accept the changes in the group as final;
|
|
|
|
|
call `cancel-change-group' to undo them all.
|
|
|
|
|
|
|
|
|
|
You should use `unwind-protect' to make sure the group is always
|
|
|
|
|
finished. The call to `activate-change-group' should be inside the
|
|
|
|
|
`unwind-protect', in case the user types C-g just after it runs.
|
|
|
|
|
(This is one reason why `prepare-change-group' and
|
|
|
|
|
`activate-change-group' are separate functions.) Once you finish the
|
|
|
|
|
group, don't use the handle again--don't try to finish the same group
|
|
|
|
|
twice.
|
|
|
|
|
|
|
|
|
|
To make a multibuffer change group, call `prepare-change-group' once
|
|
|
|
|
for each buffer you want to cover, then use `nconc' to combine the
|
|
|
|
|
returned values, like this:
|
|
|
|
|
|
|
|
|
|
(nconc (prepare-change-group buffer-1)
|
|
|
|
|
(prepare-change-group buffer-2))
|
|
|
|
|
|
|
|
|
|
You can then activate the multibuffer change group with a single call
|
|
|
|
|
to `activate-change-group', and finish it with a single call to
|
|
|
|
|
`accept-change-group' or `cancel-change-group'.
|
|
|
|
|
|
|
|
|
|
Nested use of several change groups for the same buffer works as you
|
|
|
|
|
would expect. Non-nested use of change groups for the same buffer
|
|
|
|
|
will lead to undesirable results, so don't let it happen; the first
|
|
|
|
|
change group you start for any given buffer should be the last one
|
|
|
|
|
finished.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
** Buffer-related changes:
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** `list-buffers-noselect' now takes an additional argument, BUFFER-LIST.
|
2005-05-14 13:15:35 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If it is non-nil, it specifies which buffers to list.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** `kill-buffer-hook' is now a permanent local.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new function `buffer-local-value' returns the buffer-local
|
|
|
|
|
binding of VARIABLE (a symbol) in buffer BUFFER. If VARIABLE does not
|
|
|
|
|
have a buffer-local binding in buffer BUFFER, it returns the default
|
|
|
|
|
value of VARIABLE instead.
|
|
|
|
|
|
2005-08-09 11:24:05 +00:00
|
|
|
|
*** The function `frame-or-buffer-changed-p' now lets you maintain
|
|
|
|
|
various status records in parallel.
|
|
|
|
|
|
2006-01-06 12:13:43 +00:00
|
|
|
|
It takes a variable (a symbol) as argument. If the variable is non-nil,
|
2005-08-09 11:24:05 +00:00
|
|
|
|
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
|
|
|
|
|
time the vector's contents were recorded by a previous call to
|
|
|
|
|
`frame-or-buffer-changed-p', then the function returns t. Otherwise
|
|
|
|
|
it returns nil.
|
|
|
|
|
|
|
|
|
|
On the first call to `frame-or-buffer-changed-p', the variable's
|
|
|
|
|
value should be nil. `frame-or-buffer-changed-p' stores a suitable
|
|
|
|
|
vector into the variable and returns t.
|
|
|
|
|
|
|
|
|
|
If the variable is itself nil, then `frame-or-buffer-changed-p' uses,
|
|
|
|
|
for compatibility, an internal variable which exists only for this
|
|
|
|
|
purpose.
|
|
|
|
|
|
2005-09-30 18:28:47 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The function `read-buffer' follows the convention for reading from
|
|
|
|
|
the minibuffer with a default value: if DEF is non-nil, the minibuffer
|
|
|
|
|
prompt provided in PROMPT is edited to show the default value provided
|
|
|
|
|
in DEF before the terminal colon and space.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** Searching and matching changes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New function `looking-back' checks whether a regular expression matches
|
|
|
|
|
the text before point. Specifying the LIMIT argument bounds how far
|
|
|
|
|
back the match can start; this is a way to keep it from taking too long.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new variable `search-spaces-regexp' controls how to search
|
|
|
|
|
for spaces in a regular expression. If it is non-nil, it should be a
|
|
|
|
|
regular expression, and any series of spaces stands for that regular
|
|
|
|
|
expression. If it is nil, spaces stand for themselves.
|
|
|
|
|
|
|
|
|
|
Spaces inside of constructs such as `[..]' and inside loops such as
|
|
|
|
|
`*', `+', and `?' are never replaced with `search-spaces-regexp'.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New regular expression operators, `\_<' and `\_>'.
|
|
|
|
|
|
|
|
|
|
These match the beginning and end of a symbol. A symbol is a
|
|
|
|
|
non-empty sequence of either word or symbol constituent characters, as
|
|
|
|
|
specified by the syntax table.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** rx.el has new corresponding `symbol-end' and `symbol-start' elements.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** `skip-chars-forward' and `skip-chars-backward' now handle
|
|
|
|
|
character classes such as `[:alpha:]', along with individual
|
|
|
|
|
characters and ranges.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** In `replace-match', the replacement text no longer inherits
|
|
|
|
|
properties from surrounding text.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The list returned by `(match-data t)' now has the buffer as a final
|
|
|
|
|
element, if the last match was on a buffer. `set-match-data'
|
|
|
|
|
accepts such a list for restoring the match state.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-06-08 23:04:27 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Functions `match-data' and `set-match-data' now have an optional
|
|
|
|
|
argument `reseat'. When non-nil, all markers in the match data list
|
2006-01-06 12:13:43 +00:00
|
|
|
|
passed to these functions will be reseated to point to nowhere.
|
2005-06-08 23:04:27 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The default value of `sentence-end' is now defined using the new
|
|
|
|
|
variable `sentence-end-without-space', which contains such characters
|
|
|
|
|
that end a sentence without following spaces.
|
|
|
|
|
|
|
|
|
|
The function `sentence-end' should be used to obtain the value of the
|
|
|
|
|
variable `sentence-end'. If the variable `sentence-end' is nil, then
|
|
|
|
|
this function returns the regexp constructed from the variables
|
|
|
|
|
`sentence-end-without-period', `sentence-end-double-space' and
|
|
|
|
|
`sentence-end-without-space'.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
** Undo changes:
|
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** `buffer-undo-list' can allows programmable elements.
|
|
|
|
|
|
|
|
|
|
These elements have the form (apply FUNNAME . ARGS), where FUNNAME is
|
|
|
|
|
a symbol other than t or nil. That stands for a high-level change
|
|
|
|
|
that should be undone by evaluating (apply FUNNAME ARGS).
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
These entries can also have the form (apply DELTA BEG END FUNNAME . ARGS)
|
|
|
|
|
which indicates that the change which took place was limited to the
|
|
|
|
|
range BEG...END and increased the buffer size by DELTA.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** If the buffer's undo list for the current command gets longer than
|
2005-05-14 13:15:35 +00:00
|
|
|
|
`undo-outer-limit', garbage collection empties it. This is to prevent
|
2005-05-09 21:02:37 +00:00
|
|
|
|
it from using up the available memory and choking Emacs.
|
2003-05-18 19:34:14 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-08 23:02:44 +00:00
|
|
|
|
** New `yank-handler' text property can be used to control how
|
2005-05-14 13:15:35 +00:00
|
|
|
|
previously killed text on the kill ring is reinserted.
|
2003-05-13 20:15:13 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
The value of the `yank-handler' property must be a list with one to four
|
2005-05-02 20:58:54 +00:00
|
|
|
|
elements with the following format:
|
|
|
|
|
(FUNCTION PARAM NOEXCLUDE UNDO).
|
2003-05-13 20:15:13 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
The `insert-for-yank' function looks for a yank-handler property on
|
|
|
|
|
the first character on its string argument (typically the first
|
2005-05-14 13:15:35 +00:00
|
|
|
|
element on the kill-ring). If a `yank-handler' property is found,
|
2005-05-02 20:58:54 +00:00
|
|
|
|
the normal behavior of `insert-for-yank' is modified in various ways:
|
2003-07-07 21:06:01 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
When FUNCTION is present and non-nil, it is called instead of `insert'
|
|
|
|
|
to insert the string. FUNCTION takes one argument--the object to insert.
|
|
|
|
|
If PARAM is present and non-nil, it replaces STRING as the object
|
|
|
|
|
passed to FUNCTION (or `insert'); for example, if FUNCTION is
|
|
|
|
|
`yank-rectangle', PARAM should be a list of strings to insert as a
|
|
|
|
|
rectangle.
|
|
|
|
|
If NOEXCLUDE is present and non-nil, the normal removal of the
|
2005-05-14 13:15:35 +00:00
|
|
|
|
`yank-excluded-properties' is not performed; instead FUNCTION is
|
2005-05-02 20:58:54 +00:00
|
|
|
|
responsible for removing those properties. This may be necessary
|
|
|
|
|
if FUNCTION adjusts point before or after inserting the object.
|
|
|
|
|
If UNDO is present and non-nil, it is a function that will be called
|
|
|
|
|
by `yank-pop' to undo the insertion of the current object. It is
|
|
|
|
|
called with two arguments, the start and end of the current region.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
FUNCTION can set `yank-undo-function' to override the UNDO value.
|
2003-07-07 21:06:01 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The functions `kill-new', `kill-append', and `kill-region' now have an
|
|
|
|
|
optional argument to specify the `yank-handler' text property to put on
|
2005-05-02 20:58:54 +00:00
|
|
|
|
the killed text.
|
2003-07-07 21:06:01 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The function `yank-pop' will now use a non-nil value of the variable
|
|
|
|
|
`yank-undo-function' (instead of `delete-region') to undo the previous
|
|
|
|
|
`yank' or `yank-pop' command (or a call to `insert-for-yank'). The function
|
|
|
|
|
`insert-for-yank' automatically sets that variable according to the UNDO
|
|
|
|
|
element of the string argument's `yank-handler' text property if present.
|
2003-07-07 21:06:01 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** The function `insert-for-yank' now supports strings where the
|
|
|
|
|
`yank-handler' property does not span the first character of the
|
|
|
|
|
string. The old behavior is available if you call
|
|
|
|
|
`insert-for-yank-1' instead.
|
2003-07-07 21:06:01 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** Syntax table changes:
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The macro `with-syntax-table' no longer copies the syntax table.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new function `syntax-after' returns the syntax code
|
|
|
|
|
of the character after a specified buffer position, taking account
|
|
|
|
|
of text properties as well as the character code.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** `syntax-class' extracts the class of a syntax code (as returned
|
|
|
|
|
by `syntax-after').
|
|
|
|
|
|
2005-06-17 14:42:39 +00:00
|
|
|
|
+++
|
2006-03-23 07:31:33 +00:00
|
|
|
|
*** The new function `syntax-ppss' provides an efficient way to find the
|
2005-05-14 13:15:35 +00:00
|
|
|
|
current syntactic context at point.
|
2003-07-07 21:06:01 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** File operation changes:
|
2003-04-16 05:10:19 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New vars `exec-suffixes' and `load-suffixes' used when
|
2005-05-14 13:15:35 +00:00
|
|
|
|
searching for an executable or an Emacs Lisp file.
|
2003-04-16 05:10:19 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new primitive `set-file-times' sets a file's access and
|
|
|
|
|
modification times. Magic file name handlers can handle this
|
|
|
|
|
operation.
|
2003-04-14 16:31:52 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new function `file-remote-p' tests a file name and returns
|
|
|
|
|
non-nil if it specifies a remote file (one that Emacs accesses using
|
|
|
|
|
its own special methods and not directly through the file system).
|
|
|
|
|
The value in that case is an identifier for the remote file system.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** `buffer-auto-save-file-format' is the new name for what was
|
|
|
|
|
formerly called `auto-save-file-format'. It is now a permanent local.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** Functions `file-name-sans-extension' and `file-name-extension' now
|
|
|
|
|
ignore the leading dots in file names, so that file names such as
|
|
|
|
|
`.emacs' are treated as extensionless.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** `visited-file-modtime' and `calendar-time-from-absolute' now return
|
|
|
|
|
a list of two integers, instead of a cons.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** `file-chase-links' now takes an optional second argument LIMIT which
|
|
|
|
|
specifies the maximum number of links to chase through. If after that
|
|
|
|
|
many iterations the file name obtained is still a symbolic link,
|
|
|
|
|
`file-chase-links' returns it anyway.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new hook `before-save-hook' is invoked by `basic-save-buffer'
|
|
|
|
|
before saving buffers. This allows packages to perform various final
|
2006-01-06 12:13:43 +00:00
|
|
|
|
tasks. For example, it can be used by the copyright package to make
|
2005-05-09 21:02:37 +00:00
|
|
|
|
sure saved files have the current year in any copyright headers.
|
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** If `buffer-save-without-query' is non-nil in some buffer,
|
|
|
|
|
`save-some-buffers' will always save that buffer without asking (if
|
|
|
|
|
it's modified).
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-21 13:33:55 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `locate-file' searches for a file in a list of directories.
|
|
|
|
|
`locate-file' accepts a name of a file to search (a string), and two
|
|
|
|
|
lists: a list of directories to search in and a list of suffixes to
|
|
|
|
|
try; typical usage might use `exec-path' and `load-path' for the list
|
|
|
|
|
of directories, and `exec-suffixes' and `load-suffixes' for the list
|
|
|
|
|
of suffixes. The function also accepts a predicate argument to
|
|
|
|
|
further filter candidate files.
|
|
|
|
|
|
|
|
|
|
One advantage of using this function is that the list of suffixes in
|
|
|
|
|
`exec-suffixes' is OS-dependant, so this function will find
|
2006-01-06 12:13:43 +00:00
|
|
|
|
executables without polluting Lisp code with OS dependencies.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The precedence of file name handlers has been changed.
|
|
|
|
|
|
|
|
|
|
Instead of choosing the first handler that matches,
|
|
|
|
|
`find-file-name-handler' now gives precedence to a file name handler
|
|
|
|
|
that matches nearest the end of the file name. More precisely, the
|
|
|
|
|
handler whose (match-beginning 0) is the largest is chosen. In case
|
|
|
|
|
of ties, the old "first matched" rule applies.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** A file name handler can declare which operations it handles.
|
|
|
|
|
|
|
|
|
|
You do this by putting an `operation' property on the handler name
|
|
|
|
|
symbol. The property value should be a list of the operations that
|
|
|
|
|
the handler really handles. It won't be called for any other
|
|
|
|
|
operations.
|
|
|
|
|
|
|
|
|
|
This is useful for autoloaded handlers, to prevent them from being
|
|
|
|
|
autoloaded when not really necessary.
|
|
|
|
|
|
2005-08-30 22:41:02 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The function `make-auto-save-file-name' is now handled by file
|
|
|
|
|
name handlers. This will be exploited for remote files mainly.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Input changes:
|
|
|
|
|
|
2006-07-26 18:28:57 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The functions `read-event', `read-char', and `read-char-exclusive'
|
|
|
|
|
have a new optional argument SECONDS. If non-nil, this specifies a
|
|
|
|
|
maximum time to wait for input, in seconds. If no input arrives after
|
|
|
|
|
this time elapses, the functions stop waiting and return nil.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** An interactive specification can now use the code letter 'U' to get
|
|
|
|
|
the up-event that was discarded in case the last key sequence read for a
|
2005-05-14 13:15:35 +00:00
|
|
|
|
previous `k' or `K' argument was a down-event; otherwise nil is used.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new interactive-specification `G' reads a file name
|
|
|
|
|
much like `F', but if the input is a directory name (even defaulted),
|
|
|
|
|
it returns just the directory name.
|
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** Functions `y-or-n-p', `read-char', `read-key-sequence' and the like, that
|
2005-05-09 21:02:37 +00:00
|
|
|
|
display a prompt but don't use the minibuffer, now display the prompt
|
|
|
|
|
using the text properties (esp. the face) of the prompt string.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** (while-no-input BODY...) runs BODY, but only so long as no input
|
|
|
|
|
arrives. If the user types or clicks anything, BODY stops as if a
|
2005-05-14 13:15:35 +00:00
|
|
|
|
quit had occurred. `while-no-input' returns the value of BODY, if BODY
|
2005-08-09 11:24:05 +00:00
|
|
|
|
finishes. It returns nil if BODY was aborted by a quit, and t if
|
|
|
|
|
BODY was aborted by arrival of input.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
** Minibuffer changes:
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new function `minibufferp' returns non-nil if its optional
|
|
|
|
|
buffer argument is a minibuffer. If the argument is omitted, it
|
|
|
|
|
defaults to the current buffer.
|
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function `minibuffer-selected-window' returns the window which
|
2005-05-09 21:02:37 +00:00
|
|
|
|
was selected when entering the minibuffer.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The `read-file-name' function now takes an additional argument which
|
2006-03-23 07:31:33 +00:00
|
|
|
|
specifies a predicate which the file name read must satisfy. The
|
2005-05-09 21:02:37 +00:00
|
|
|
|
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.
|
|
|
|
|
|
|
|
|
|
---
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The new variable `read-file-name-function' can be used by Lisp code
|
|
|
|
|
to override the built-in `read-file-name' function.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The new variable `read-file-name-completion-ignore-case' specifies
|
|
|
|
|
whether completion ignores case when reading a file name with the
|
|
|
|
|
`read-file-name' function.
|
|
|
|
|
|
|
|
|
|
+++
|
2006-01-06 12:13:43 +00:00
|
|
|
|
*** The new function `read-directory-name' is for reading a directory name.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
It is like `read-file-name' except that the defaulting works better
|
|
|
|
|
for directories, and completion inside it shows only directories.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2006-05-31 22:17:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new variable `history-add-new-input' specifies whether to add new
|
|
|
|
|
elements in history. If set to nil, minibuffer reading functions don't
|
|
|
|
|
add new elements to the history list, so it is possible to do this
|
|
|
|
|
afterwards by calling `add-to-history' explicitly.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** Completion changes:
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-12-16 19:07:32 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new function `minibuffer-completion-contents' returns the contents
|
|
|
|
|
of the minibuffer just before point. That is what completion commands
|
|
|
|
|
operate on.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The functions `all-completions' and `try-completion' now accept lists
|
|
|
|
|
of strings as well as hash-tables additionally to alists, obarrays
|
|
|
|
|
and functions. Furthermore, the function `test-completion' is now
|
|
|
|
|
exported to Lisp. The keys in alists and hash tables can be either
|
|
|
|
|
strings or symbols, which are automatically converted with to strings.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The new macro `dynamic-completion-table' supports using functions
|
|
|
|
|
as a dynamic completion table.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
(dynamic-completion-table FUN)
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
FUN is called with one argument, the string for which completion is required,
|
|
|
|
|
and it should return an alist containing all the intended possible
|
|
|
|
|
completions. This alist can be a full list of possible completions so that FUN
|
|
|
|
|
can ignore the value of its argument. If completion is performed in the
|
|
|
|
|
minibuffer, FUN will be called in the buffer from which the minibuffer was
|
|
|
|
|
entered. `dynamic-completion-table' then computes the completion.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The new macro `lazy-completion-table' initializes a variable
|
|
|
|
|
as a lazy completion table.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-12-26 15:56:49 +00:00
|
|
|
|
(lazy-completion-table VAR FUN)
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
If the completion table VAR is used for the first time (e.g., by passing VAR
|
2005-12-26 15:56:49 +00:00
|
|
|
|
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
|
2005-05-14 13:15:35 +00:00
|
|
|
|
`lazy-completion-table' must be used to initialize the value of VAR.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** Enhancements to keymaps.
|
|
|
|
|
|
2005-12-02 14:03:58 +00:00
|
|
|
|
*** New keymaps for typing file names
|
|
|
|
|
|
|
|
|
|
Two new keymaps, `minibuffer-local-filename-completion-map' and
|
|
|
|
|
`minibuffer-local-must-match-filename-map', apply whenever
|
|
|
|
|
Emacs reads a file name in the minibuffer. These key maps override
|
|
|
|
|
the usual binding of SPC to `minibuffer-complete-word' (so that file
|
|
|
|
|
names with embedded spaces could be typed without the need to quote
|
|
|
|
|
the spaces).
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Cleaner way to enter key sequences.
|
|
|
|
|
|
|
|
|
|
You can enter a constant key sequence in a more natural format, the
|
|
|
|
|
same one used for saving keyboard macros, using the macro `kbd'. For
|
|
|
|
|
example,
|
|
|
|
|
|
|
|
|
|
(kbd "C-x C-f") => "\^x\^f"
|
|
|
|
|
|
2006-07-14 23:31:09 +00:00
|
|
|
|
Actually, this format has existed since Emacs 20.1.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Interactive commands can be remapped through keymaps.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
This is an alternative to using `defadvice' or `substitute-key-definition'
|
2005-05-09 21:02:37 +00:00
|
|
|
|
to modify the behavior of a key binding using the normal keymap
|
|
|
|
|
binding and lookup functionality.
|
|
|
|
|
|
|
|
|
|
When a key sequence is bound to a command, and that command is
|
|
|
|
|
remapped to another command, that command is run instead of the
|
|
|
|
|
original command.
|
|
|
|
|
|
|
|
|
|
Example:
|
2005-05-14 13:15:35 +00:00
|
|
|
|
Suppose that minor mode `my-mode' has defined the commands
|
|
|
|
|
`my-kill-line' and `my-kill-word', and it wants C-k (and any other key
|
|
|
|
|
bound to `kill-line') to run the command `my-kill-line' instead of
|
|
|
|
|
`kill-line', and likewise it wants to run `my-kill-word' instead of
|
|
|
|
|
`kill-word'.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
Instead of rebinding C-k and the other keys in the minor mode map,
|
2005-05-14 13:15:35 +00:00
|
|
|
|
command remapping allows you to directly map `kill-line' into
|
|
|
|
|
`my-kill-line' and `kill-word' into `my-kill-word' using `define-key':
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
(define-key my-mode-map [remap kill-line] 'my-kill-line)
|
|
|
|
|
(define-key my-mode-map [remap kill-word] 'my-kill-word)
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
When `my-mode' is enabled, its minor mode keymap is enabled too. So
|
|
|
|
|
when the user types C-k, that runs the command `my-kill-line'.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
Only one level of remapping is supported. In the above example, this
|
|
|
|
|
means that if `my-kill-line' is remapped to `other-kill', then C-k still
|
|
|
|
|
runs `my-kill-line'.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
The following changes have been made to provide command remapping:
|
|
|
|
|
|
|
|
|
|
- Command remappings are defined using `define-key' with a prefix-key
|
|
|
|
|
`remap', i.e. `(define-key MAP [remap CMD] DEF)' remaps command CMD
|
|
|
|
|
to definition DEF in keymap MAP. The definition is not limited to
|
|
|
|
|
another command; it can be anything accepted for a normal binding.
|
|
|
|
|
|
|
|
|
|
- The new function `command-remapping' returns the binding for a
|
|
|
|
|
remapped command in the current keymaps, or nil if not remapped.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
- `key-binding' now remaps interactive commands unless the optional
|
2005-05-09 21:02:37 +00:00
|
|
|
|
third argument NO-REMAP is non-nil.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
- `where-is-internal' now returns nil for a remapped command (e.g.
|
|
|
|
|
`kill-line', when `my-mode' is enabled), and the actual key binding for
|
2005-05-09 21:02:37 +00:00
|
|
|
|
the command it is remapped to (e.g. C-k for my-kill-line).
|
|
|
|
|
It also has a new optional fifth argument, NO-REMAP, which inhibits
|
2005-05-14 13:15:35 +00:00
|
|
|
|
remapping if non-nil (e.g. it returns "C-k" for `kill-line', and
|
|
|
|
|
"<kill-line>" for `my-kill-line').
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
- The new variable `this-original-command' contains the original
|
|
|
|
|
command before remapping. It is equal to `this-command' when the
|
|
|
|
|
command was not remapped.
|
|
|
|
|
|
|
|
|
|
*** If text has a `keymap' property, that keymap takes precedence
|
|
|
|
|
over minor mode keymaps.
|
|
|
|
|
|
|
|
|
|
*** The `keymap' property now also works at the ends of overlays and
|
2005-05-14 13:15:35 +00:00
|
|
|
|
text properties, according to their stickiness. This also means that it
|
2005-05-09 21:02:37 +00:00
|
|
|
|
works with empty overlays. The same hold for the `local-map' property.
|
|
|
|
|
|
2006-09-15 07:19:15 +00:00
|
|
|
|
*** `key-binding' will now look up mouse-specific bindings. The
|
|
|
|
|
keymaps consulted by `key-binding' will get adapted if the key
|
|
|
|
|
sequence is started with a mouse event. Instead of letting the click
|
|
|
|
|
position be determined from the key sequence itself, it is also
|
|
|
|
|
possible to specify it with an optional argument explicitly.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Dense keymaps now handle inheritance correctly.
|
2005-05-14 13:15:35 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
Previously a dense keymap would hide all of the simple-char key
|
|
|
|
|
bindings of the parent keymap.
|
|
|
|
|
|
|
|
|
|
*** `define-key-after' now accepts keys longer than 1.
|
|
|
|
|
|
|
|
|
|
*** New function `current-active-maps' returns a list of currently
|
|
|
|
|
active keymaps.
|
|
|
|
|
|
|
|
|
|
*** New function `describe-buffer-bindings' inserts the list of all
|
|
|
|
|
defined keys and their definitions.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New function `keymap-prompt' returns the prompt string of a keymap.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
*** (map-keymap FUNCTION KEYMAP) applies the function to each binding
|
|
|
|
|
in the keymap.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New variable `emulation-mode-map-alists'.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
Lisp packages using many minor mode keymaps can now maintain their own
|
2005-05-14 13:15:35 +00:00
|
|
|
|
keymap alist separate from `minor-mode-map-alist' by adding their
|
|
|
|
|
keymap alist to this list.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2006-07-22 21:22:52 +00:00
|
|
|
|
*** The definition of a key-binding passed to define-key can use XEmacs-style
|
|
|
|
|
key-sequences, such as [(control a)].
|
2006-08-20 12:19:33 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** Abbrev changes:
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new function `copy-abbrev-table' copies an abbrev table.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
It returns a new abbrev table that is a copy of a given abbrev table.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
+++
|
|
|
|
|
*** `define-abbrev' now accepts an optional argument SYSTEM-FLAG.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
If non-nil, this marks the abbrev as a "system" abbrev, which means
|
|
|
|
|
that it won't be stored in the user's abbrevs file if he saves the
|
|
|
|
|
abbrevs. Major modes that predefine some abbrevs should always
|
|
|
|
|
specify this flag.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
** Enhancements to process support
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** Function `list-processes' now has an optional argument; if non-nil,
|
|
|
|
|
it lists only the processes whose query-on-exit flag is set.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** New fns `set-process-query-on-exit-flag' and `process-query-on-exit-flag'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
These replace the old function `process-kill-without-query'. That
|
|
|
|
|
function is still supported, but new code should use the new
|
|
|
|
|
functions.
|
|
|
|
|
|
|
|
|
|
*** Function `signal-process' now accepts a process object or process
|
2005-06-21 11:40:22 +00:00
|
|
|
|
name in addition to a process id to identify the signaled process.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
*** Processes now have an associated property list where programs can
|
|
|
|
|
maintain process state and other per-process related information.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
Use the new functions `process-get' and `process-put' to access, add,
|
|
|
|
|
and modify elements on this property list. Use the new functions
|
|
|
|
|
`process-plist' and `set-process-plist' to access and replace the
|
|
|
|
|
entire property list of a process.
|
2003-04-14 16:31:52 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** Function `accept-process-output' has a new optional fourth arg
|
|
|
|
|
JUST-THIS-ONE. If non-nil, only output from the specified process
|
2005-05-02 20:58:54 +00:00
|
|
|
|
is handled, suspending output from other processes. If value is an
|
|
|
|
|
integer, also inhibit running timers. This feature is generally not
|
|
|
|
|
recommended, but may be necessary for specific applications, such as
|
|
|
|
|
speech synthesis.
|
2003-04-11 07:45:15 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** Adaptive read buffering of subprocess output.
|
2003-04-06 20:42:09 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
On some systems, when emacs reads the output from a subprocess, the
|
|
|
|
|
output data is read in very small blocks, potentially resulting in
|
|
|
|
|
very poor performance. This behavior can be remedied to some extent
|
2005-05-14 13:15:35 +00:00
|
|
|
|
by setting the new variable `process-adaptive-read-buffering' to a
|
2005-05-02 20:58:54 +00:00
|
|
|
|
non-nil value (the default), as it will automatically delay reading
|
2006-01-06 12:13:43 +00:00
|
|
|
|
from such processes, allowing them to produce more output before
|
2005-05-02 20:58:54 +00:00
|
|
|
|
emacs tries to read it.
|
2003-04-09 01:41:03 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new function `call-process-shell-command'.
|
|
|
|
|
|
2005-07-18 15:33:45 +00:00
|
|
|
|
This executes a shell command synchronously in a separate process.
|
2003-02-20 12:49:07 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
*** The new function `process-file' is similar to `call-process', but
|
|
|
|
|
obeys file handlers. The file handler is chosen based on
|
2005-05-09 21:02:37 +00:00
|
|
|
|
`default-directory'.
|
2003-02-10 08:24:29 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** A process filter function gets the output as multibyte string
|
|
|
|
|
if the process specifies t for its filter's multibyteness.
|
|
|
|
|
|
|
|
|
|
That multibyteness is decided by the value of
|
|
|
|
|
`default-enable-multibyte-characters' when the process is created, and
|
|
|
|
|
you can change it later with `set-process-filter-multibyte'.
|
2003-02-10 08:24:29 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new function `set-process-filter-multibyte' sets the
|
|
|
|
|
multibyteness of the strings passed to the process's filter.
|
|
|
|
|
|
|
|
|
|
*** The new function `process-filter-multibyte-p' returns the
|
|
|
|
|
multibyteness of the strings passed to the process's filter.
|
|
|
|
|
|
|
|
|
|
*** If a process's coding system is `raw-text' or `no-conversion' and its
|
2003-02-10 08:24:29 +00:00
|
|
|
|
buffer is multibyte, the output of the process is at first converted
|
|
|
|
|
to multibyte by `string-to-multibyte' then inserted in the buffer.
|
|
|
|
|
Previously, it was converted to multibyte by `string-as-multibyte',
|
2005-02-03 07:39:01 +00:00
|
|
|
|
which was not compatible with the behavior of file reading.
|
2003-02-10 08:24:29 +00:00
|
|
|
|
|
2003-07-21 09:58:57 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Enhanced networking support.
|
2003-02-09 08:38:05 +00:00
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
*** The new `make-network-process' function makes network connections.
|
|
|
|
|
It allows opening of stream and datagram connections to a server, as well as
|
2005-05-02 20:58:54 +00:00
|
|
|
|
create a stream or datagram server inside emacs.
|
2003-01-30 14:27:00 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
- A server is started using :server t arg.
|
|
|
|
|
- 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.
|
2006-01-04 00:26:24 +00:00
|
|
|
|
- IPv6 is supported (when available). You may explicitly select IPv6
|
|
|
|
|
using :family 'ipv6 arg.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
- Non-blocking connect is supported using :nowait t arg.
|
2005-05-08 23:02:44 +00:00
|
|
|
|
- The process' property list can be initialized using :plist PLIST arg;
|
2005-05-02 20:58:54 +00:00
|
|
|
|
a copy of the server process' property list is automatically inherited
|
|
|
|
|
by new client processes created to handle incoming connections.
|
2003-01-22 02:54:56 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
To test for the availability of a given feature, use featurep like this:
|
|
|
|
|
(featurep 'make-network-process '(:type datagram))
|
2006-01-04 00:26:24 +00:00
|
|
|
|
(featurep 'make-network-process '(:family ipv6))
|
2003-01-23 23:34:59 +00:00
|
|
|
|
|
2005-05-14 13:18:57 +00:00
|
|
|
|
*** The old `open-network-stream' now uses `make-network-process'.
|
2002-12-23 18:42:49 +00:00
|
|
|
|
|
2005-05-14 13:18:57 +00:00
|
|
|
|
*** New functions `process-datagram-address', `set-process-datagram-address'.
|
2002-12-15 16:52:37 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
These functions are used with datagram-based network processes to get
|
|
|
|
|
and set the current address of the remote partner.
|
2003-01-31 15:24:20 +00:00
|
|
|
|
|
2005-05-14 13:18:57 +00:00
|
|
|
|
*** New function `format-network-address'.
|
2003-07-21 09:58:57 +00:00
|
|
|
|
|
2005-05-14 13:18:57 +00:00
|
|
|
|
This function reformats the Lisp representation of a network address
|
2005-05-02 20:58:54 +00:00
|
|
|
|
to a printable string. For example, an IP address A.B.C.D and port
|
|
|
|
|
number P is represented as a five element vector [A B C D P], and the
|
|
|
|
|
printable string returned for this vector is "A.B.C.D:P". See the doc
|
|
|
|
|
string for other formatting options.
|
2002-12-09 18:12:01 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** `process-contact' has an optional KEY argument.
|
|
|
|
|
|
|
|
|
|
Depending on this argument, you can get the complete list of network
|
|
|
|
|
process properties or a specific property. Using :local or :remote as
|
|
|
|
|
the KEY, you get the address of the local or remote end-point.
|
2002-12-07 21:41:11 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
An Inet address is represented as a 5 element vector, where the first
|
|
|
|
|
4 elements contain the IP address and the fifth is the port number.
|
2004-12-27 17:08:45 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New functions `stop-process' and `continue-process'.
|
2002-10-27 16:26:04 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
These functions stop and restart communication through a network
|
|
|
|
|
connection. For a server process, no connections are accepted in the
|
|
|
|
|
stopped state. For a client process, no input is received in the
|
|
|
|
|
stopped state.
|
|
|
|
|
|
|
|
|
|
*** New function `network-interface-list'.
|
2002-10-27 16:26:04 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
This function returns a list of network interface names and their
|
|
|
|
|
current network addresses.
|
2002-10-27 16:26:04 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New function `network-interface-info'.
|
2002-10-27 16:26:04 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
This function returns the network address, hardware address, current
|
|
|
|
|
status, and other information about a specific network interface.
|
2003-07-21 09:58:57 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** Deleting a network process with `delete-process' calls the sentinel.
|
|
|
|
|
|
|
|
|
|
The status message passed to the sentinel for a deleted network
|
|
|
|
|
process is "deleted". The message passed to the sentinel when the
|
|
|
|
|
connection is closed by the remote peer has been changed to
|
|
|
|
|
"connection broken by remote peer".
|
2002-09-18 16:14:44 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Using window objects:
|
2002-09-12 03:30:13 +00:00
|
|
|
|
|
2002-09-09 19:17:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `window-body-height'.
|
2002-08-27 18:49:11 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
This is like `window-height' but does not count the mode line or the
|
|
|
|
|
header line.
|
2002-08-27 18:49:11 +00:00
|
|
|
|
|
2005-05-04 16:04:04 +00:00
|
|
|
|
+++
|
|
|
|
|
*** You can now make a window as short as one line.
|
|
|
|
|
|
|
|
|
|
A window that is just one line tall does not display either a mode
|
|
|
|
|
line or a header line, even if the variables `mode-line-format' and
|
|
|
|
|
`header-line-format' call for them. A window that is two lines tall
|
|
|
|
|
cannot display both a mode line and a header line at once; if the
|
|
|
|
|
variables call for both, only the mode line actually appears.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-04 16:04:04 +00:00
|
|
|
|
*** The new function `window-inside-edges' returns the edges of the
|
2005-05-02 20:58:54 +00:00
|
|
|
|
actual text portion of the window, not including the scroll bar or
|
|
|
|
|
divider line, the fringes, the display margins, the header line and
|
|
|
|
|
the mode line.
|
2004-09-08 12:53:31 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-04 16:04:04 +00:00
|
|
|
|
*** The new functions `window-pixel-edges' and `window-inside-pixel-edges'
|
2005-05-02 20:58:54 +00:00
|
|
|
|
return window edges in units of pixels, rather than columns and lines.
|
2004-09-08 12:53:31 +00:00
|
|
|
|
|
2003-07-21 09:58:57 +00:00
|
|
|
|
+++
|
2005-05-04 16:04:04 +00:00
|
|
|
|
*** The new macro `with-selected-window' temporarily switches the
|
2005-05-09 21:02:37 +00:00
|
|
|
|
selected window without impacting the order of `buffer-list'.
|
2005-06-25 14:38:05 +00:00
|
|
|
|
It saves and restores the current buffer, too.
|
2002-08-19 21:47:53 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** `select-window' takes an optional second argument NORECORD.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
This is like `switch-to-buffer'.
|
2002-07-24 23:01:32 +00:00
|
|
|
|
|
2003-07-21 09:58:57 +00:00
|
|
|
|
+++
|
2005-05-04 16:04:04 +00:00
|
|
|
|
*** `save-selected-window' now saves and restores the selected window
|
2005-05-02 20:58:54 +00:00
|
|
|
|
of every frame. This way, it restores everything that can be changed
|
2005-06-25 14:38:05 +00:00
|
|
|
|
by calling `select-window'. It also saves and restores the current
|
|
|
|
|
buffer.
|
2002-08-13 22:55:18 +00:00
|
|
|
|
|
2003-08-06 01:45:14 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `set-window-buffer' has an optional argument KEEP-MARGINS.
|
|
|
|
|
|
|
|
|
|
If non-nil, that says to preserve the window's current margin, fringe,
|
|
|
|
|
and scroll-bar settings.
|
2002-07-20 22:16:01 +00:00
|
|
|
|
|
2005-10-04 15:26:35 +00:00
|
|
|
|
+++
|
2005-10-09 22:32:57 +00:00
|
|
|
|
*** The new function `window-tree' returns a frame's window tree.
|
2005-10-04 15:26:35 +00:00
|
|
|
|
|
2005-11-07 21:15:17 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The functions `get-lru-window' and `get-largest-window' take an optional
|
|
|
|
|
argument `dedicated'. If non-nil, those functions do not ignore
|
|
|
|
|
dedicated windows.
|
|
|
|
|
|
2005-11-27 19:29:09 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new function `adjust-window-trailing-edge' moves the right
|
|
|
|
|
or bottom edge of a window. It does not move other window edges.
|
|
|
|
|
|
2003-07-21 09:58:57 +00:00
|
|
|
|
+++
|
2005-05-02 20:58:54 +00:00
|
|
|
|
** Customizable fringe bitmaps
|
2002-07-07 21:28:23 +00:00
|
|
|
|
|
2006-02-20 22:31:16 +00:00
|
|
|
|
*** 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
|
2006-03-23 07:31:33 +00:00
|
|
|
|
physical appearance, as well as allowing different fringe bitmaps to
|
2006-02-20 22:31:16 +00:00
|
|
|
|
be used in different windows showing different buffers.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `define-fringe-bitmap' can now be used to create new
|
2005-05-02 20:58:54 +00:00
|
|
|
|
fringe bitmaps, as well as change the built-in fringe bitmaps.
|
2002-06-24 09:42:38 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `destroy-fringe-bitmap' deletes a fringe bitmap
|
|
|
|
|
or restores a built-in one to its default value.
|
2002-08-02 18:03:01 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New function `set-fringe-bitmap-face' specifies the face to be
|
|
|
|
|
used for a specific fringe bitmap. The face is automatically merged
|
|
|
|
|
with the `fringe' face, so normally, the face should only specify the
|
|
|
|
|
foreground color of the bitmap.
|
2002-07-07 18:30:45 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** There are new display properties, `left-fringe' and `right-fringe',
|
2005-05-02 20:58:54 +00:00
|
|
|
|
that can be used to show a specific bitmap in the left or right fringe
|
|
|
|
|
bitmap of the display line.
|
2002-07-07 18:30:45 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
Format is `display (left-fringe BITMAP [FACE])', where BITMAP is a
|
2005-05-02 20:58:54 +00:00
|
|
|
|
symbol identifying a fringe bitmap, either built-in or defined with
|
|
|
|
|
`define-fringe-bitmap', and FACE is an optional face name to be used
|
|
|
|
|
for displaying the bitmap instead of the default `fringe' face.
|
|
|
|
|
When specified, FACE is automatically merged with the `fringe' face.
|
|
|
|
|
|
|
|
|
|
*** New function `fringe-bitmaps-at-pos' returns the current fringe
|
|
|
|
|
bitmaps in the display line at a given buffer position.
|
2002-07-07 18:30:45 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Other window fringe features:
|
|
|
|
|
|
2003-08-06 01:45:14 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Controlling the default left and right fringe widths.
|
2002-07-07 18:30:45 +00:00
|
|
|
|
|
2003-05-24 23:54:43 +00:00
|
|
|
|
The default left and right fringe widths for all windows of a frame
|
|
|
|
|
can now be controlled by setting the `left-fringe' and `right-fringe'
|
|
|
|
|
frame parameters to an integer value specifying the width in pixels.
|
|
|
|
|
Setting the width to 0 effectively removes the corresponding fringe.
|
2002-07-07 18:30:45 +00:00
|
|
|
|
|
2003-05-24 23:54:43 +00:00
|
|
|
|
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
|
2006-01-06 12:13:43 +00:00
|
|
|
|
between the left and right fringe. To force a specific fringe width,
|
2003-05-24 23:54:43 +00:00
|
|
|
|
specify the width as a negative integer (if both widths are negative,
|
|
|
|
|
only the left fringe gets the specified width).
|
2002-07-07 18:30:45 +00:00
|
|
|
|
|
|
|
|
|
Setting the width to nil (the default), restores the default fringe
|
|
|
|
|
width which is the minimum number of pixels necessary to display any
|
|
|
|
|
of the currently defined fringe bitmaps. The width of the built-in
|
|
|
|
|
fringe bitmaps is 8 pixels.
|
|
|
|
|
|
2003-08-06 01:45:14 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Per-window fringe and scrollbar settings
|
2003-05-24 23:54:43 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
**** Windows can now have their own individual fringe widths and
|
2005-05-02 20:58:54 +00:00
|
|
|
|
position settings.
|
2003-05-24 23:54:43 +00:00
|
|
|
|
|
|
|
|
|
To control the fringe widths of a window, either set the buffer-local
|
|
|
|
|
variables `left-fringe-width', `right-fringe-width', or call
|
|
|
|
|
`set-window-fringes'.
|
|
|
|
|
|
|
|
|
|
To control the fringe position in a window, that is, whether fringes
|
|
|
|
|
are positioned between the display margins and the window's text area,
|
|
|
|
|
or at the edges of the window, either set the buffer-local variable
|
|
|
|
|
`fringes-outside-margins' or call `set-window-fringes'.
|
|
|
|
|
|
|
|
|
|
The function `window-fringes' can be used to obtain the current
|
|
|
|
|
settings. To make `left-fringe-width', `right-fringe-width', and
|
|
|
|
|
`fringes-outside-margins' take effect, you must set them before
|
|
|
|
|
displaying the buffer in a window, or use `set-window-buffer' to force
|
|
|
|
|
an update of the display margins.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
**** Windows can now have their own individual scroll-bar settings
|
2003-05-24 23:54:43 +00:00
|
|
|
|
controlling the width and position of scroll-bars.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
To control the scroll-bar of a window, either set the buffer-local
|
|
|
|
|
variables `scroll-bar-mode' and `scroll-bar-width', or call
|
|
|
|
|
`set-window-scroll-bars'. The function `window-scroll-bars' can be
|
|
|
|
|
used to obtain the current settings. To make `scroll-bar-mode' and
|
|
|
|
|
`scroll-bar-width' take effect, you must set them before displaying
|
|
|
|
|
the buffer in a window, or use `set-window-buffer' to force an update
|
|
|
|
|
of the display margins.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Redisplay features:
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `sit-for' can now be called with args (SECONDS &optional NODISP).
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2006-06-13 22:44:44 +00:00
|
|
|
|
+++
|
2006-07-11 00:48:06 +00:00
|
|
|
|
*** Iconifying or deiconifying a frame no longer makes sit-for return.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** New function `redisplay' causes an immediate redisplay if no input is
|
|
|
|
|
available, equivalent to (sit-for 0). The call (redisplay t) forces
|
|
|
|
|
an immediate redisplay even if input is pending.
|
2006-06-13 22:44:44 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `force-window-update' can initiate a full redisplay of
|
|
|
|
|
one or all windows. Normally, this is not needed as changes in window
|
|
|
|
|
contents are detected automatically. However, certain implicit
|
|
|
|
|
changes to mode lines, header lines, or display properties may require
|
|
|
|
|
forcing an explicit window update.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** (char-displayable-p CHAR) returns non-nil if Emacs ought to be able
|
2005-05-02 20:58:54 +00:00
|
|
|
|
to display CHAR. More precisely, if the selected frame's fontset has
|
|
|
|
|
a font to display the character set that CHAR belongs to.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
Fontsets can specify a font on a per-character basis; when the fontset
|
2005-05-08 23:02:44 +00:00
|
|
|
|
does that, this value cannot be accurate.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** You can define multiple overlay arrows via the new
|
|
|
|
|
variable `overlay-arrow-variable-list'.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2006-03-23 07:31:33 +00:00
|
|
|
|
It contains a list of variables which contain overlay arrow position
|
2005-05-09 21:02:37 +00:00
|
|
|
|
markers, including the original `overlay-arrow-position' variable.
|
2002-02-06 23:08:22 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
Each variable on this list can have individual `overlay-arrow-string'
|
|
|
|
|
and `overlay-arrow-bitmap' properties that specify an overlay arrow
|
|
|
|
|
string (for non-window terminals) or fringe bitmap (for window
|
|
|
|
|
systems) to display at the corresponding overlay arrow position.
|
|
|
|
|
If either property is not set, the default `overlay-arrow-string' or
|
|
|
|
|
'overlay-arrow-fringe-bitmap' will be used.
|
2002-05-10 07:14:05 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New `line-height' and `line-spacing' properties for newline characters
|
2002-05-10 07:14:05 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
A newline can now have `line-height' and `line-spacing' text or overlay
|
|
|
|
|
properties that control the height of the corresponding display row.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If the `line-height' property value is t, the newline does not
|
|
|
|
|
contribute to the height of the display row; instead the height of the
|
|
|
|
|
newline glyph is reduced. Also, a `line-spacing' property on this
|
|
|
|
|
newline is ignored. This can be used to tile small images or image
|
|
|
|
|
slices without adding blank areas between the images.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If the `line-height' property value is a positive integer, the value
|
|
|
|
|
specifies the minimum line height in pixels. If necessary, the line
|
|
|
|
|
height it increased by increasing the line's ascent.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If the `line-height' property value is a float, the minimum line
|
|
|
|
|
height is calculated by multiplying the default frame line height by
|
|
|
|
|
the given value.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If the `line-height' property value is a cons (FACE . RATIO), the
|
|
|
|
|
minimum line height is calculated as RATIO * height of named FACE.
|
|
|
|
|
RATIO is int or float. If FACE is t, it specifies the current face.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If the `line-height' property value is a cons (nil . RATIO), the line
|
|
|
|
|
height is calculated as RATIO * actual height of the line's contents.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If the `line-height' value is a cons (HEIGHT . TOTAL), HEIGHT specifies
|
|
|
|
|
the line height as described above, while TOTAL is any of the forms
|
|
|
|
|
described above and specifies the total height of the line, causing a
|
|
|
|
|
varying number of pixels to be inserted after the line to make it line
|
|
|
|
|
exactly that many pixels high.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If the `line-spacing' property value is an positive integer, the value
|
|
|
|
|
is used as additional pixels to insert after the display line; this
|
|
|
|
|
overrides the default frame `line-spacing' and any buffer local value of
|
|
|
|
|
the `line-spacing' variable.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If the `line-spacing' property is a float or cons, the line spacing
|
|
|
|
|
is calculated as specified above for the `line-height' property.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** The buffer local `line-spacing' variable can now have a float value,
|
2005-05-09 21:02:37 +00:00
|
|
|
|
which is used as a height relative to the default frame line height.
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Enhancements to stretch display properties
|
2002-02-06 15:44:48 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
The display property stretch specification form `(space PROPS)', where
|
2006-01-06 12:13:43 +00:00
|
|
|
|
PROPS is a property list, now allows pixel based width and height
|
2005-05-09 21:02:37 +00:00
|
|
|
|
specifications, as well as enhanced horizontal text alignment.
|
2002-06-08 21:00:53 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
The value of these properties can now be a (primitive) expression
|
|
|
|
|
which is evaluated during redisplay. The following expressions
|
|
|
|
|
are supported:
|
2002-06-08 21:00:53 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
EXPR ::= NUM | (NUM) | UNIT | ELEM | POS | IMAGE | FORM
|
|
|
|
|
NUM ::= INTEGER | FLOAT | SYMBOL
|
|
|
|
|
UNIT ::= in | mm | cm | width | height
|
|
|
|
|
ELEM ::= left-fringe | right-fringe | left-margin | right-margin
|
|
|
|
|
| scroll-bar | text
|
|
|
|
|
POS ::= left | center | right
|
|
|
|
|
FORM ::= (NUM . EXPR) | (OP EXPR ...)
|
|
|
|
|
OP ::= + | -
|
2002-06-08 21:00:53 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
The form `NUM' specifies a fractional width or height of the default
|
|
|
|
|
frame font size. The form `(NUM)' specifies an absolute number of
|
|
|
|
|
pixels. If a symbol is specified, its buffer-local variable binding
|
|
|
|
|
is used. The `in', `mm', and `cm' units specifies the number of
|
|
|
|
|
pixels per inch, milli-meter, and centi-meter, resp. The `width' and
|
|
|
|
|
`height' units correspond to the width and height of the current face
|
|
|
|
|
font. An image specification corresponds to the width or height of
|
|
|
|
|
the image.
|
2002-04-19 00:29:46 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
The `left-fringe', `right-fringe', `left-margin', `right-margin',
|
|
|
|
|
`scroll-bar', and `text' elements specify to the width of the
|
|
|
|
|
corresponding area of the window.
|
2002-04-19 00:29:46 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
The `left', `center', and `right' positions can be used with :align-to
|
|
|
|
|
to specify a position relative to the left edge, center, or right edge
|
|
|
|
|
of the text area. One of the above window elements (except `text')
|
|
|
|
|
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
|
2006-03-23 07:31:33 +00:00
|
|
|
|
these symbols), further occurrences of these symbols are interpreted as
|
2005-05-09 21:02:37 +00:00
|
|
|
|
the width of the area.
|
2002-04-21 17:15:46 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
For example, to align to the center of the left-margin, use
|
|
|
|
|
:align-to (+ left-margin (0.5 . left-margin))
|
2003-01-19 00:27:11 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If no specific base offset is set for alignment, it is always relative
|
|
|
|
|
to the left edge of the text area. For example, :align-to 0 in a
|
2005-05-14 13:58:01 +00:00
|
|
|
|
header line aligns with the first text column in the text area.
|
2003-01-19 00:27:11 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
The value of the form `(NUM . EXPR)' is the value of NUM multiplied by
|
|
|
|
|
the value of the expression EXPR. For example, (2 . in) specifies a
|
|
|
|
|
width of 2 inches, while (0.5 . IMAGE) specifies half the width (or
|
|
|
|
|
height) of the specified image.
|
2002-04-21 17:15:46 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
The form `(+ EXPR ...)' adds up the value of the expressions.
|
|
|
|
|
The form `(- EXPR ...)' negates or subtracts the value of the expressions.
|
2002-04-21 17:15:46 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Normally, the cursor is displayed at the end of any overlay and
|
|
|
|
|
text property string that may be present at the current window
|
|
|
|
|
position. The cursor can now be placed on any character of such
|
|
|
|
|
strings by giving that character a non-nil `cursor' text property.
|
2003-01-19 00:27:11 +00:00
|
|
|
|
|
2003-08-17 00:27:53 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The display space :width and :align-to text properties are now
|
|
|
|
|
supported on text terminals.
|
2003-01-19 00:27:11 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Support for displaying image slices
|
2003-01-19 00:27:11 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
**** New display property (slice X Y WIDTH HEIGHT) can be used with
|
|
|
|
|
an image property to display only a specific slice of the image.
|
2003-01-19 00:27:11 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
**** Function `insert-image' has new optional fourth arg to
|
2005-05-09 21:02:37 +00:00
|
|
|
|
specify image slice (X Y WIDTH HEIGHT).
|
2003-01-19 00:27:11 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
**** New function `insert-sliced-image' inserts a given image as a
|
2005-05-09 21:02:37 +00:00
|
|
|
|
specified number of evenly sized slices (rows x columns).
|
2003-01-19 00:27:11 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Images can now have an associated image map via the :map property.
|
2003-01-19 00:27:11 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
An image map is an alist where each element has the format (AREA ID PLIST).
|
|
|
|
|
An AREA is specified as either a rectangle, a circle, or a polygon:
|
|
|
|
|
A rectangle is a cons (rect . ((X0 . Y0) . (X1 . Y1))) specifying the
|
|
|
|
|
pixel coordinates of the upper left and bottom right corners.
|
|
|
|
|
A circle is a cons (circle . ((X0 . Y0) . R)) specifying the center
|
|
|
|
|
and the radius of the circle; R can be a float or integer.
|
|
|
|
|
A polygon is a cons (poly . [X0 Y0 X1 Y1 ...]) where each pair in the
|
|
|
|
|
vector describes one corner in the polygon.
|
2002-06-11 01:50:15 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
When the mouse pointer is above a hot-spot area of an image, the
|
|
|
|
|
PLIST of that hot-spot is consulted; if it contains a `help-echo'
|
|
|
|
|
property it defines a tool-tip for the hot-spot, and if it contains
|
|
|
|
|
a `pointer' property, it defines the shape of the mouse cursor when
|
2005-05-14 13:58:01 +00:00
|
|
|
|
it is over the hot-spot. See the variable `void-area-text-pointer'
|
2005-05-09 21:02:37 +00:00
|
|
|
|
for possible pointer shapes.
|
2002-06-11 01:50:15 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
When you click the mouse when the mouse pointer is over a hot-spot,
|
|
|
|
|
an event is composed by combining the ID of the hot-spot with the
|
|
|
|
|
mouse event, e.g. [area4 mouse-1] if the hot-spot's ID is `area4'.
|
2004-06-04 02:50:50 +00:00
|
|
|
|
|
2005-09-15 14:01:04 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The function `find-image' now searches in etc/images/ and etc/.
|
|
|
|
|
The new variable `image-load-path' is a list of locations in which to
|
|
|
|
|
search for image files. The default is to search in etc/images, then
|
|
|
|
|
in etc/, and finally in the directories specified by `load-path'.
|
|
|
|
|
Subdirectories of etc/ and etc/images are not recursively searched; if
|
|
|
|
|
you put an image file in a subdirectory, you have to specify it
|
|
|
|
|
explicitly; for example, if an image is put in etc/images/foo/bar.xpm:
|
|
|
|
|
|
|
|
|
|
(defimage foo-image '((:type xpm :file "foo/bar.xpm")))
|
|
|
|
|
|
2006-03-11 22:49:40 +00:00
|
|
|
|
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'.
|
|
|
|
|
|
2005-10-19 03:56:09 +00:00
|
|
|
|
+++
|
2005-10-19 21:54:41 +00:00
|
|
|
|
*** The new variable `max-image-size' defines the maximum size of
|
|
|
|
|
images that Emacs will load and display.
|
2005-10-19 03:56:09 +00:00
|
|
|
|
|
2006-09-06 13:01:57 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The new variable `display-mm-dimensions-alist' can be used to
|
|
|
|
|
override incorrect graphical display dimensions returned by functions
|
|
|
|
|
`display-mm-height' and `display-mm-width'.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Mouse pointer features:
|
2002-07-08 00:02:20 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++ (lispref)
|
|
|
|
|
??? (man)
|
|
|
|
|
*** The mouse pointer shape in void text areas (i.e. after the end of a
|
|
|
|
|
line or below the last line in the buffer) of the text window is now
|
|
|
|
|
controlled by the new variable `void-text-area-pointer'. The default
|
|
|
|
|
is to use the `arrow' (non-text) pointer. Other choices are `text'
|
|
|
|
|
(or nil), `hand', `vdrag', `hdrag', `modeline', and `hourglass'.
|
2002-07-08 00:02:20 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The mouse pointer shape over an image can now be controlled by the
|
|
|
|
|
:pointer image property.
|
2004-06-07 07:02:20 +00:00
|
|
|
|
|
2003-09-12 00:44:10 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The mouse pointer shape over ordinary text or images can now be
|
2006-03-23 07:31:33 +00:00
|
|
|
|
controlled/overridden via the `pointer' text property.
|
2003-01-13 11:59:41 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Mouse event enhancements:
|
2003-01-13 11:59:41 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** Mouse events for clicks on window fringes now specify `left-fringe'
|
|
|
|
|
or `right-fringe' as the area.
|
2003-01-14 10:18:36 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** All mouse events now include a buffer position regardless of where
|
|
|
|
|
you clicked. For mouse clicks in window margins and fringes, this is
|
|
|
|
|
a sensible buffer position corresponding to the surrounding text.
|
2003-01-14 10:18:36 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** `posn-point' now returns buffer position for non-text area events.
|
2004-01-01 23:44:00 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** Function `mouse-set-point' now works for events outside text area.
|
2004-01-01 23:44:00 +00:00
|
|
|
|
|
2003-09-12 00:44:10 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `posn-area' returns window area clicked on (nil means
|
|
|
|
|
text area).
|
2002-03-01 00:15:34 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** Mouse events include actual glyph column and row for all event types
|
|
|
|
|
and all areas.
|
2002-03-01 00:15:34 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New function `posn-actual-col-row' returns the actual glyph coordinates
|
|
|
|
|
of the mouse event position.
|
2002-03-01 00:15:34 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** Mouse events can now indicate an image object clicked on.
|
2002-03-21 12:41:49 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** Mouse events include relative X and Y pixel coordinates relative to
|
2005-05-09 21:02:37 +00:00
|
|
|
|
the top left corner of the object (image or character) clicked on.
|
2002-03-17 20:37:10 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Mouse events include the pixel width and height of the object
|
|
|
|
|
(image or character) clicked on.
|
2002-03-17 20:37:10 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New functions 'posn-object', 'posn-object-x-y', 'posn-object-width-height'.
|
|
|
|
|
|
|
|
|
|
These return the image or string object of a mouse click, the X and Y
|
|
|
|
|
pixel coordinates relative to the top left corner of that object, and
|
|
|
|
|
the total width and height of that object.
|
2002-03-17 20:37:10 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Text property and overlay changes:
|
2003-01-10 11:02:31 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** Arguments for `remove-overlays' are now optional, so that you can
|
|
|
|
|
remove all overlays in the buffer with just (remove-overlays).
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New variable `char-property-alias-alist'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
This variable allows you to create alternative names for text
|
|
|
|
|
properties. It works at the same level as `default-text-properties',
|
|
|
|
|
although it applies to overlays as well. This variable was introduced
|
|
|
|
|
to implement the `font-lock-face' property.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `get-char-property-and-overlay' accepts the same
|
|
|
|
|
arguments as `get-char-property' and returns a cons whose car is the
|
|
|
|
|
return value of `get-char-property' called with those arguments and
|
|
|
|
|
whose cdr is the overlay in which the property was found, or nil if
|
|
|
|
|
it was found as a text property or not found at all.
|
2002-03-17 20:37:10 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** The new function `remove-list-of-text-properties'.
|
|
|
|
|
|
|
|
|
|
It is like `remove-text-properties' except that it takes a list of
|
|
|
|
|
property names as argument rather than a property list.
|
2003-01-10 11:02:31 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Face changes
|
2002-03-17 20:37:10 +00:00
|
|
|
|
|
2006-07-03 14:32:58 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The variable `facemenu-unlisted-faces' has been removed.
|
|
|
|
|
Emacs has a lot more faces than in the past, and nearly all of them
|
|
|
|
|
needed to be excluded. The new variable `facemenu-listed-faces' lists
|
|
|
|
|
the faces to include in the face menu.
|
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new face attribute condition `min-colors' can be used to tailor
|
|
|
|
|
the face color to the number of colors supported by a display, and
|
|
|
|
|
define the foreground and background colors accordingly so that they
|
|
|
|
|
look best on a terminal that supports at least this many colors. This
|
|
|
|
|
is now the preferred method for defining default faces in a way that
|
|
|
|
|
makes a good use of the capabilities of the display.
|
2002-03-17 20:37:10 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New function `display-supports-face-attributes-p' can be used to test
|
2005-05-09 21:02:37 +00:00
|
|
|
|
whether a given set of face attributes is actually displayable.
|
2002-03-17 20:37:10 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
A new predicate `supports' has also been added to the `defface' face
|
|
|
|
|
specification language, which can be used to do this test for faces
|
2005-05-14 13:58:01 +00:00
|
|
|
|
defined with `defface'.
|
2002-03-17 20:37:10 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The special treatment of faces whose names are of the form `fg:COLOR'
|
|
|
|
|
or `bg:COLOR' has been removed. Lisp programs should use the
|
|
|
|
|
`defface' facility for defining faces with specific colors, or use
|
|
|
|
|
the feature of specifying the face attributes :foreground and :background
|
|
|
|
|
directly in the `face' property instead of using a named face.
|
2003-09-13 23:41:12 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The first face specification element in a defface can specify
|
|
|
|
|
`default' instead of frame classification. Then its attributes act as
|
|
|
|
|
defaults that apply to all the subsequent cases (and can be overridden
|
|
|
|
|
by them).
|
2003-09-13 23:41:12 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** The variable `face-font-rescale-alist' specifies how much larger
|
|
|
|
|
(or smaller) font we should use. For instance, if the value is
|
|
|
|
|
'((SOME-FONTNAME-PATTERN . 1.3)) and a face requests a font of 10
|
|
|
|
|
point, we actually use a font of 13 point if the font matches
|
|
|
|
|
SOME-FONTNAME-PATTERN.
|
2003-09-13 23:41:12 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The function `face-differs-from-default-p' now truly checks
|
|
|
|
|
whether the given face displays differently from the default face or
|
|
|
|
|
not (previously it did only a very cursory check).
|
2003-09-13 23:41:12 +00:00
|
|
|
|
|
2003-09-12 00:44:10 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** `face-attribute', `face-foreground', `face-background', `face-stipple'.
|
|
|
|
|
|
|
|
|
|
These now accept a new optional argument, INHERIT, which controls how
|
|
|
|
|
face inheritance is used when determining the value of a face
|
|
|
|
|
attribute.
|
2002-06-12 03:39:00 +00:00
|
|
|
|
|
2003-09-12 00:44:10 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New functions `face-attribute-relative-p' and `merge-face-attribute'
|
|
|
|
|
help with handling relative face attributes.
|
2002-01-25 02:37:41 +00:00
|
|
|
|
|
2003-09-12 00:44:10 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The priority of faces in an :inherit attribute face list is reversed.
|
2002-03-02 00:14:09 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If a face contains an :inherit attribute with a list of faces, earlier
|
|
|
|
|
faces in the list override later faces in the list; in previous
|
|
|
|
|
releases of Emacs, the order was the opposite. This change was made
|
|
|
|
|
so that :inherit face lists operate identically to face lists in text
|
|
|
|
|
`face' properties.
|
2002-04-16 14:28:10 +00:00
|
|
|
|
|
2005-08-22 21:35:40 +00:00
|
|
|
|
---
|
|
|
|
|
*** On terminals, faces with the :inverse-video attribute are displayed
|
|
|
|
|
with swapped foreground and background colors even when one of them is
|
|
|
|
|
not specified. In previous releases of Emacs, if either foreground
|
|
|
|
|
or background color was unspecified, colors were not swapped. This
|
|
|
|
|
was inconsistent with the face behavior under X.
|
|
|
|
|
|
2003-09-12 00:44:10 +00:00
|
|
|
|
---
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `set-fontset-font', `fontset-info', `fontset-font' now operate on
|
|
|
|
|
the default fontset if the argument NAME is nil..
|
2002-04-29 05:12:58 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Font-Lock changes:
|
2002-04-29 05:12:58 +00:00
|
|
|
|
|
2003-08-17 00:27:53 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New special text property `font-lock-face'.
|
2002-04-29 05:12:58 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
This property acts like the `face' property, but it is controlled by
|
|
|
|
|
M-x font-lock-mode. It is not, strictly speaking, a builtin text
|
|
|
|
|
property. Instead, it is implemented inside font-core.el, using the
|
|
|
|
|
new variable `char-property-alias-alist'.
|
2002-04-30 05:42:29 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** font-lock can manage arbitrary text-properties beside `face'.
|
2002-04-30 05:42:29 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
**** the FACENAME returned in `font-lock-keywords' can be a list of the
|
2005-05-09 21:02:37 +00:00
|
|
|
|
form (face FACE PROP1 VAL1 PROP2 VAL2 ...) so you can set other
|
|
|
|
|
properties than `face'.
|
2002-04-30 05:42:29 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
**** `font-lock-extra-managed-props' can be set to make sure those
|
2005-05-09 21:02:37 +00:00
|
|
|
|
extra properties are automatically cleaned up by font-lock.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** jit-lock obeys a new text-property `jit-lock-defer-multiline'.
|
2002-04-06 22:06:28 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If a piece of text with that property gets contextually refontified
|
|
|
|
|
(see `jit-lock-defer-contextually'), then all of that text will
|
|
|
|
|
be refontified. This is useful when the syntax of a textual element
|
|
|
|
|
depends on text several lines further down (and when `font-lock-multiline'
|
|
|
|
|
is not appropriate to solve that problem). For example in Perl:
|
2002-04-06 22:06:28 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
s{
|
|
|
|
|
foo
|
|
|
|
|
}{
|
|
|
|
|
bar
|
|
|
|
|
}e
|
2002-01-18 05:45:17 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
Adding/removing the last `e' changes the `bar' from being a piece of
|
|
|
|
|
text to being a piece of code, so you'd put a `jit-lock-defer-multiline'
|
|
|
|
|
property over the second half of the command to force (deferred)
|
|
|
|
|
refontification of `bar' whenever the `e' is added/removed.
|
2002-06-11 22:33:52 +00:00
|
|
|
|
|
2006-08-03 07:14:39 +00:00
|
|
|
|
*** `font-lock-extend-region-functions' makes it possible to alter the way
|
|
|
|
|
the fontification region is chosen. This can be used to prevent rounding
|
|
|
|
|
up to whole lines, or to extend the region to include all related lines
|
|
|
|
|
of multiline constructs so that such constructs get properly recognized.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Major mode mechanism changes:
|
2002-06-11 22:33:52 +00:00
|
|
|
|
|
2004-11-15 15:20:33 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `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
|
2006-01-06 12:13:43 +00:00
|
|
|
|
variable `magic-mode-alist'.
|
2004-11-15 15:20:33 +00:00
|
|
|
|
|
2003-08-17 00:27:53 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** Use the new function `run-mode-hooks' to run the major mode's mode hook.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** All major mode functions should now run the new normal hook
|
|
|
|
|
`after-change-major-mode-hook', at their very end, after the mode
|
|
|
|
|
hooks. `run-mode-hooks' does this automatically.
|
2002-03-26 09:20:57 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** If a major mode function has a non-nil `no-clone-indirect'
|
|
|
|
|
property, `clone-indirect-buffer' signals an error if you use
|
|
|
|
|
it in that buffer.
|
2002-04-01 16:37:41 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Major modes can define `eldoc-documentation-function'
|
|
|
|
|
locally to provide Eldoc functionality by some method appropriate to
|
|
|
|
|
the language.
|
2002-04-01 16:37:41 +00:00
|
|
|
|
|
2002-02-19 11:07:20 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `define-derived-mode' by default creates a new empty abbrev table.
|
|
|
|
|
It does not copy abbrevs from the parent mode's abbrev table.
|
2002-02-19 11:07:20 +00:00
|
|
|
|
|
2002-01-20 23:19:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new function `run-mode-hooks' and the new macro `delay-mode-hooks'
|
|
|
|
|
are used by `define-derived-mode' to make sure the mode hook for the
|
|
|
|
|
parent mode is run at the end of the child mode.
|
2002-01-20 23:19:43 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Minor mode changes:
|
2002-01-14 13:51:53 +00:00
|
|
|
|
|
2003-09-26 12:53:18 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `define-minor-mode' now accepts arbitrary additional keyword arguments
|
|
|
|
|
and simply passes them to `defcustom', if applicable.
|
2003-09-26 12:53:18 +00:00
|
|
|
|
|
2003-09-08 08:06:58 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `minor-mode-list' now holds a list of minor mode commands.
|
2003-09-08 08:06:58 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `define-global-minor-mode'.
|
2002-06-24 09:42:38 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
This is a new name for what was formerly called
|
|
|
|
|
`easy-mmode-define-global-mode'. The old name remains as an alias.
|
2001-11-21 01:43:19 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Command loop changes:
|
2001-11-21 01:43:19 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new function `called-interactively-p' does what many people
|
2005-05-14 13:58:01 +00:00
|
|
|
|
have mistakenly believed `interactive-p' to do: it returns t if the
|
|
|
|
|
calling function was called through `call-interactively'.
|
|
|
|
|
|
|
|
|
|
Only use this when you cannot solve the problem by adding a new
|
2005-05-09 21:02:37 +00:00
|
|
|
|
INTERACTIVE argument to the command.
|
2001-11-19 23:04:35 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The function `commandp' takes an additional optional argument.
|
2001-11-18 05:59:41 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
If it is non-nil, then `commandp' checks for a function that could be
|
|
|
|
|
called with `call-interactively', and does not return t for keyboard
|
|
|
|
|
macros.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** When a command returns, the command loop moves point out from
|
|
|
|
|
within invisible text, in the same way it moves out from within text
|
|
|
|
|
covered by an image or composition property.
|
2001-11-18 05:59:41 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
This makes it generally unnecessary to mark invisible text as intangible.
|
|
|
|
|
This is particularly good because the intangible property often has
|
|
|
|
|
unexpected side-effects since the property applies to everything
|
|
|
|
|
(including `goto-char', ...) whereas this new code is only run after
|
|
|
|
|
`post-command-hook' and thus does not care about intermediate states.
|
2001-11-25 02:42:37 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** If a command sets `transient-mark-mode' to `only', that
|
|
|
|
|
enables Transient Mark mode for the following command only.
|
|
|
|
|
During that following command, the value of `transient-mark-mode'
|
|
|
|
|
is `identity'. If it is still `identity' at the end of the command,
|
|
|
|
|
the next return to the command loop changes to nil.
|
2001-11-13 03:14:36 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Both the variable and the function `disabled-command-hook' have
|
|
|
|
|
been renamed to `disabled-command-function'. The variable
|
|
|
|
|
`disabled-command-hook' has been kept as an obsolete alias.
|
2001-11-13 03:14:36 +00:00
|
|
|
|
|
2004-07-08 17:47:25 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `emacsserver' now runs `pre-command-hook' and `post-command-hook'
|
|
|
|
|
when it receives a request from emacsclient.
|
2004-07-08 17:47:25 +00:00
|
|
|
|
|
2006-08-20 12:19:33 +00:00
|
|
|
|
+++
|
|
|
|
|
*** `current-idle-time' reports how long Emacs has been idle.
|
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Lisp file loading changes:
|
2005-05-02 21:35:52 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** `load-history' can now have elements of the form (t . FUNNAME),
|
|
|
|
|
which means FUNNAME was previously defined as an autoload (before the
|
|
|
|
|
current file redefined it).
|
2002-03-15 14:06:01 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `load-history' now records (defun . FUNNAME) when a function is
|
|
|
|
|
defined. For a variable, it records just the variable name.
|
2001-10-30 08:51:51 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** The function `symbol-file' can now search specifically for function,
|
|
|
|
|
variable or face definitions.
|
2003-04-11 19:05:32 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `provide' and `featurep' now accept an optional second argument
|
|
|
|
|
to test/provide subfeatures. Also `provide' now checks `after-load-alist'
|
|
|
|
|
and runs any code associated with the provided feature.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** The variable `recursive-load-depth-limit' has been deleted.
|
|
|
|
|
Emacs now signals an error if the same file is loaded with more
|
|
|
|
|
than 3 levels of nesting.
|
2002-09-12 03:30:13 +00:00
|
|
|
|
|
2002-07-07 21:28:23 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Byte compiler changes:
|
2001-10-30 08:51:51 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** The byte compiler now displays the actual line and character
|
2005-05-09 21:02:37 +00:00
|
|
|
|
position of errors, where possible. Additionally, the form of its
|
2005-05-14 13:58:01 +00:00
|
|
|
|
warning and error messages have been brought into line with GNU standards
|
|
|
|
|
for these. As a result, you can use next-error and friends on the
|
|
|
|
|
compilation output buffer.
|
2001-10-22 16:17:29 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new macro `with-no-warnings' suppresses all compiler warnings
|
|
|
|
|
inside its body. In terms of execution, it is equivalent to `progn'.
|
|
|
|
|
|
|
|
|
|
*** You can avoid warnings for possibly-undefined symbols with a
|
|
|
|
|
simple convention that the compiler understands. (This is mostly
|
|
|
|
|
useful in code meant to be portable to different Emacs versions.)
|
|
|
|
|
Write forms like the following, or code that macroexpands into such
|
|
|
|
|
forms:
|
|
|
|
|
|
|
|
|
|
(if (fboundp 'foo) <then> <else>)
|
|
|
|
|
(if (boundp 'foo) <then> <else)
|
|
|
|
|
|
|
|
|
|
In the first case, using `foo' as a function inside the <then> form
|
|
|
|
|
won't produce a warning if it's not defined as a function, and in the
|
|
|
|
|
second case, using `foo' as a variable won't produce a warning if it's
|
|
|
|
|
unbound. The test must be in exactly one of the above forms (after
|
|
|
|
|
macro expansion), but such tests can be nested. Note that `when' and
|
|
|
|
|
`unless' expand to `if', but `cond' doesn't.
|
|
|
|
|
|
|
|
|
|
*** `(featurep 'xemacs)' is treated by the compiler as nil. This
|
|
|
|
|
helps to avoid noisy compiler warnings in code meant to run under both
|
|
|
|
|
Emacs and XEmacs and can sometimes make the result significantly more
|
|
|
|
|
efficient. Since byte code from recent versions of XEmacs won't
|
|
|
|
|
generally run in Emacs and vice versa, this optimization doesn't lose
|
|
|
|
|
you anything.
|
|
|
|
|
|
2005-05-14 13:18:57 +00:00
|
|
|
|
*** The local variable `no-byte-compile' in Lisp files is now obeyed.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
*** When a Lisp file uses CL functions at run-time, compiling the file
|
|
|
|
|
now issues warnings about these calls, unless the file performs
|
|
|
|
|
(require 'cl) when loaded.
|
|
|
|
|
|
|
|
|
|
** Frame operations:
|
2001-10-11 17:26:04 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New functions `frame-current-scroll-bars' and `window-current-scroll-bars'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
These functions return the current locations of the vertical and
|
|
|
|
|
horizontal scroll bars in a frame or window.
|
2001-10-11 02:08:21 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new function `modify-all-frames-parameters' modifies parameters
|
|
|
|
|
for all (existing and future) frames.
|
2001-10-11 02:08:21 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new frame parameter `tty-color-mode' specifies the mode to use
|
|
|
|
|
for color support on character terminal frames. Its value can be a
|
|
|
|
|
number of colors to support, or a symbol. See the Emacs Lisp
|
|
|
|
|
Reference manual for more detailed documentation.
|
2002-06-24 09:42:38 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** When using non-toolkit scroll bars with the default width,
|
|
|
|
|
the `scroll-bar-width' frame parameter value is nil.
|
2001-10-12 21:21:17 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Mule changes:
|
2001-10-12 21:21:17 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** Already true in Emacs 21.1, but not emphasized clearly enough:
|
2001-10-12 21:21:17 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
Multibyte buffers can now faithfully record all 256 character codes
|
|
|
|
|
from 0 to 255. As a result, most of the past reasons to use unibyte
|
|
|
|
|
buffers no longer exist. We only know of three reasons to use them
|
|
|
|
|
now:
|
2001-10-05 09:13:21 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
1. If you prefer to use unibyte text all of the time.
|
2001-10-05 09:13:21 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
2. For reading files into temporary buffers, when you want to avoid
|
|
|
|
|
the time it takes to convert the format.
|
2001-10-05 09:13:21 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
3. For binary files where format conversion would be pointless and
|
|
|
|
|
wasteful.
|
2002-07-15 15:50:20 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** `set-buffer-file-coding-system' now takes an additional argument,
|
2005-05-09 21:02:37 +00:00
|
|
|
|
NOMODIFY. If it is non-nil, it means don't mark the buffer modified.
|
2001-10-05 09:13:21 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new variable `auto-coding-functions' lets you specify functions
|
|
|
|
|
to examine a file being visited and deduce the proper coding system
|
|
|
|
|
for it. (If the coding system is detected incorrectly for a specific
|
|
|
|
|
file, you can put a `coding:' tags to override it.)
|
2001-10-05 09:13:21 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
---
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new function `merge-coding-systems' fills in unspecified aspects
|
|
|
|
|
of one coding system from another coding system.
|
2001-10-05 09:13:21 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** New coding system property `mime-text-unsuitable' indicates that
|
|
|
|
|
the coding system's `mime-charset' is not suitable for MIME text
|
|
|
|
|
parts, e.g. utf-16.
|
2001-10-05 12:54:15 +00:00
|
|
|
|
|
2003-07-14 16:05:43 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `decode-coding-inserted-region' decodes a region as if
|
|
|
|
|
it is read from a file without decoding.
|
2001-10-07 11:19:34 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** New CCL functions `lookup-character' and `lookup-integer' access
|
|
|
|
|
hash tables defined by the Lisp function `define-translation-hash-table'.
|
2001-11-21 19:39:03 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
2005-05-14 13:58:01 +00:00
|
|
|
|
*** New function `quail-find-key' returns a list of keys to type in the
|
2005-05-09 21:02:37 +00:00
|
|
|
|
current input method to input a character.
|
2002-03-06 17:00:30 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Mode line changes:
|
2003-10-12 15:30:22 +00:00
|
|
|
|
|
2005-03-21 17:54:51 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `format-mode-line'.
|
2004-04-27 21:00:31 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
This returns the mode line or header line of the selected (or a
|
2005-05-09 21:02:37 +00:00
|
|
|
|
specified) window as a string with or without text properties.
|
2001-10-11 02:08:21 +00:00
|
|
|
|
|
2005-03-28 21:30:15 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new mode-line construct `(:propertize ELT PROPS...)' can be
|
|
|
|
|
used to add text properties to mode-line elements.
|
2003-07-14 20:37:35 +00:00
|
|
|
|
|
2005-05-02 20:58:54 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new `%i' and `%I' constructs for `mode-line-format' can be used
|
|
|
|
|
to display the size of the accessible part of the buffer on the mode
|
|
|
|
|
line.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-06-04 19:03:06 +00:00
|
|
|
|
+++
|
2005-05-24 18:15:09 +00:00
|
|
|
|
*** Mouse-face on mode-line (and header-line) is now supported.
|
2005-05-24 17:12:50 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
** Menu manipulation changes:
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** To manipulate the File menu using easy-menu, you must specify the
|
|
|
|
|
proper name "file". In previous Emacs versions, you had to specify
|
|
|
|
|
"files", even though the menu item itself was changed to say "File"
|
|
|
|
|
several versions ago.
|
2003-07-14 20:37:35 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** The dummy function keys made by easy-menu are now always lower case.
|
|
|
|
|
If you specify the menu item name "Ada", for instance, it uses `ada'
|
|
|
|
|
as the "key" bound by that key binding.
|
2001-10-11 02:08:21 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
This is relevant only if Lisp code looks for the bindings that were
|
|
|
|
|
made with easy-menu.
|
2002-07-01 22:17:06 +00:00
|
|
|
|
|
2005-03-28 21:30:15 +00:00
|
|
|
|
---
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** `easy-menu-define' now allows you to use nil for the symbol name
|
|
|
|
|
if you don't need to give the menu a name. If you install the menu
|
|
|
|
|
into other keymaps right away (MAPS is non-nil), it usually doesn't
|
|
|
|
|
need to have a name.
|
|
|
|
|
|
|
|
|
|
** Operating system access:
|
2002-01-13 06:00:04 +00:00
|
|
|
|
|
2005-03-26 02:15:50 +00:00
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** The new primitive `get-internal-run-time' returns the processor
|
|
|
|
|
run time used by Emacs since start-up.
|
2002-04-16 14:28:10 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** Functions `user-uid' and `user-real-uid' now return floats if the
|
|
|
|
|
user UID doesn't fit in a Lisp integer. Function `user-full-name'
|
|
|
|
|
accepts a float as UID parameter.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New function `locale-info' accesses locale information.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** On MS Windows, locale-coding-system is used to interact with the OS.
|
|
|
|
|
The Windows specific variable w32-system-coding-system, which was
|
|
|
|
|
formerly used for that purpose is now an alias for locale-coding-system.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
---
|
|
|
|
|
*** New function `redirect-debugging-output' can be used to redirect
|
|
|
|
|
debugging output on the stderr file handle to a file.
|
|
|
|
|
|
|
|
|
|
** Miscellaneous:
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
+++
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** A number of hooks have been renamed to better follow the conventions:
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-14 13:58:01 +00:00
|
|
|
|
`find-file-hooks' to `find-file-hook',
|
|
|
|
|
`find-file-not-found-hooks' to `find-file-not-found-functions',
|
|
|
|
|
`write-file-hooks' to `write-file-functions',
|
|
|
|
|
`write-contents-hooks' to `write-contents-functions',
|
|
|
|
|
`x-lost-selection-hooks' to `x-lost-selection-functions',
|
|
|
|
|
`x-sent-selection-hooks' to `x-sent-selection-functions',
|
|
|
|
|
`delete-frame-hook' to `delete-frame-functions'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
In each case the old name remains as an alias for the moment.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
2005-05-09 21:02:37 +00:00
|
|
|
|
+++
|
2006-01-06 12:13:43 +00:00
|
|
|
|
*** Variable `local-write-file-hooks' is marked obsolete.
|
2005-05-09 21:02:37 +00:00
|
|
|
|
|
|
|
|
|
Use the LOCAL arg of `add-hook'.
|
2005-05-02 20:58:54 +00:00
|
|
|
|
|
|
|
|
|
---
|
2005-05-09 21:02:37 +00:00
|
|
|
|
*** New function `x-send-client-message' sends a client message when
|
|
|
|
|
running under X.
|
2005-05-14 13:15:35 +00:00
|
|
|
|
|
|
|
|
|
** GC changes:
|
|
|
|
|
|
2005-07-21 19:03:30 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New variable `gc-cons-percentage' automatically grows the GC cons threshold
|
2005-07-22 14:22:02 +00:00
|
|
|
|
as the heap size increases.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
+++
|
|
|
|
|
*** New variables `gc-elapsed' and `gcs-done' provide extra information
|
|
|
|
|
on garbage collection.
|
|
|
|
|
|
|
|
|
|
+++
|
|
|
|
|
*** The normal hook `post-gc-hook' is run at the end of garbage collection.
|
|
|
|
|
|
|
|
|
|
The hook is run with GC inhibited, so use it with care.
|
|
|
|
|
|
|
|
|
|
* New Packages for Lisp Programming in Emacs 22.1
|
|
|
|
|
|
|
|
|
|
+++
|
2005-05-14 23:23:39 +00:00
|
|
|
|
** The new library button.el implements simple and fast `clickable
|
|
|
|
|
buttons' in emacs buffers. Buttons are much lighter-weight than the
|
|
|
|
|
`widgets' implemented by widget.el, and can be used by lisp code that
|
|
|
|
|
doesn't require the full power of widgets. Emacs uses buttons for
|
|
|
|
|
such things as help and apropos buffers.
|
2005-05-14 13:15:35 +00:00
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** The new library tree-widget.el provides a widget to display a set
|
|
|
|
|
of hierarchical data as an outline. For example, the tree-widget is
|
|
|
|
|
well suited to display a hierarchy of directories and files.
|
|
|
|
|
|
2005-06-17 14:42:39 +00:00
|
|
|
|
+++
|
2005-05-14 13:15:35 +00:00
|
|
|
|
** The new library bindat.el provides functions to unpack and pack
|
|
|
|
|
binary data structures, such as network packets, to and from Lisp
|
|
|
|
|
data structures.
|
|
|
|
|
|
|
|
|
|
---
|
|
|
|
|
** master-mode.el implements a minor mode for scrolling a slave
|
|
|
|
|
buffer without leaving your current buffer, the master buffer.
|
|
|
|
|
|
|
|
|
|
It can be used by sql.el, for example: the SQL buffer is the master
|
|
|
|
|
and its SQLi buffer is the slave. This allows you to scroll the SQLi
|
|
|
|
|
buffer containing the output from the SQL buffer containing the
|
|
|
|
|
commands.
|
|
|
|
|
|
|
|
|
|
This is how to use sql.el and master.el together: the variable
|
|
|
|
|
sql-buffer contains the slave buffer. It is a local variable in the
|
|
|
|
|
SQL buffer.
|
|
|
|
|
|
|
|
|
|
(add-hook 'sql-mode-hook
|
|
|
|
|
(function (lambda ()
|
|
|
|
|
(master-mode t)
|
|
|
|
|
(master-set-slave sql-buffer))))
|
|
|
|
|
(add-hook 'sql-set-sqli-hook
|
|
|
|
|
(function (lambda ()
|
|
|
|
|
(master-set-slave sql-buffer))))
|
|
|
|
|
|
2005-05-14 23:23:39 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new library benchmark.el does timing measurements on Lisp code.
|
|
|
|
|
|
|
|
|
|
This includes measuring garbage collection time.
|
|
|
|
|
|
2005-05-14 13:15:35 +00:00
|
|
|
|
+++
|
|
|
|
|
** The new library testcover.el does test coverage checking.
|
|
|
|
|
|
|
|
|
|
This is so you can tell whether you've tested all paths in your Lisp
|
|
|
|
|
code. It works with edebug.
|
|
|
|
|
|
|
|
|
|
The function `testcover-start' instruments all functions in a given
|
|
|
|
|
file. Then test your code. The function `testcover-mark-all' adds
|
|
|
|
|
overlay "splotches" to the Lisp file's buffer to show where coverage
|
|
|
|
|
is lacking. The command `testcover-next-mark' (bind it to a key!)
|
|
|
|
|
will move point forward to the next spot that has a splotch.
|
|
|
|
|
|
|
|
|
|
Normally, a red splotch indicates the form was never completely
|
|
|
|
|
evaluated; a brown splotch means it always evaluated to the same
|
|
|
|
|
value. The red splotches are skipped for forms that can't possibly
|
|
|
|
|
complete their evaluation, such as `error'. The brown splotches are
|
|
|
|
|
skipped for forms that are expected to always evaluate to the same
|
|
|
|
|
value, such as (setq x 14).
|
|
|
|
|
|
|
|
|
|
For difficult cases, you can add do-nothing macros to your code to
|
|
|
|
|
help out the test coverage tool. The macro `noreturn' suppresses a
|
|
|
|
|
red splotch. It is an error if the argument to `noreturn' does
|
|
|
|
|
return. The macro `1value' suppresses a brown splotch for its argument.
|
|
|
|
|
This macro is a no-op except during test-coverage -- then it signals
|
|
|
|
|
an error if the argument actually returns differing values.
|
1999-10-12 17:16:59 +00:00
|
|
|
|
|
2001-08-22 07:11:33 +00:00
|
|
|
|
|
2001-01-25 20:15:31 +00:00
|
|
|
|
|
1999-10-03 12:39:42 +00:00
|
|
|
|
----------------------------------------------------------------------
|
|
|
|
|
Copyright information:
|
|
|
|
|
|
2006-06-04 01:01:51 +00:00
|
|
|
|
Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
|
|
|
|
|
Free Software Foundation, Inc.
|
1999-10-03 12:39:42 +00:00
|
|
|
|
|
|
|
|
|
Permission is granted to anyone to make or distribute verbatim copies
|
|
|
|
|
of this document as received, in any medium, provided that the
|
|
|
|
|
copyright notice and this permission notice are preserved,
|
|
|
|
|
thus giving the recipient permission to redistribute in turn.
|
|
|
|
|
|
|
|
|
|
Permission is granted to distribute modified versions
|
|
|
|
|
of this document, or of portions of it,
|
|
|
|
|
under the above conditions, provided also that they
|
|
|
|
|
carry prominent notices stating who last changed them.
|
2001-01-25 20:15:31 +00:00
|
|
|
|
|
1999-10-03 12:39:42 +00:00
|
|
|
|
Local variables:
|
|
|
|
|
mode: outline
|
|
|
|
|
paragraph-separate: "[ ]*$"
|
|
|
|
|
end:
|
2003-09-01 15:45:59 +00:00
|
|
|
|
|
|
|
|
|
arch-tag: 1aca9dfa-2ac4-4d14-bebf-0007cee12793
|