What’s New In Emacs 24
masteringemacs.org
masteringemacs.org
Each new Emacs version shows little on the surface which you might expect from a software suite that has had everything and the kitchen sink since the 90's, but in the inside there's an ongoing morphosis into something greater, that quietly reveals itself version by version if only you take the time to study not only what's new but how the new things work. Then suddenly, say, five years later, a new usage paradigm emerges seemingly out of nothing eventhough Emacs has had the bits and pieces in for many revisions already. This is just fascinating. For example, the various completion subroutines have slowly converged into a more solid, generic completion subsystem. And best of all, you have the source code to play with.
If Emacs is nearly an operating system then it's kind of nearly a software Lisp machine.
Which is why it is such a pity that they are still putting so much valuable work into fighting Elisp instead of having a full fledged CL with a native compiler under the hood. The FSF even has two own, GPL'ed CL implementations, CLISP and GCL, but because of RMS' hatred of CL, let them bitrot and never really cared to use them for anything.
I'm not contesting that, just saying that it is a pity (from the perspective of the wealth of the overall Lisp ecosystem) that all this valuable work has been done in Elisp and not in Common Lisp. Moving to Guile will probably take several years, and even if it really works some day, it will be just another insular Emacs-only solution, because nobody else is using Guile. It wont benefit the overall Lisp ecosystem in any way.
That way authors could transition from elisp to common lisp.
Is CL really that much better than Scheme?
From a pragmatic standpoint, all standard-conforming Common Lisp code runs on a conformant implementation. Schemes often tend to diverge (and they have 6 different Rn standards). So I think CL is 'better' than Scheme, for that value of better.
Correct or not, I've tended to think of Emacs as an LVM ([e]Lisp Virtual Machine) for years. The "bloated kitchen sink" argument holds little sway with me any more than saying that OpenBSD is a bloated kitchen sink because it can run a lot of software too. Emacs happens to be an awesome Batteries Included LVM.
This is not an accident. GNU Emacs was probably intended to be the first step towards a complete lisp system for GNU, akin to zmacs on symbolics.
The free software manifesto mentions lisp several times http://www.gnu.org/gnu/manifesto.html
I've been building emacs from trunk on a regular basis, and using it as my primary editor, for about a year now. It's very stable -- I have so far had to find out about a breakage once, and it was already solved by the time I encountered it.
It's way nicer than the last major release. Give it a go.
Put this in your .emacs file
(setq mac-option-modifier 'super )
(setq mac-command-modifier 'meta )
I also use the System preferences to map the Caps-Lock key to Ctrl - A lot easier especially since a lot of keyboards tend to move the CTRL key aroundIt's been pretty difficult as I am a dyed in the wool VIM user. Someone on HN recommended the Evil plugin (http://gitorious.org/evil/pages/Home) for an approximation of VIM movement and other bindings. It surprisingly works pretty well. It's letting me remain productive while I slowly adapt to the emacs key-bindings over time.
I am using emacs-prelude as well (https://github.com/bbatsov/emacs-prelude) which is a startup scripts kit.
I'm still not sold on emacs yet, but I am giving it time.
When I really need to get writing at home, I plug in a MS N4K and go at it.
I'd thought for a long time that Fn was a hardware/OS-only key based on the lack of apps that use it, but it seems Emacs has found a way.
So, I use option for 'alt', but here's the great thing. You can use the command key for other stuff! I've got keybindings for my most common actions.
command-j -> ido-find-file
command-d -> anything
etc
(global-set-key "\C-x\C-m" 'execute-extended-command)
(global-set-key "\C-c\C-m" 'execute-extended-command)Sure, this is an invasive change, but it saved me from RSI.
Given I am on Mac OS X, can someone give me a way to way to get to a "all the shiny bells and whistles" emacs with latex editing?
I tried this a few months ago and got stuck behind packages, package managers, macro packages which are for various versions of emacs. I was never sure if I'd actually got things loaded.