Announcements and discussions for Gnus, the GNU Emacs Usenet newsreader
 help / color / mirror / Atom feed
* Why do we need a number of different terminal modes in Emacs?
@ 2015-02-01  6:38 Andrey Lisin
  2015-02-01  7:06 ` Andrey Lisin
  0 siblings, 1 reply; 4+ messages in thread
From: Andrey Lisin @ 2015-02-01  6:38 UTC (permalink / raw)
  To: info-gnus-english

Hi everyone,

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.

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.



^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Why do we need a number of different terminal modes in Emacs?
  2015-02-01  6:38 Why do we need a number of different terminal modes in Emacs? Andrey Lisin
@ 2015-02-01  7:06 ` Andrey Lisin
  0 siblings, 0 replies; 4+ messages in thread
From: Andrey Lisin @ 2015-02-01  7:06 UTC (permalink / raw)
  To: info-gnus-english

Sorry, post was intended to be sent to another group.


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Why do we need a number of different terminal modes in Emacs?
  2015-02-01 13:43 ` Hikaru Ichijyo
@ 2015-02-03 19:05   ` Emanuel Berg
  0 siblings, 0 replies; 4+ messages in thread
From: Emanuel Berg @ 2015-02-03 19:05 UTC (permalink / raw)
  To: info-gnus-english

Hikaru Ichijyo <ichijyo@macross.sdf.jp> writes:

> 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.

Yes, at least in today's world, that's the advantage:
complete integration of the material
inputted/outputted, the same editing keys, and the
same configuration/documentation interface.

In my experience, this need isn't as big with the
shell as it is with for example mail. But sometimes
there is an advantage to have it. Then, if you don't
do it in Emacs, mostly it is about being able to cut
and paste from/to Emacs/the shell. If you have that,
as that isn't done that often to begin with, you can
do it when you need it and that's enough.

But of course the in-Emacs terminal emulators serve a
purpose, and if the OP isn't happy with them, he is
encouraged to improve them starting today.

> 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...)

In X, apart from xterm and rxvt, there is also urxvt
("u" is for Unicode, "r" for reduced, there rest
should be clear).

If you don't use the terminal emulators in Emacs, then
you need a fast transition from Emacs to the shell. I
run Emacs in the Linux VT, in /dev/tty1; in 2-6 I have
tmux/zsh; and then I can switch very quick from Emacs
to the shell with M-l, and back with M-j (right and
left: that works in the shell ttys and even in X with
xbindkeys).

Here is some material on that:

    http://user.it.uu.se/~embe8573/conf/remap.inc
    http://user.it.uu.se/~embe8573/conf/.tmux.conf

-- 
underground experts united

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: Why do we need a number of different terminal modes in Emacs?
       [not found] <mailman.19085.1422772746.1147.info-gnus-english@gnu.org>
@ 2015-02-01 13:43 ` Hikaru Ichijyo
  2015-02-03 19:05   ` Emanuel Berg
  0 siblings, 1 reply; 4+ messages in thread
From: Hikaru Ichijyo @ 2015-02-01 13:43 UTC (permalink / raw)
  To: info-gnus-english

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2015-02-03 19:05 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2015-02-01  6:38 Why do we need a number of different terminal modes in Emacs? Andrey Lisin
2015-02-01  7:06 ` Andrey Lisin
     [not found] <mailman.19085.1422772746.1147.info-gnus-english@gnu.org>
2015-02-01 13:43 ` Hikaru Ichijyo
2015-02-03 19:05   ` Emanuel Berg

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).