From mboxrd@z Thu Jan 1 00:00:00 1970 X-Msuck: nntp://news.gmane.io/gmane.emacs.gnus.user/17408 Path: news.gmane.org!not-for-mail From: Hikaru Ichijyo Newsgroups: gmane.emacs.gnus.user Subject: Re: Why do we need a number of different terminal modes in Emacs? Date: Sun, 01 Feb 2015 07:43:30 -0600 Organization: UN Spacy Message-ID: <8xxiofln3wd.fsf@village.keycorner.org> References: NNTP-Posting-Host: plane.gmane.org Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit X-Trace: ger.gmane.org 1422798310 20230 80.91.229.3 (1 Feb 2015 13:45:10 GMT) X-Complaints-To: usenet@ger.gmane.org NNTP-Posting-Date: Sun, 1 Feb 2015 13:45:10 +0000 (UTC) To: info-gnus-english@gnu.org Original-X-From: info-gnus-english-bounces+gegu-info-gnus-english=m.gmane.org@gnu.org Sun Feb 01 14:45:09 2015 Return-path: Envelope-to: gegu-info-gnus-english@m.gmane.org Original-Received: from lists.gnu.org ([208.118.235.17]) by plane.gmane.org with esmtp (Exim 4.69) (envelope-from ) id 1YHupo-0006AP-Kk for gegu-info-gnus-english@m.gmane.org; Sun, 01 Feb 2015 14:45:08 +0100 Original-Received: from localhost ([::1]:50543 helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1YHupn-0005TY-JO for gegu-info-gnus-english@m.gmane.org; Sun, 01 Feb 2015 08:45:07 -0500 Original-Path: usenet.stanford.edu!news.glorb.com!news.astraweb.com!border5.newsrouter.astraweb.com!not-for-mail Original-Newsgroups: gnu.emacs.gnus User-Agent: Gnus/5.13 (Gnus v5.13) Emacs/24.3 (gnu/linux) Cancel-Lock: sha1:/9nVt1SXbQ96T8e2LosqGQQ3B9o= Original-Lines: 45 Original-NNTP-Posting-Host: a2be1e66.news.astraweb.com Original-X-Trace: DXC=VQ>CTH2LT4?4K?0c7HD\@7L?0kYOcDh@:]A]oW>I^V^13bEJ6cEhU?8nM@mLc_D\; 2 Original-Xref: usenet.stanford.edu gnu.emacs.gnus:88537 X-BeenThere: info-gnus-english@gnu.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "Announcements and discussions for GNUS, the GNU Emacs Usenet newsreader \(in English\)" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: info-gnus-english-bounces+gegu-info-gnus-english=m.gmane.org@gnu.org Original-Sender: info-gnus-english-bounces+gegu-info-gnus-english=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.gnus.user:17408 Archived-At: 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 `. 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