Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
From: Hikaru Ichijyo <ichijyo@macross.sdf.jp>
To: info-gnus-english@gnu.org
Subject: Re: Why do we need a number of different terminal modes in Emacs?
Date: Sun, 01 Feb 2015 07:43:30 -0600	[thread overview]
Message-ID: <8xxiofln3wd.fsf@village.keycorner.org> (raw)
In-Reply-To: <mailman.19085.1422772746.1147.info-gnus-english@gnu.org>

Andrey Lisin <andrey.lisin@gmail.com> 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 `. some_script.sh' or `source
> some_script.sh' 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	other threads:[~2015-02-01 13:43 UTC|newest]

Thread overview: 4+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <mailman.19085.1422772746.1147.info-gnus-english@gnu.org>
2015-02-01 13:43 ` Hikaru Ichijyo [this message]
2015-02-03 19:05   ` Emanuel Berg
2015-02-01  6:38 Andrey Lisin
2015-02-01  7:06 ` Andrey Lisin

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=8xxiofln3wd.fsf@village.keycorner.org \
    --to=ichijyo@macross.sdf.jp \
    --cc=info-gnus-english@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).