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