This is the mail archive of the gdb-patches@sources.redhat.com mailing list for the GDB project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: [RFA] cli-out.c new function


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]