From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 1958 invoked by alias); 13 Nov 2008 15:35:23 -0000 Received: (qmail 1935 invoked by uid 22791); 13 Nov 2008 15:35:22 -0000 X-Spam-Check-By: sourceware.org Received: from mail.codesourcery.com (HELO mail.codesourcery.com) (65.74.133.4) by sourceware.org (qpsmtpd/0.31) with ESMTP; Thu, 13 Nov 2008 15:34:30 +0000 Received: (qmail 28519 invoked from network); 13 Nov 2008 15:34:27 -0000 Received: from unknown (HELO localhost) (vladimir@127.0.0.2) by mail.codesourcery.com with ESMTPA; 13 Nov 2008 15:34:27 -0000 From: Vladimir Prus To: Jan Kratochvil Subject: Re: [patch] MI: breakpoint "script" is a LIST Date: Thu, 13 Nov 2008 20:21:00 -0000 User-Agent: KMail/1.9.10 Cc: gdb-patches@sources.redhat.com, Dodji Seketeli References: <20081113130442.GA12991@host0.dyn.jankratochvil.net> <20081113134113.GA15321@host0.dyn.jankratochvil.net> In-Reply-To: <20081113134113.GA15321@host0.dyn.jankratochvil.net> MIME-Version: 1.0 Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable Content-Disposition: inline Message-Id: <200811131834.26373.vladimir@codesourcery.com> Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org X-SW-Source: 2008-11/txt/msg00286.txt.bz2 [Adding list to CC] On Thursday 13 November 2008 16:41:13 you wrote: > On Thu, 13 Nov 2008 14:12:54 +0100, Vladimir Prus wrote: > > Jan Kratochvil wrote: > > > Nemiver could not parse the MI2 output. =A0The list of commands is a = `list', not > > > a `tuple'. > >=20 > > For how long this bug is here? Is the risk that existing frontend break= higher than > > inconvenience to keep the code as is? >=20 > The current code does not comply to any generic MI parser as it violates = the > MI grammar http://sourceware.org/gdb/current/onlinedocs/gdb_26.html#SEC26= 4 , > as pointed out by Dodji. >=20 > It may be compliant only to some hacky buggy parsers written specifically= for > each MI command. That's interesting statement -- are you saying all MI frontends out there h= ave "hacky buggy parsers"? > If we want to keep -break-list "script" to produce tuples we have to chan= ge it > from current > =A0 script=3D{"silent","return"} > to some > =A0 script=3D{line0=3D"silent",line1=3D"return"} > which will IMO also break any existing buggy parsers. >=20 > And GDB is now between major releases 6.8->6.9 which IMO means it does not > have to keep bug-to-bug compatibility. This breakage is relatively new ;-) =A0=A0=A0=A0=A0=A0=A0=A0commit b6953506f4d41d46e87650188520283158c37a51 =A0=A0=A0=A0=A0=A0=A0=A0Author: Andrew Cagney =A0=A0=A0=A0=A0=A0=A0=A0Date: =A0 Sat May 12 04:08:24 2001 +0000 =A0=A0=A0=A0=A0=A0=A0=A0 =A0 =A0s/ui_out_list/ui_out_tupple/ =A0=A0=A0=A0=A0=A0=A0=A0 =A0=A0=A0=A0=A0=A0=A0=A0@@ -3490,9 +3490,9 @@ print_one_breakpoint (struct = breakpoint *b, =A0=A0=A0=A0=A0=A0=A0=A0 =A0 =A0 { =A0=A0=A0=A0=A0=A0=A0=A0 =A0 =A0 =A0 annotate_field (9); =A0=A0=A0=A0=A0=A0=A0=A0 #ifdef UI_OUT =A0=A0=A0=A0=A0=A0=A0=A0- =A0 =A0 =A0ui_out_list_begin (uiout, "script"); =A0=A0=A0=A0=A0=A0=A0=A0+ =A0 =A0 =A0ui_out_tuple_begin (uiout, "script"); =A0=A0=A0=A0=A0=A0=A0=A0 =A0 =A0 =A0 print_command_lines (uiout, l, 4); =A0=A0=A0=A0=A0=A0=A0=A0- =A0 =A0 =A0ui_out_list_end (uiout); =A0=A0=A0=A0=A0=A0=A0=A0+ =A0 =A0 =A0ui_out_tuple_end (uiout); But I'm sure all existing frontends handle this. I don't think I'm gonna te= st Eclipse (both CDI and DSF), and KDevelop (3.3 and 4), to make sure the prop= osed change does not break them. So, we probably get to wait till MI3. - Volodya