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 NEWS
-file
(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.
The new font system mentioned in some posts before: setting fonts and emacs 23.
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 :)
Internationalization
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.
New defaults
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
for(transient-mark-mode t)
in your.emacs
anymore. 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-mode
enables you to open PDF/DVI/PS files within emacs;M-x butterfly
(see http://xkcd.com/378/)EasyPG
; accessGNUPG
, available underTools/Encryption/Decryption
fast line numbers withlinum
; see showing line numbers;proced
: dired for processes (M-x proced
);remember-mode
, for jotting down things to remember; see remember;ruby-mode
,xesam-mode
,zeroconf
, …abbrev
has been rewrittengdb
can be very fancy now: fancy debugging with gdb;
file deletion can use the system 'Trash'; see using the system's trash when deleting files.