Mirror of the gdb-patches mailing list
 help / color / mirror / Atom feed
From: Pedro Alves <palves@redhat.com>
To: Simon Marchi <simon.marchi@polymtl.ca>
Cc: Simon Marchi <simon.marchi@ericsson.com>, gdb-patches@sourceware.org
Subject: Re: [PATCH] Don't send queries to the MI interpreter
Date: Fri, 10 Feb 2017 18:36:00 -0000	[thread overview]
Message-ID: <f52c1825-8a4c-d2d1-a8cd-beb5dd213f1b@redhat.com> (raw)
In-Reply-To: <0d8bd42f-5964-1ac7-414a-754540db2e95@redhat.com>

On 02/10/2017 06:07 PM, Pedro Alves wrote:
> On 02/10/2017 05:44 PM, Pedro Alves wrote:
> 
>> OK, I found the branch.  Pushed here now:
>>
>>   https://github.com/palves/gdb/commits/palves/console-pagination
> 
> And re-reading the branch again, I noticed this hunk:
> 
> @@ -1255,7 +1258,9 @@ defaulted_query (const char *ctlstr, const char defchar, va_list args)
>       way, important error messages don't get lost when talking to GDB
>       over a pipe.  */
>    if (current_ui->instream != current_ui->stdin_stream
> -      || !input_interactive_p (current_ui))
> +      || !input_interactive_p (current_ui)
> +      /* We can't handle nested queries.  */
> +      || current_ui != main_ui)
>      {
>        old_chain = make_cleanup_restore_target_terminal ();
>  
> @@ -2045,36 +2050,48 @@ begin_line (void)
>      }
>  }
> 
> This is similar to your patch, but it handles something your
> version doesn't, I think.  That is the case of handling the secondary
> channel being a CLI interpreter, not an MI one, and that UI
> having been started on a terminal.

So with with all the rationale I've thrown out, and idea
that we shouldn't see a query anyway, and considering that
real MI commands shouldn't really query anyway (nobody sees
the query output), it may be actually impossible to find
a way to this with MI on the secondary channel, that will
remain stable going forward.  Hmm.

So how about using the hunk shown above, which should handle
your case as well, and while at it write a test that
uses CLI in the secondary UI instead, making sure a query
is auto-answered in that UI?

Thanks,
Pedro Alves


  reply	other threads:[~2017-02-10 18:36 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-02-10 16:37 Simon Marchi
2017-02-10 16:48 ` Pedro Alves
2017-02-10 16:52   ` Simon Marchi
2017-02-10 17:12     ` Pedro Alves
2017-02-10 17:44       ` Pedro Alves
2017-02-10 18:07         ` Pedro Alves
2017-02-10 18:36           ` Pedro Alves [this message]
2017-02-10 19:08             ` Simon Marchi
2017-02-10 19:23               ` Pedro Alves
2017-02-10 19:06           ` Simon Marchi
2017-02-10 19:20             ` Pedro Alves
2017-02-10 19:26               ` Simon Marchi
2017-02-10 19:32                 ` Pedro Alves
2017-02-10 19:30             ` Pedro Alves
2017-02-10 19:03         ` Simon Marchi
2017-02-10 19:08           ` Pedro Alves

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=f52c1825-8a4c-d2d1-a8cd-beb5dd213f1b@redhat.com \
    --to=palves@redhat.com \
    --cc=gdb-patches@sourceware.org \
    --cc=simon.marchi@ericsson.com \
    --cc=simon.marchi@polymtl.ca \
    /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