This is the mail archive of the
gdb-patches@sources.redhat.com
mailing list for the GDB project.
Re: [RFA] cli-out.c new function
- From: Elena Zannoni <ezannoni at redhat dot com>
- To: Pierre Muller <muller at cerbere dot u-strasbg dot fr>
- Cc: Daniel Jacobowitz <drow at mvista dot com>, Elena Zannoni <ezannoni at redhat dot com>, Andrew Cagney <ac131313 at redhat dot com>, fnasser at redhat dot com, gdb-patches at sources dot redhat dot com
- Date: Wed, 6 Nov 2002 13:09:06 -0500
- Subject: Re: [RFA] cli-out.c new function
- References: <15816.21181.748534.54828@localhost.redhat.com><5.0.2.1.2.20021106094824.02b66088@ics.u-strasbg.fr>
Pierre Muller writes:
> At 04:26 06/11/2002, Daniel Jacobowitz wrote:
> >On Tue, Nov 05, 2002 at 06:22:37PM -0500, Elena Zannoni wrote:
> >>
> >> This function sets the stream of the uiout file to the given
> >> parameter. It is used in the interpreter work. Maybe Keith or JimI
> >> can explain this a bit better, but switching interpreters can change
> >> the gdb_sdout.
> >>
> >>
> >> /* gdb_stdout could change between the time cli_uiout was initialized
> >> and now. Since we're probably using a different interpreter which has
> >> a new ui_file for gdb_stdout, use that one instead of the default.
> >>
> >> It is important that it gets reset everytime, since the user could
> >> set gdb to use a different interpreter. */
> >> old_stream = cli_out_set_stream (cli_uiout, gdb_stdout);
> >
> >Something (two things actually) very much like this were discussed and
> >we never reached agreement on them. See my patch for a `tee' command
> >and file redirection; and something similar from Pierre. A couple of
> >months ago now.
>
> See the following threads:
> [RFC/RFA] avoid spurious Watchpoint X output on cygwin native target.
> http://sources.redhat.com/ml/gdb-patches/2002-07/msg00323.html
>
> and
> RFA: Make cli-out follow gdb_stdout
> http://sources.redhat.com/ml/gdb-patches/2002-07/msg00366.html
> as well as
> (which is a different thread, probably because I didn't use Relpy...)
> http://sources.redhat.com/ml/gdb-patches/2002-08/msg00549.html
>
> But honestly, I don't know if the this new function solves the
> problem...
Ulgh, we seem to have hit a wall. I see that the same concerns about
your solutions apply to this one. I guess that in my case using
catch_exception should work, because the current code does this:
old_stream = cli_out_set_stream (cli_uiout, gdb_stdout);
result = safe_execute_command (cli_uiout, command_str, 1);
cli_out_set_stream (cli_uiout, old_stream);
I could change that into a catch_exceptions call. In fact,
safe_execute_command *IS* a wrapper around catch_exceptions already.
The general problem is not solved, however.
Elena
> IMHO, standard gdb sources should not have to worry at all about
> the possible fact that an interpreter is present...
> The fact that standard gdb code redirects gdb_stdout (or gdb_stderr)
> should be respected by any interpreter, no?
> Thus I still think that the best solution is the double pointer one...
> but Andrew is stronly opposed to that solution....
>
>
> Pierre Muller
> Institut Charles Sadron
> 6,rue Boussingault
> F 67083 STRASBOURG CEDEX (France)
> mailto:muller@ics.u-strasbg.fr
> Phone : (33)-3-88-41-40-07 Fax : (33)-3-88-41-40-99