Re: [RFC/doc] Interpreters documentation

Keith Seitz
2002-08-29T18:37:45Z

On Thu, 29 Aug 2002, Eli Zaretskii wrote:

[snip suggestions]

See below patch, which is changed to previous patch

> Is interpreter-exec documented elsewhere in the manual (I cannot find it
> in my sandbox, but maybe I'm not up-to-date)? If not, you should add a
> @kindex entry here (we have a @kindex for every GDB command).

interpreter-exec is a new command. It is mentioned in the gdbmi.texinfo
file on the interpreter branch (which I have not yet submitted).

I appreciate your timely review of this -- thanks!
Keith

Index: gdb.texinfo
===================================================================
RCS file: /cvs/src/src/gdb/doc/gdb.texinfo,v
retrieving revision 1.100.2.4
diff -p -r1.100.2.4 gdb.texinfo
*** gdb.texinfo 28 Aug 2002 19:01:18 -0000 1.100.2.4
--- gdb.texinfo 29 Aug 2002 18:35:39 -0000
*************** letter.
*** 13077,13082 ****
--- 13077,13083 ----

@node Interpreters
@chapter Command Interpreters
+ @cindex command interpreters

@value{GDBN} supports multiple command interpreters, and some command
infrastructure to allow users or user interface writers to switch between
*************** both of these interfaces in great detail
*** 13089,13123 ****

By default, @value{GDBN} will start with the console interpreter. However,
the user may choose to start @value{GDBN} with another interpreter by specifying
! the "-i" or "--interpreter" startup options. Defined interpreters include:

@table @code
@item console
The traditional console or command-line interpreter. This is the most often
used interpreter with @value{GDBN}. With no interpreter specified at runtime,
@value{GDBN} will use this interpreter.

@item mi
The newest @sc{gdb/mi} interface, used primarily by programs wishing to use
@value{GDBN} as a backend for a debugger GUI or an IDE. For more information,
see @ref{GDB/MI, ,The @sc{gdb/mi} Interface}.

@item mi2
The latest version of the @sc{gdb/mi} interface.

@item mi1
The @sc{gdb/mi} version included in @value{GDBN} version 5.1.

@item mi0
The @sc{gdb/mi} version included in @value{GDBN} version 5.0.
@end table

The interpreter being used by @value{GDBN} may not be dynamically switched at
runtime. Although possible, this could lead to a very precarious situation.
Consider an IDE using @sc{gdb/mi}. If a user enters the command
"interpreter-set console" in a console view, @value{GDBN} would switch
to using the console interpreter, rendering the IDE inoperable!

Although you may only choose a single interpreter at startup, you may execute
commands in any interpreter from the current interpreter using the appropriate
command. If you are running the console interpreter, simply use the
--- 13090,13132 ----

By default, @value{GDBN} will start with the console interpreter. However,
the user may choose to start @value{GDBN} with another interpreter by specifying
! the @option{-i} or @option{--interpreter} startup options. Defined interpreters
! include:

@table @code
@item console
+ @cindex console interpreter
The traditional console or command-line interpreter. This is the most often
used interpreter with @value{GDBN}. With no interpreter specified at runtime,
@value{GDBN} will use this interpreter.

@item mi
+ @cindex mi interpreter
The newest @sc{gdb/mi} interface, used primarily by programs wishing to use
@value{GDBN} as a backend for a debugger GUI or an IDE. For more information,
see @ref{GDB/MI, ,The @sc{gdb/mi} Interface}.

@item mi2
+ @cindex mi2 interpreter
The latest version of the @sc{gdb/mi} interface.

@item mi1
+ @cindex mi1 interpreter
The @sc{gdb/mi} version included in @value{GDBN} version 5.1.

@item mi0
+ @cindex mi0 interpreter
The @sc{gdb/mi} version included in @value{GDBN} version 5.0.
@end table

+ @cindex invoke another interpreter
The interpreter being used by @value{GDBN} may not be dynamically switched at
runtime. Although possible, this could lead to a very precarious situation.
Consider an IDE using @sc{gdb/mi}. If a user enters the command
"interpreter-set console" in a console view, @value{GDBN} would switch
to using the console interpreter, rendering the IDE inoperable!

+ @kindex interpreter-exec
Although you may only choose a single interpreter at startup, you may execute
commands in any interpreter from the current interpreter using the appropriate
command. If you are running the console interpreter, simply use the