I propose several changes to MI.
1. Every MI output command is prefixed with a label saying what type
of command it is. This is easy for synchronous commands. We will have
to make a list of asynchronous MI output commands that can be
documented some where.
benefit: the front end knows how to deal with the data it was
given in all circumstances
2. Because of this new label, all MI output commands of it's type
will be backwards compatible. Only adding fields and such things are
allowed. If it is necessary to change the command, a new MI command
and label will be put in it's place.
benefit: front ends will be very reliable because they will work
with new and old GDB's. They will also work with snapshot of GDB
instead of only major releases.
BTW, this Email does not address MI input commands in any way. This will
be the next step on my list.
Thanks,
Bob Rossi