Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Simon Marchi <simon.marchi@polymtl.ca>
To: Eli Zaretskii <eliz@gnu.org>
Cc: Simon Marchi <simon.marchi@ericsson.com>,
	gdb-patches@sourceware.org,        palves@redhat.com
Subject: Re: [PATCH] Fix MI output for multi-location breakpoints
Date: Sun, 13 Jan 2019 16:17:00 -0000	[thread overview]
Message-ID: <5158b3d6feb794fb4db69dd3ee087286@polymtl.ca> (raw)
In-Reply-To: <83r2dgefpc.fsf@gnu.org>

> Doing this for every single feature is indeed overkill.  But changes
> in the version of MI are rare and backward-incompatible, so they are a
> different story, IMO.

Just adding a new MI version is not a backward-incompatible change.  
Adding MI3 does not change anything for you if you use MI2.  What is 
backward-incompatible may be which version of MI is selected if you use 
"--interpreter=mi" (without an explicit version).  Is it what we are 
trying to document here, which version of the interpreter you end up 
with if you use "--interpreter=mi"?  Or we are trying to document the 
possible arguments to pass to "--interpreter"?

For the former, wouldn't it be clear to say that you end up with the 
latest stable release of the MI interpreter (and cross-reference to the 
table)?

For the latter, a cross-reference to the table gives would point you to 
the relevant info, without overloading this section as the number of MI 
releases grow.

>> > I'm okay with adding a detailed table elsewhere, but I don't think
>> > it's a good idea to remove the above information from the description
>> > of the -mi command-line switch.
>> 
>> Would a cross-reference to the table be good enough?
> 
> Not in this particular case, no.

Can you expand on why?  I really don't expect that many users to come to 
the manual often to know about MI versions.  Only a handful of people 
care about that (people who implement frontends), and they will surely 
dig much more in the manual (especially the GDB/MI section) to achieve 
what they want to do.

>> If we add a detailed table
>> of MI versions (which I think is required), we will have the 
>> information about which
>> GDB version introduced each MI versions at three separate places in 
>> the manual...
> 
> Which is the third place?  I thought we have it only in two places.
> The detailed table could come instead of that second place we have
> now, not in addition to it.  But let's wait with that decision until
> we actually see the proposed change for that table.

1. In "@node Mode Options"
2. In "@node Interpreters"
3. In the hypothetical table of MI versions.

>> - mi1 can be used by any GDB version between 5.1 and the present.  Why 
>> do we list
>>   specifically 5.1, 5.2 and 5.3?
> 
> So that readers who have those versions installed knew they can only
> use mi1.
>> - The term "included in", or "used by", regardless of whether it is 
>> coupled with "5.1"
>>   or 5.1, 5.2 and 5.3".  Since mi1 can be used with any version 
>> between 5.1 and the
>>   latest release, I think we should be looking for a phrasing that 
>> conveys that it's
>>   an half-open interval.  Saying that "mi1 is used by GDB 5.1" just 
>> tells you about
>>   5.1.  Saying that "mi1 is available starting with GDB 5.1" tells you 
>> about all
>>   versions between 5.1 and the current one.
> 
> The purpose of that text is to say that those versions can only use
> mi1.

Well, IMO it's clear from the fact that mi2, documented just above, is 
said to have been introduced by version 6.0 (and that 5.3 < 6.0).

But anyhow, I can live with the "used by" formulation if you and Tom 
think it's clear enough.  For MI2, however, we won't list all versions, 
since there are too many.  Could we switch them both to ranges for 
consistency?

- mi3: The gdb/mi interface used by GDB versions 9.1 and later.  This is 
the latest gdb/mi version.
- mi2: The gdb/mi interface used by GDB versions 6.0 to 8.3 
(inclusively).
- mi1: The gdb/mi interface used by GDB versions 5.1 to 5.3 
(inclusively).

Thanks,

Simon


  reply	other threads:[~2019-01-13 16:17 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-11  0:15 Simon Marchi
2019-01-11  8:04 ` Eli Zaretskii
2019-01-11 20:21   ` Simon Marchi
     [not found]     ` <83y37qgail.fsf@gnu.org>
2019-01-12 17:01       ` Tom Tromey
2019-01-13  5:09       ` Simon Marchi
2019-01-13 15:32         ` Eli Zaretskii
2019-01-13 16:17           ` Simon Marchi [this message]
2019-01-13 16:49             ` Eli Zaretskii
2019-01-14 21:05               ` Simon Marchi
2019-01-11 12:34 ` Andrew Burgess
2019-01-11 18:39   ` Pedro Alves
2019-01-11 23:36     ` Simon Marchi
2019-01-12  1:40       ` Andrew Burgess
2019-01-12 16:54         ` Tom Tromey
2019-01-13  5:49         ` Simon Marchi
2019-01-11 21:07   ` Simon Marchi

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=5158b3d6feb794fb4db69dd3ee087286@polymtl.ca \
    --to=simon.marchi@polymtl.ca \
    --cc=eliz@gnu.org \
    --cc=gdb-patches@sourceware.org \
    --cc=palves@redhat.com \
    --cc=simon.marchi@ericsson.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