* Threads In Python:: Accessing inferior threads from Python.
* Recordings In Python:: Accessing recordings from Python.
* CLI Commands In Python:: Implementing new CLI commands in Python.
-* GDB/MI Commands In Python:: Implementing new @sc{GDB/MI} commands in Python.
+* GDB/MI Commands In Python:: Implementing new @sc{gdb/mi} commands in Python.
* Parameters In Python:: Adding new @value{GDBN} parameters.
* Functions In Python:: Writing new convenience functions.
* Progspaces In Python:: Program spaces.
frame decorator. If no frames are being elided this function may
return an empty iterable, or @code{None}. Elided frames are indented
from normal frames in a @code{CLI} backtrace, or in the case of
-@sc{GDB/MI}, are placed in the @code{children} field of the eliding
+@sc{gdb/mi}, are placed in the @code{children} field of the eliding
frame.
It is the frame filter's task to also filter out the elided frames from
@code{gdb} module explicitly.
@node GDB/MI Commands In Python
-@subsubsection @sc{GDB/MI} Commands In Python
+@subsubsection @sc{gdb/mi} Commands In Python
@cindex MI commands in python
@cindex commands in python, GDB/MI
@cindex python commands, GDB/MI
-It is possible to add @sc{GDB/MI} (@pxref{GDB/MI}) commands
-implemented in Python. A @sc{GDB/MI} command is implemented using an
+It is possible to add @sc{gdb/mi} (@pxref{GDB/MI}) commands
+implemented in Python. A @sc{gdb/mi} command is implemented using an
instance of the @code{gdb.MICommand} class, most commonly using a
subclass.
subclass' own @code{__init__} method.
@var{name} is the name of the command. It must be a valid name of a
-@sc{GDB/MI} command, and in particular must start with a hyphen
-(@code{-}). Reusing the name of a built-in @sc{GDB/MI} is not
+@sc{gdb/mi} command, and in particular must start with a hyphen
+(@code{-}). Reusing the name of a built-in @sc{gdb/mi} is not
allowed, and a @code{RuntimeError} will be raised. Using the name
-of an @sc{GDB/MI} command previously defined in Python is allowed, the
+of an @sc{gdb/mi} command previously defined in Python is allowed, the
previous command will be replaced with the new command.
@end defun
they do not show up in @code{arguments}.
If this method raises an exception, then it is turned into a
-@sc{GDB/MI} @code{^error} response. Only @code{gdb.GdbError}
+@sc{gdb/mi} @code{^error} response. Only @code{gdb.GdbError}
exceptions (or its sub-classes) should be used for reporting errors to
users, any other exception type is treated as a failure of the
@code{invoke} method, and the exception will be printed to the error
stream according to the @kbd{set python print-stack} setting
(@pxref{set_python_print_stack,,@kbd{set python print-stack}}).
-If this method returns @code{None}, then the @sc{GDB/MI} command will
+If this method returns @code{None}, then the @sc{gdb/mi} command will
return a @code{^done} response with no additional values.
Otherwise, the return value must be a dictionary, which is converted
-to a @sc{GDB/MI} @var{result-record} (@pxref{GDB/MI Output Syntax}).
+to a @sc{gdb/mi} @var{result-record} (@pxref{GDB/MI Output Syntax}).
The keys of this dictionary must be strings, and are used as
@var{variable} names in the @var{result-record}, these strings must
comply with the naming rules detailed below. The values of this
@itemize
@item
If the value is Python sequence or iterator, it is converted to
-@sc{GDB/MI} @var{list} with elements converted recursively.
+@sc{gdb/mi} @var{list} with elements converted recursively.
@item
If the value is Python dictionary, it is converted to
-@sc{GDB/MI} @var{tuple}. Keys in that dictionary must be strings,
+@sc{gdb/mi} @var{tuple}. Keys in that dictionary must be strings,
which comply with the @var{variable} naming rules detailed below.
Values are converted recursively.
@item
Otherwise, value is first converted to a Python string using
-@code{str ()} and then converted to @sc{GDB/MI} @var{const}.
+@code{str ()} and then converted to @sc{gdb/mi} @var{const}.
@end itemize
-The strings used for @var{variable} names in the @sc{GDB/MI} output
+The strings used for @var{variable} names in the @sc{gdb/mi} output
must follow the following rules; the string must be at least one
character long, the first character must be in the set
@code{[a-zA-Z]}, while every subsequent character must be in the set
An instance of @code{MICommand} has the following attributes:
@defvar MICommand.name
-A string, the name of this @sc{GDB/MI} command, as was passed to the
+A string, the name of this @sc{gdb/mi} command, as was passed to the
@code{__init__} method. This attribute is read-only.
@end defvar
@end smallexample
The last three lines instantiate the class three times, creating three
-new @sc{GDB/MI} commands @code{-echo-dict}, @code{-echo-list}, and
+new @sc{gdb/mi} commands @code{-echo-dict}, @code{-echo-list}, and
@code{-echo-string}. Each time a subclass of @code{gdb.MICommand} is
instantiated, the new command is automatically registered with
@value{GDBN}.