A
shell written in
Emacs Lisp by
John Wiegley. Apart from being an
amazing hack, this is actually useful. Rather than run a shell
process under
Emacs, you can run
eshell. Now the shell can access various Emacs
objects. Imagine being able to run a command with
redirection not to
files, but to
buffers! Or
command completion based on the entire contents of your Emacs
session (OK, any shell running in Emacs can do this). Plans for the future are even more ambitious: "
bookmarks" of the current "
state" of the shell (e.g.
directory stack,
environment, maybe a few more things), letting you perform some level of
undo).
Worth a try. Runs on any reasonably modern Emacs (v.20.1 and up), and reported to run on more modern XEmacsen (v.21.x and up).