[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Grand Unified Debugger Rewrite's process buffer: comint, eterm or es
From: |
rocky |
Subject: |
Re: Grand Unified Debugger Rewrite's process buffer: comint, eterm or eshell? |
Date: |
Mon, 2 Nov 2009 06:44:49 -0800 (PST) |
User-agent: |
G2/1.0 |
On Nov 1, 4:30 pm, Dave Love <f...@domain.invalid> wrote:
> rocky <ro...@gnu.org> writes:
> > I have started to rewrite gud from the ground up.
>
> Why, exactly?
>
> > For the process buffer I have 3 choices.
>
> > 1. I can stick with comint.el. It seems the most creaky.
>
> `Creaky' how? The whole idea of comint is to be a general way to run
> sub-processes like debuggers, although there should be another layer to
> abstract things like inferior programming interpreters. What's wrong
> with it for that?
That comment was based on writing both a output filter hook for comint
and then one for eshell. The comint hook is passed a string with the
text to do the insertion, while the eshell hook you pass nothing. Why
nothing? Experience I guess seems to show that it's easier just to
work with the process buffer assuming the there have been marks set.
eshell and term have such marks {term,eshell}-last-input-{start,end}
while comint seems to have only gotten this recently (Mar '08). I
guess the last time I looked this wasn't there.
>
> > I use it both in
> > comint.el and eshell.el in "shell tracker" (think pdb-track) mode.
>
> I implemented a prototype gud-minor-mode long ago for that sort of
> thing, as alluded to in python.el if I recall correctly. It's
> straightforward but can't be a simple add-on to GUD, so wasn't going to
> be useful. The pdbtrack stuff is a mistake,
If by "a mistake" you mean something other than it is language
specific, I'd be interested to learn in what ways you think it a
mistake.
> apparently from a
> mono-lingual programming culture, and it's unfortunate it's been
> installed in Emacs, making it harder to do the right thing.
A multi-lingual track mode is working in http://github.com/rocky/emacs-dbgr
and
it has been configured for bashdb, kshdb, zshdb, rdebug, rbdbgr, pydb,
pydbgr and remake which is enough for my needs.