GNU Emacs 24.1 released
lists.gnu.org
lists.gnu.org
- New packaging system and interface (M-x list-packages) for downloading and installing extensions. A default package archive is hosted by GNU and maintained by the Emacs developers.
- Support for displaying and editing bidirectional text, including right-to-left scripts such as Arabic and Hebrew.
- Support for lexical scoping in Emacs Lisp.
- Improvements to the Custom Themes system (M-x customize-themes).
- Unified and improved completion system in many modes and packages.
- Support for GnuTLS (for built-in TLS/SSL encryption), GTK+ 3, ImageMagick, SELinux, and Libxml2.
This looks great. :)
C-h r m antinews RET
This provides a changelog in the opposite direction, which is entertaining: For those users who live backwards in time, here is information about
downgrading to Emacs version 23.4. We hope you will enjoy the greater
simplicity that results from the absence of many Emacs 24.1 features.
-----It can be found online here:
http://www.gnu.org/software/emacs/manual/html_node/emacs/Ant...
To enable it per-file use a file-local variable:
;;; -*- lexical-binding: t -*-Or as Perl did it (18 years ago) with a new keyword, so that you can use both dynamic and lexical variables in the same file? Best of both worlds.
http://www.gnu.org/software/emacs/manual/html_node/elisp/Usi...
from http://www.gnu.org/software/emacs/manual/html_node/elisp/Lex... -
Such code is also much more friendly to concurrency, which we want to add to Emacs in the near future.
Exciting times ahead ...
I've been wanting to check it out for a while, but I haven't been brave enough to run a non-stable release of GNU Emacs.
I had a similar experience once with the emacs starter kit [1]. Though it's a noble effort and probably does have a ton of great features, there are some problems: you pretty much get all or nothing (ESK split it out into a "core" and "per-language" set of libraries but still, there's a lot of stuff) and it's hard to tell which things are emacs builtin and what is customizable. If you disagree with a customization you're SOL; I knew enough about emacs to know that some things had been customized, and I didn't like them, but it was nigh impossible to find out where they were customized and how to turn them off.
It reminds me of the libraries vs frameworks discussion [2]. Emacs works well with libraries (with little elisp functions counting as "mini-libraries"), and the ESK/prelude seem like frameworks.
I'm not trying to pick on these toolkits in particular. They are probably a good way to start out with emacs--I know that the ESK provides a bunch of features to make it more "friendly" out of the box for someone who is coming from something like TextMate.
Most "old-school" emacs people I know have their own .emacs that have accumulated over years and years of trying to solve specific problems or customize that one thing that's annoyed the crap out of them for a while. My .emacs is not pages and pages, but it does have some good stuff in it.
What I'd love to see (and maybe I'm inviting myself to do this) would be a tool (maybe ELPA is this tool, though It's hard to know) which allows you to search for, browse, and install elisp snippets to help you out. ELPA is good for bigger libraries (i.e. major modes) but not for "how do I create an unfill-paragraph function?"
[1] https://github.com/technomancy/emacs-starter-kit [2] http://news.ycombinator.com/item?id=2762280
For what it's worth, I've come around to this viewpoint. I rewrote ESK for version 2, and the emphasis was on packaging as much functionality in independent packages as possible. So as of v2, the Starter Kit is mostly just about providing a default set of packages and turning on a few flags that it's just crazy to leave off (like ido). But this way more of the functionality is available to everyone, not just users of ESK.
Anyway, it certainly needs more documentation, but these days I recommend the Starter Kit more as a source of inspiration than something people should just use outright, at least if they're not in a hurry.
For those reasonably comfortable with Emacs, I think you should build it from source, and get into the habit of fixing tiny documentation problems as soon as you come across them. Mind you, I have submitted a couple such patches to the ido built-in help and they have languished un-noticed for 2 months.
P.S. Another thank-you here for the starter kit -- I no longer use it, but I did for a year or so and it did teach me several features I wouldn't have known about otherwise.
"Short Story: el-get allows you to install and manage elisp code for Emacs. It supports lots of differents types of sources and is able to install them, update them and remove them, but more importantly it will init them for you."
It's definitely a more hands-on, low-level tool than ESK, designed for those who want the fine-grained control of a manually-built emacs config without all the manual labor of git-cloning (or hg cloning, or downloading and untarring, or cvs checkout-ing) the several dozen elisp repos that your config uses. It definitely matches my use case, which is why I kept submitting so many pull requests that the original author finally just gave me a commit bit :).
Note that I'm not saying that el-get is in any way better than ESK (I've actually contributed to ESK as well even though I don't personally use it, since ESK uses my ido-ubiquitous library). El-get is just designed for a different purpose.
"I firmly believe that the one true way to use Emacs is by using it the way it was intended to be used [...] That's why I've disabled all movement commands with arrows - to prevent you from being tempted to use them."
I use:
(set-face-attribute 'default nil :family "Menlo" :height 120)
(set-fontset-font "fontset-default" 'unicode "Menlo")EDIT: Looks like emacsforosx does not compile Emacs with support for above command. Will you consider it? I totally understand distributing plain vanilla version though!
brew update
# Lion only (or if you don't have xcode?)
brew tap homebrew/dupes
brew install apple-gcc42
# put these in your .bashrc
export HOMEBREW_USE_GCC=1
export HOMEBREW_VERBOSE=1
# /Lion only
brew install emacs --cocoa
brew linkappsBut it's frustrating for me, too, because I want the feature as much as anyone else. I've been making do with "(setq ns-auto-hide-menu-bar t)" which is close to the desired behavior, especially when combined with maxframe [1]. It still has the window's title bar, so it's not exactly there.
[1] https://github.com/rmm5t/maxframe.el I use it like this (where super is the command key):
(defun toggle-frame-maximization ()
(interactive)
(if (frame-parameter nil 'mf-maximized) (restore-frame) (maximize-frame)))
(define-key global-map [(super return)] 'toggle-frame-maximization)Maybe it's something in my init files, but I have not yet had time to figure out what's causing the problems.
I tried the suggestion elsewhere on this page about setting font and fontset together, but that didn't fix the problem.
The package system is awesome, no more hassle installing plugins and extensions!
Great job GNU, thank you!
https://launchpad.net/~cassou/+archive/emacs
http://emacs.naquadah.org/ (Debian)
The only non-trivial steps I had to take were to track down the "dev" msys packages for jpeg, png and xpm libraries. I do not link my nightly builds against gnutls, just to set expectations [my experience with non-native security stuff on windows leads me to avoid that headache; YMMV].
If I were to begin writing extensions, I'd also probably enjoy the lexical scoping a lot more.
The current stable release is 24.1.[0]
[0] http://www.gnu.org/software/emacs/./configure --with-gif=no --with-ns make make install
checking host system type... i386-apple-darwin11.3.0 configure: error: Emacs hasn't been ported to `i386-apple-darwin11.3.0' systems. Check `etc/MACHINES' for recognized configuration names.
And the formatting didn't survive pasting. Should have been: ./configure --with-gif=no --with-ns; make; make install
./configure --with-ns; make; make install, then copy to Applications.
bi-di support is also really nice, I've been copypasting into other programs until now.
Also always nice to get a new org-mode version (though I'm never quite sure whether using org makes me more productive, or whether playing with new org features makes me procrastinate more).
Favourite feature that makes you go O_o : "`nato-region' converts text to NATO phonetic alphabet."
Nix and apt are very complementary to each other; apt has all the stable never-breaks stuff, and nix has all the latest new code. And when you pull in something too new that breaks, you can roll it back trivially.