On Mon, Aug 08, 2005 at 04:20:43PM +1200, Nick Roberts wrote:
Although Emacs will increasingly use GDB/MI to interact with GDB,
the GUD
buffer will always require the use of CLI commands. These are
executed via
"-interpreter-exec console" that Jim Ingham/Apple contributed. In
general
this isn't a problem, but CLI commands which start the inferior
e.g run, next,
finish etc do not tell Emacs when the inferior is executing (do
not output
^running) and in some cases generate inappropriate output such as
the current
source line as CLI output. I would like to change the output of
these
commands to that of their MI counterparts. I think that Apple
have added a
separate interpreter (console-quoted) for this kind of thing. The
patch below
reflects my more modest resources and limited knowledge and seems
to do the
kind of thing that Emacs needs. It doesn't change direct use of
MI commands,
just the behaviour of a subset of CLI commands invoked the the MI
interpreter:
Fortunately, we've got access to all these bright folks at Apple.
Does the console-quoted approach sound good to you? Jim, is a recent
snapshot of the code for it available?
The following has no frontend implementation experience behind it
whatsoever. However, it's relevant from my few tries at adding full
scripting support to GDB. What I'd like to see is a way to keep
multiple interpreters open at the same time. Then, have one of them
accepting input at a time, and receiving informative output, but
all of
them receiving some kinds of output. For instance, all open MI
channels could receive a notice on breakpoint deletion, no matter
where
the request came from. If the console starts GDB running in this
case,
the MI interpreter would still get a ^running.
--
Daniel Jacobowitz
CodeSourcery, LLC