Recently, emacs version 23.2 was released. It's a quick update after 23.1 came out (July 29 of 2009); it seems Chong Yidong / Stefan Monnier (interview) are doing releases more often than before they took over emacs maintainership. A welcome change, I would say.
The amount of changes is obviously also a bit smaller than in 23.1, but there are still some interesting updates. Let's go through a couple of those here; I am not striving for completeness, and I won't really go into the biggest change (inclusion of the CEDET IDE-framework), as I haven't been using that enough to say anything about it. Instead, let's look at some of the other highlights; for the full list of changes, please refer to the NEWS-file. If you have some other cool new feature that deserves mentioning, please add a comment.
Maximum file size increased to 512Mb (this used to be 256 on 32-bit
machines). This may be useful for big log files etc. It does take a while
to load such big files, but after that it's not too slow, at least if you
have enough RAM. For 'normal' files, you're unlikely to ever hit the
limit; e.g. Tolstoy's War and Peace is only 3 MB…
Note, you can set
large-file-warning-thresholdto set the maximum file size after which emacs will starting asking you for confirmation when trying to open (eh, visit) files.
By default, the mouse cursor turns invisible when typing, so there is no
more need for
mouse-avoidance-modeand similar tricks. However, if you insist on seeing the mouse cursor, you can add to your
(setq make-pointer-invisible nil)
On X-based systems, emacs now listens for font changes (Xft), and can
automatically use the GNOME mono-spaced font (as set in the GNOME
Appearance preferences dialog). Note that this may not work for all
fonts/settings (at least in my tests, setting the font to italic does
not seem to reflect in emacs). Anyway, to enable this, put the following
.emacs(or the moral equivalent):
(setq font-use-system-font t)
- On Unix, Emacs 23.2 now follows the freedesktop trash specification for file deletion; thus, the hacks we hacks we mentioned before are no longer needed.
Some cool additions for Tramp, allowing emacs to access files in
imap://-locations. On systems supporting GVFS, emacs can now directly use e.g.
obex://-uris (Bluetooth). I need to play a bit with these things! Tramp support has also been built into
There are already quite some ways to do auto-completion in emacs using the
TAB-key, and emacs 23.2 makes this a bit easier to set up. You can add basic auto-completion with:
(setq tab-always-indent 'complete)
After setting that, the
TAB-key will (after trying if there's anything to indent first) provide possible completions. It works pretty well for Emacs-Lisp (I did not test other languages), although the way it shows the completions (separate
*Completions*-buffer) is a bit clumsier that what for instance
You can also do partial completions now, by appending
initialsto the completion style, i.e.:
;; there must be a more elegant way... (setq completion-styles (append completion-style '(initials)))
With this, you can complete on the initials of functions and variables in
the minibuffer, say, typing
C-h v taiand then pressing
TABwill give you
- As mentioned, the biggest change is the addition on the CEDET-framework, which contains things like smart completion, code browsing, UML diagram creation, project management – features somewhat similar to those in e.g. Eclipse. I don't know how well it works in practice, but I will give it a try. At least, inclusion in Emacs should make setting it up with all dependencies a bit easier, as there is now a guaranteed-to-work setup for Emacs 23.2 at least.
Summarizing, 23.2 provides us with some nice updates all around and brings CEDET to the masses. Chong Yidong / Stefan Monnier have done a very good job in making faster releases, while still keeping an eye on the quality. On the other hand, the previous version (23.1) is a very solid release, and if you don't need CEDET, there is no real need to hurry to 23.2.
A lot is happening in the world of GNU/Emacs, with changes being proposed and implemented in many different places. There's Eli Zaretskii's way work on making emacs support bidirectional languages (for right-to-left writing systems such as Hebrew and Arabic; the /bi/directional part is that one should be able to mix left-to-right and right-to-left). There is Jan DjÃ¤rv's work on adding UI-tabs to emacs (like e.g. Firefox has them). There is Ken Raeburn and Andy Wingo's work on adding Guile Scheme support to emacs - possibly replacing the current Emacs Lisp implementation in the future. These are just a few of the more prominent projects.
Nobody knows in which release these items will be available (if at all), but it's exciting to see all the directions people are taking emacs.