all messages for Emacs-related lists mirrored at yhetil.org
 help / color / mirror / code / Atom feed
From: Miles Bader <miles@gnu.org>
To: Rocky Bernstein <rocky@gnu.org>
Cc: emacs-devel@gnu.org
Subject: Re: Grand Unified Debugger Rewrite's process buffer: comint, eterm or  eshell?
Date: Sat, 31 Oct 2009 14:51:58 +0900	[thread overview]
Message-ID: <87skd0m7pd.fsf@catnip.gol.com> (raw)
In-Reply-To: <6cd6de210910300848g69755d4bx98366d5f4ed90705@mail.gmail.com> (Rocky Bernstein's message of "Fri, 30 Oct 2009 11:48:20 -0400")

Rocky Bernstein <rocky@gnu.org> writes:
> 1. I can stick with comint.el. It seems the most creaky.
> 2. term.el is pretty cool, but it doesn't provide a hook to run when
> 3. eshell.el. It also seems pretty cool too. However its focus seems

One thing is that people are used to using comint, and are used to using
its features (both interactive and customization) with both shells and
sub-modes such as gud-mode.  While both term.el and eshell are
well-intentioned, they both started development a long time ago when
comint was less capable, and have in general not picked up new features
added to comint.  So... you can't really think of them as being strict
functional supersets of comint, they're more like... different branches
in the same tree.

E.g., one thing I've worked on a lot in comint has been prompt handling,
and as a result, comint handles prompts nicely (with highlighting and
"prompt avoidance" etc), whereas term.el doesn't (and eshell kinda
does, but not so well, and only in some cases).

Eshell seems a very different thing than either comint or term.el.  The
latter two essentially talk to an I/O stream attached to a subprocess,
and work by interpreting the output.  Eshell, on the other hand, issues
individual commands separately, and so can maintain far finer control
_between_ subcommands, but as a result tends to be not so good as long
as the subprocess itself still has control.  [As an example, start
eshell, and then type "/bin/sh" to start a subshell.  Note that although
you get shell prompts etc, everything suddenly seems "dumb" -- whereas
if you start a subshell in a comint shell, it basically seems exactly
the same as the parent shell.]

I think that eshell probably isn't appropriate for gdb for that reason.

-Miles

-- 
Infancy, n. The period of our lives when, according to Wordsworth, 'Heaven
lies about us.' The world begins lying about us pretty soon afterward.




  parent reply	other threads:[~2009-10-31  5:51 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2009-10-30 15:48 Grand Unified Debugger Rewrite's process buffer: comint, eterm or eshell? Rocky Bernstein
2009-10-30 19:19 ` Grand Unified Debugger Rewrite's process buffer: comint, eterm or Stefan Monnier
2009-10-31  0:30   ` Rocky Bernstein
2009-11-02 15:25     ` Stefan Monnier
2009-10-31  5:51 ` Miles Bader [this message]
2009-11-01 15:08   ` Grand Unified Debugger Rewrite's process buffer: comint, eterm or eshell? Rocky Bernstein
2009-11-06 16:57 ` Dan Nicolaescu
2009-11-06 17:16   ` Rocky Bernstein
2009-11-06 21:49   ` Nick Roberts
2009-11-07  0:22     ` Rocky Bernstein
  -- strict thread matches above, loose matches on Subject: below --
2009-10-30 14:32 rocky
2009-11-01 21:30 ` Dave Love
2009-11-02 14:44   ` rocky
2009-11-02 14:59   ` Tom Tromey

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=87skd0m7pd.fsf@catnip.gol.com \
    --to=miles@gnu.org \
    --cc=emacs-devel@gnu.org \
    --cc=rocky@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.
Code repositories for project(s) associated with this external index

	https://git.savannah.gnu.org/cgit/emacs.git
	https://git.savannah.gnu.org/cgit/emacs/org-mode.git

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.