Emacs 23(.1) has been released! After only just over two years since the previous version, emacs 23 has been released on July 29 2009. Time to celebrate! And a big thanks all the talented hackers that made it possible!
Emacs 23 brings many new features. Some of those have been discussed before
in emacs-fu, and of course you can get the full list from the
C-h n). This is just a list of some of the highlights, in particular the
end-user-visible ones. Let's go through them - of course I cannot mention all
of them, so feel free to add your favorite one in the comments.
fonts & anti-aliasing
Finally, emacs 23 brings support for anti-aliased fonts to X (Mac/Windows users have had this for a while). If you're running emacs on X, this one change is enough to never want to go back to an older version of Emacs again.
support for D-Bus and Zeroconf
You can now call other services on the desktop using the DBUS IPC system (popular on X); using d-bus: an example shows how to communicate with the Tomboy note taker program from emacs. As more and more desktop services are accessible using D-BUS, this offers great opportunities for better integrating emacs with the rest of the desktop. For example, one could imagine that emacs could communicate with a network manager when it needs a connection. Or it could show a desktop notification when an appointment is near. And all without adding hard dependencies or calling external binaries.
Using Zeroconf is also quite easy; for example, to get a list of all zeroconf-support printers, you could do something silly like:
(require 'zeroconf) (zeroconf-init) (dolist (srv (zeroconf-list-services "_printer._tcp")) (insert (format "\nprinter: %s" (nth 2 srv))))
to insert a list of the available printers in your current buffer. As with D-Bus, it's really an enabler for a lot of cool things.
support for 'headless' emacs-daemon
If you have a lot of support packages, emacs startup can be a bit slow.
However, emacs 23 brings
emacs --daemon, which enables you to start emacs
in the background (for example when you log in). You can instantly pop up
new emacs windows (frames) with
emacsclient. Of course, you could already
have an emacs 'server' in older versions, but being able to start it in the
background makes this a much nicer solution.
The Emacs-daemon was discussed in emacs-fu in emacs –daemon and windows and daemons (for MS-Windows). Popping up new emacs windows is so fast that you can use emacs for any editing job, for example as an editor for an email program, or for quick rememember notes.
You can even combine X and console clients in one session now.
Emacs now support Xembed
This enables you to embed emacs in other programs (on X) using XEmbed. Haven't played with that yet. There is some more information in EmacsWiki/Xembed.
Support for frame opacity
You can now make you emacs frames transparent. Discussed before in transparent emacs. Not sure how useful this is, but it surely looks nice :)
Emacs's character set is a superset of Unicode, with about four times the space available. That should be enough for the foreseeable future… There are also many new character sets available, as well as new language environments, such as Chinese-GB18030, Khmer, Bengali, Punjabi, Gujarati, Oriya, Telugu, Sinhala, and TaiViet.
Note that, internally, emacs uses UTF-8 now.
- Screen motion now goes by screen lines by default, that is when you move the cursor up or down, it follows the line as you see them. Nice.
Transient mark mode (visible selection) is now on by default, so no need
(transient-mark-mode t)in your
.emacsanymore. However, you still need to put
(delete-selection-mode t)if you like replace the current selection with your typing.
- Also shift-select mode is enabled by default, so you can select with shift + the arrow keys.
New modes and packages, and updated ones
docview-modeenables you to open PDF/DVI/PS files within emacs;
M-x butterfly(see http://xkcd.com/378/)
GNUPG, available under
fast line numbers with
linum; see showing line numbers;
proced: dired for processes (
remember-mode, for jotting down things to remember; see remember;
abbrevhas been rewritten
gdbcan be very fancy now: fancy debugging with gdb;
- file deletion can use the system 'Trash'; see using the system's trash when deleting files.