GNU Emacs NEWS -- history of user-visible changes. 2006-06-04
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
+
+Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006, 2007
Free Software Foundation, Inc.
-See the end for copying conditions.
+See the end of the file for license conditions.
Please send Emacs bug reports to bug-gnu-emacs@gnu.org.
If possible, use M-x report-emacs-bug.
-This file is about changes in emacs version 22.
+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.
+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.
---
** Support for GNU/Linux systems on X86-64 machines was added.
+---
+** Support for HP 9000 series 800 and Hitachi SR2001/SR2201 machines
+was removed.
+
---
** 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
+++
** Init file changes
If the init file ~/.emacs does not exist, Emacs will try
-~/.emacs.d/init.el or ~/.emacs.d/init.elc. You can also put the shell
-init file .emacs_SHELL under ~/.emacs.d.
+~/.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.
+++
** Emacs now reads the standard abbrevs file ~/.abbrev_defs
** Adaptive filling misfeature removed.
It no longer treats `NNN.' or `(NNN)' as a prefix.
+---
+** The register compatibility key bindings (deprecated since Emacs 19)
+have been removed:
+ C-x / point-to-register (Use: C-x r SPC)
+ C-x j jump-to-register (Use: C-x r j)
+ C-x x copy-to-register (Use: C-x r s)
+ C-x g insert-register (Use: C-x r i)
+
\f
* Editing Changes in Emacs 22.1
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
-anchor' (in addition to earlier `info node' and `Info node'). In
+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'.
+++
*** find-alternate-file replaces the current file with multiple files,
-when the file name contains wildcard characters.
+when the file name contains wildcard characters. It now asks if you
+wish save your changes and not just offer to kill the buffer.
+++
*** Auto Compression mode is now enabled by default.
parts is, by contrast, slightly highlighted.
Above fontification is always done when listing completions is
-triggered at minibuffer. If you want to fontify completions whose
+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.
systems, these constructs often failed to render properly, and could
even cause Emacs to crash.
++++
+*** If value of `auto-resize-tool-bars' is `grow-only', the tool bar
+will expand as needed, but not contract automatically. To contract
+the tool bar, you must type C-l.
+
** Cursor display changes:
+++
jit-lock-context-time determines the delay after which contextual
refontification takes place.
+---
+*** 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"
+
+
** Menu support:
---
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
-by the keyboard. See Info node `Single-Byte Character Support'.
+by the keyboard. See Info node `Unibyte Mode'.
+++
*** The new command `revert-buffer-with-coding-system' (C-x RET r)
---
*** Improved key bindings support when running in an xterm.
-When emacs is running in an xterm more key bindings are available. The
-following should work:
+When emacs is running in an xterm more key bindings are available.
+The following should work:
{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.
To see what modules are available, type
M-x customize-option erc-modules RET.
-To start an IRC session, type M-x erc-select, and follow the prompts
-for server, port, and nick.
+To start an IRC session, type M-x erc, and follow the prompts for
+server, port, and nick.
---
** Rcirc is now part of the Emacs distribution.
or local keymaps.
+++
-** The new kmacro package provides a simpler user interface to
-emacs' keyboard macro facilities.
+** Emacs' keyboard macro facilities have been enhanced by the new
+kmacro package.
-Basically, it uses two function keys (default F3 and F4) like this:
+Keyboard macros are now defined and executed via the F3 and F4 keys:
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.
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 original macro bindings C-x (, C-x ), and C-x e are still
+available, but they now interface to the keyboard macro ring too.
The C-x e command now automatically terminates the current macro
before calling it, if used while defining a macro.
+++
** 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.
+for Emacs 22. In particular, the mode-line is now position sensitive.
\f
* Changes in Specialized Modes and Packages in Emacs 22.1:
+** Changes in Shell Mode
+
+*** Shell output normally scrolls so that the input line is at the
+bottom of the window -- thus showing the maximum possible text. (This
+is similar to the way sequential output to a terminal works.)
+
** Changes in Dired
+++
*** Bindings for Tumme added
Several new keybindings, all starting with the C-t prefix, have been
-added to Dired. They are all bound to commands in Tumme. As a starting
+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.
*** Emacs now offers to start Scheme if the user tries to
evaluate a Scheme expression but no Scheme subprocess is running.
-*** If a file `.emacs_NAME' (where NAME is the name of the Scheme interpreter)
-exists in the user's home directory or in ~/.emacs.d, its
-contents are sent to the Scheme subprocess upon startup.
+*** 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.
*** There are new commands to instruct the Scheme interpreter to trace
procedure calls (`scheme-trace-procedure') and to expand syntactic forms
** Fortran mode changes:
---
-*** Fortran mode does more font-locking by default. Use level 3
+*** Fortran mode does more font-locking by default. Use level 3
highlighting for the old default.
+++
*** 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
+`bibtex-autokey-titleword-case-convert-function'. The old names are
still available as aliases.
** In Artist mode the variable `artist-text-renderer' has been
+++
*** 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
+directories. Now it is possible to use this buffer to copy the missing files
from one directory to another.
+++
*** 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'
+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.
reads from standard input and marks the produced tags as belonging to
the file FILE.
+*** The --members option is now the default.
+
+Use --no-members if you want the old default behaviour of not tagging
+struct members in C, members variables in C++ and variables in PHP.
+
+** Ctags changes.
+
+*** Ctags now allows duplicate tags
+
** VC Changes
+++
** Calendar changes:
++++
+*** The meanings of C-x < and C-x > have been interchanged.
+< means to scroll backward in time, and > means to scroll forward.
+
+++
*** 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.)
+the calendar left or right.
+++
*** There is a new calendar package, icalendar.el, that can be used to
+++
*** The new function `calendar-goto-day-of-year' (g D) prompts for a
-year and day number, and moves to that date. Negative day numbers
+year and day number, and moves to that date. Negative day numbers
count backward from the end of the year.
+++
---
*** The functions `holiday-easter-etc' and `holiday-advent' now take
optional arguments, in order to only report on the specified holiday
-rather than all. This makes customization of variables such as
+rather than all. This makes customization of variables such as
`christian-holidays' simpler.
---
---
** On MS Windows, the "system caret" now follows the cursor.
-This enables Emacs to work better with programs that need to track
-the cursor, for example screen magnifiers and text to speech programs.
+This enables Emacs to work better with programs that need to track the
+cursor, for example screen magnifiers and text to speech programs.
+When such a program is in use, the system caret is made visible
+instead of Emacs drawing its own cursor. This seems to be required by
+some programs. The new variable w32-use-visible-system-caret allows
+the caret visibility to be manually toggled.
---
** Tooltips now work on MS Windows.
---
** Images are now supported on MS Windows.
-PBM and XBM images are supported out of the box. Other image formats
+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
** On MS Windows NT/W2K/XP, Emacs uses Unicode for clipboard operations.
Those systems use Unicode internally, so this allows Emacs to share
-multilingual text with other applications. On other versions of
+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.
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
+a local console window with a scrollback buffer. The default value of
w32-use-full-screen-buffer is now nil, which favors local console
-windows. Recent versions of Windows telnet also work well with this
-setting. If you are using an older telnet server then Emacs detects
+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
+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.
\f
* Incompatible Lisp Changes in Emacs 22.1
++++
+** The `read-file-name' function now returns a null string if the
+user just types RET.
+
++++
** 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
** The variable `memory-full' now remains t until
there is no longer a shortage of memory.
++++
** When Emacs receives a USR1 or USR2 signal, this generates
-an input event: usr1-signal or usr2-signal.
+input events: sigusr1 or sigusr2. Use special-event-map to
+handle these events.
+
++++
+** A hex or octal escape in a string constant forces the string to
+be multibyte or unibyte, respectively.
+
\f
* Lisp Changes in Emacs 22.1
*** The function `make-auto-save-file-name' is now handled by file
name handlers. This will be exploited for remote files mainly.
++++
+*** The function `file-name-completion' accepts an optional argument
+PREDICATE, and rejects completion candidates that don't satisfy PREDICATE.
+
** Input changes:
+++
this time elapses, the functions stop waiting and return nil.
+++
-*** An interactive specification can now use the code letter 'U' to get
+*** 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
previous `k' or `K' argument was a down-event; otherwise nil is used.
** Major mode mechanism changes:
+++
-*** `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
-variable `magic-mode-alist'.
+*** If new variable `auto-mode-case-fold' is set to a non-nil value,
+Emacs will perform a second case-insensitive search through
+`auto-mode-alist' if the first case-sensitive search fails.
+This means that a file FILE.TXT is opened in text-mode, and a file PROG.PY
+is opened in python-mode. Note however, that independent of this
+setting, *.C files are usually recognized as C++ files.
+It also has no effect on systems with case-insensitive file names.
+
++++
+*** New variable `magic-mode-alist' determines major mode for a file by
+looking at the file contents. It takes precedence over `auto-mode-alist'.
+
++++
+*** An interpreter magic line (if present) takes precedence over the
+file name when setting the major mode.
+
++++
+*** XML or SGML major mode is selected when file starts with an `<?xml'
+or `<!DOCTYPE' declaration.
+++
*** Use the new function `run-mode-hooks' to run the major mode's mode hook.
\f
----------------------------------------------------------------------
-Copyright information:
+This file is part of GNU Emacs.
+
+GNU Emacs is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2, or (at your option)
+any later version.
-Copyright (C) 2001, 2002, 2003, 2004, 2005, 2006
- Free Software Foundation, Inc.
+GNU Emacs is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
- 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.
+You should have received a copy of the GNU General Public License
+along with GNU Emacs; see the file COPYING. If not, write to the
+Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor,
+Boston, MA 02110-1301, USA.
- 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.
\f
Local variables:
mode: outline