[Top][All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Why do we need a number of different terminal modes in Emacs?

From: Hikaru Ichijyo
Subject: Re: Why do we need a number of different terminal modes in Emacs?
Date: Sun, 01 Feb 2015 07:43:30 -0600
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux)

Andrey Lisin <> writes:

> could anyone explain me why do we need several of terminal
> implementations inside Emacs? Shell, eshell, term, ansi-term... And as
> far as I noticed they all suck one way or another. For example, shell
> cannot complete commands when you ssh to remote server inside
> it. Eshell tragically cannot do a very simple thing - source a bash
> script. Really, try to run `.' or `source
>' inside eshell.

>From what I've gathered, the primary advantage of working with the UNIX
shell from inside Emacs (in programs like 'shell') is that unlike in a
normal terminal, you can cursor anywhere, up to output that has already
been emitted, and do regular Emacs editor operations on command output
after the fact.

If you're wanting something like a plain old xterm inside Emacs, the one
that comes the closest is 'term', though even it has its problems.  It's
slower than a real xterm, and sometimes the Emacs key bindings get in
the way of the actual terminal.

They're all just there for conveniences though.  If you find yourself
needing a fast, efficient terminal that just does the job the way you
expect, run rxvt (standalone).  Heresy as it might be, you don't have to
do everything in Emacs!  (Uh-oh, I said it now...)

> So, am I right and we need them all just because one solves
> restrictions of the others and others do the same thing for the one?
> Why then not just to write some standard terminal implementation, that
> will just works? Does it have something with cross-platform nature of
> Emacs? Or, maybe I'm doing something wrong and all this stuff makes
> sense? Thank you.

I really do think part of the motivation for making them was just the
Emacs philosophy that everything ought to at least try to be available
in Emacs.  Whether you end up getting a terminal that can replace xterm
or rxvt that way is another question, but they did try!  :)

I run 'term' when I want a general purpose Emacs terminal though.

He that would make his own liberty secure must guard even his enemy from
oppression; for if he violates this duty, he establishes a precedent
that will reach to himself.
                                        --Thomas Paine

reply via email to

[Prev in Thread] Current Thread [Next in Thread]