Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Nick Roberts <nickrob@snap.net.nz>
To: Eli Zaretskii <eliz@gnu.org>
Cc: gdb-patches@sources.redhat.com
Subject: Re: {PATCH] MI Doco [was Re: CLI and GDB/MI...]
Date: Wed, 31 May 2006 03:15:00 -0000	[thread overview]
Message-ID: <17532.61231.319016.988575@kahikatea.snap.net.nz> (raw)
In-Reply-To: <uac8zfh37.fsf@gnu.org>

 > Thanks.  I have a few comments and suggestions:
 > 
 > > + @node GDB/MI Development and Front Ends
 > > + @section @sc{gdb/mi} Development and Front Ends
 > > + 
 > > + The application which takes the MI output and presents the state of the
 > > + program being debugged to the user is called a @dfn{front end}.
 > 
 > Please add a @cindex entry here.  The text can be the name of the
 > section, or some permutation thereof.

OK

 > > + section tries to minimise the problems by describing how the protocol
 > 
 > "minimize", please.  We use the US spelling.

OK

 > > + If the changes are such that is considered likely that they would
 > > + necessarily break a front end

OK

 > I think the following is simpler and more clear:
 > 
 >   If changes are accumulated that are likely to break front ends, ...
 > 
 > > + to the MI version.  Apart from mi0, new versions of GDB will not

OK

 > Please use "@value{GDBN}" instead of a literal "GDB".

OK

 > > + The best way to ensure that unexpected changes which break your front
 > > + end are not made is
 > 
 >   The best way to avoid changes in MI that might unexpectedly break
 >   your front end is ...

I made a similar change.

 > >                 is to make your project known to GDB developers and
 > > + follow development on @email{gdb@@sources.redhat.com} and
 > > + @email{gdb-patches@@sources.redhat.com}.  There is also the mailing list
 > > + @email{dmi-discuss@@lists.freestandards.org}, hosted by the Free Standards
 > > + Group, which has the aim of creating a a more general MI protocol
 > > + called Debugger Machine Interface (DMI) that will become a standard
 > > + for all debuggers, not just GDB.
 > 
 > I suggest an index entry here, something like
 > 
 >   @cindex @sc{gdb/mi} development, mailing lists

I added "@cindex @sc{gdb/mi} development" at the start of the node, so I just
added "@cindex mailing lists" here.

Thanks for the prompt review.

-- 
Nick                                           http://www.inet.net.nz/~nickrob


2006-05-31  Nick Roberts  <nickrob@snap.net.nz>

	* gdb.texinfo (GDB/MI Development and Front Ends): New Node.


*** gdb.texinfo	31 May 2006 13:03:22 +1200	1.332
--- gdb.texinfo	31 May 2006 13:14:09 +1200	
*************** This chapter is a specification of the @
*** 17215,17221 ****
  in the form of a reference manual.
  
  Note that @sc{gdb/mi} is still under construction, so some of the
! features described below are incomplete and subject to change.
  
  @unnumberedsec Notation and Terminology
  
--- 17215,17222 ----
  in the form of a reference manual.
  
  Note that @sc{gdb/mi} is still under construction, so some of the
! features described below are incomplete and subject to change
! (@pxref{GDB/MI Development and Front Ends, , @sc{gdb/mi} Development and Front Ends}).  
  
  @unnumberedsec Notation and Terminology
  
*************** Elena Zannoni.
*** 17254,17259 ****
--- 17255,17261 ----
  @menu
  * GDB/MI Command Syntax::
  * GDB/MI Compatibility with CLI::
+ * GDB/MI Development and Front Ends::
  * GDB/MI Output Records::
  * GDB/MI Command Description Format::
  * GDB/MI Breakpoint Table Commands::
*************** behaviour, the exact output of such comm
*** 17571,17576 ****
--- 17573,17630 ----
  an un-supported hybrid of @sc{gdb/mi} and CLI output.
  
  @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
+ @node GDB/MI Development and Front Ends
+ @section @sc{gdb/mi} Development and Front Ends
+ @cindex @sc{gdb/mi} development
+ 
+ The application which takes the MI output and presents the state of the
+ program being debugged to the user is called a @dfn{front end}.
+ 
+ Although @sc{gdb/mi} is still incomplete, it is currently being used
+ by a variety of front ends to @value{GDBN}.  This makes it difficult
+ to introduce new functionality without breaking existing usage.  This
+ section tries to minimize the problems by describing how the protocol
+ might change.
+ 
+ Some changes in MI need not break a carefully designed front end, and
+ for these the MI version will remain unchanged.  The following is a
+ list of changes that may occur within one level, so front ends should
+ parse MI output in a way that can handle them:
+ 
+ @itemize @bullet
+ @item
+ New MI commands may be added.
+ 
+ @item
+ New fields may be added to the output of any MI command.
+ 
+ @c The format of field's content e.g type prefix, may change so parse it
+ @c   at your own risk.  Yes, in general?
+ 
+ @c The order of fields may change?  Shouldn't really matter but it might
+ @c resolve inconsistencies.
+ @end itemize
+ 
+ If the changes are likely to break front ends, the MI version level
+ will be increased by one.  This will allow the front end to parse the
+ output according to the MI version.  Apart from mi0, new versions of
+ @value{GDBN} will not support old versions of MI and it will be the
+ responsibility of the front end to work with the new one.
+ 
+ @c Starting with mi3, add a new command -mi-version that prints the MI
+ @c version?
+ 
+ The best way to avoid unexpected changes in MI that might break your front
+ end is to make your project known to GDB developers and
+ follow development on @email{gdb@@sources.redhat.com} and
+ @email{gdb-patches@@sources.redhat.com}.  There is also the mailing list
+ @email{dmi-discuss@@lists.freestandards.org}, hosted by the Free Standards
+ Group, which has the aim of creating a a more general MI protocol
+ called Debugger Machine Interface (DMI) that will become a standard
+ for all debuggers, not just GDB.
+ @cindex mailing lists
+ 
+ @c %%%%%%%%%%%%%%%%%%%%%%%%%%%% SECTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
  @node GDB/MI Output Records
  @section @sc{gdb/mi} Output Records
  


  reply	other threads:[~2006-05-31  1:20 UTC|newest]

Thread overview: 17+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-05-12 12:44 CLI and GDB/MI documentation patch Nick Roberts
2006-05-12 14:19 ` Eli Zaretskii
2006-05-12 16:42   ` Bob Rossi
2006-05-12 22:14   ` Nick Roberts
2006-05-12 22:19     ` Bob Rossi
2006-05-13  9:13       ` Nick Roberts
2006-05-13 16:04         ` Daniel Jacobowitz
2006-05-30 15:59           ` {PATCH] MI Doco [was Re: CLI and GDB/MI...] Nick Roberts
2006-05-31  1:20             ` Eli Zaretskii
2006-05-31  3:15               ` Nick Roberts [this message]
2006-05-31 13:02                 ` Eli Zaretskii
2006-05-31 22:04                   ` Nick Roberts
2006-05-31 23:17                 ` Daniel Jacobowitz
2006-06-01  7:24                   ` Eli Zaretskii
2006-06-01 13:09                     ` Daniel Jacobowitz
2006-05-31 15:33             ` Bob Rossi
2006-05-31 22:11               ` Nick Roberts

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=17532.61231.319016.988575@kahikatea.snap.net.nz \
    --to=nickrob@snap.net.nz \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sources.redhat.com \
    /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.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox