This is the mail archive of the gdb-patches@sourceware.org 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: Still some style problems with 8.3 branch


I have just done some tests, comparing the behaviour
of the 8.3 branch with and without the patch suggested by Eli.

It works better with the patch, but even with the patch,
I still encountered one case where the style was not
the expected style after the continuation prompt.

To reproduce (in a 80x24 terminal):

./gdb/gdb ./gdb/gdb
break cli_ui_out::do_field_string
run gdb/testsuite/outputs/gdb.ada/info_auto_lang/proc_in_ada
  (gdb) b proc_in_c
  (gdb) run
info func error
#### then type several times return at the page prompt.
#### At some point in time, you see

0x00007ffff691d360  transaction clone for std::overflow_error::overflow_error(st
--Type <RET> for more, q to quit, c to continue without paging--
d::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)

And the line after the prompt is unexpectedly in black.
This is both with and without the patch.

Philippe


On Wed, 2019-04-03 at 21:21 +0300, Eli Zaretskii wrote:
> Ping!
> 
> > Date: Sun, 31 Mar 2019 17:28:52 +0300
> > From: Eli Zaretskii <eliz@gnu.org>
> > CC: gdb-patches@sourceware.org
> > 
> > > From: Philippe Waroquiers <philippe.waroquiers@skynet.be>
> > > Date: Sat, 30 Mar 2019 11:36:51 +0100
> > > 
> > > I just encountered a styling problem with the 8.3 branch
> > > (also on the 8.4).
> > > Test executed with GNU gdb (GDB) 8.2.91.20190330-git
> > > 
> > > To reproduce:
> > >   ./gdb/gdb ./gdb/gdb
> > >   info sources
> > > and then type return successively, to see each page.
> > > After the initial page, the first line contains a file that
> > > is partially printed in green color, partially printed in black color,
> > > e.g., in the below given output.
> > > The line that starts with '--Type <RET>' is in black, as expected.
> > > Then the next line starts in green as expected.
> > > But only '/bd/home/ph' is in green.
> > > We then have 'ilippe/gdb/git/relbranch/gdb/minsyms.h,' in black.
> > > Then all is normal till the next page.
> > > 
> > > So, that seems to point at some remaining problem in the
> > > buffering/output of style/color codes.
> > 
> > I don't think it's due to buffering.  If I #ifdef away this part near
> > the end of prompt_for_continue:
> > 
> >   /* Restore the current styling.  */
> >   if (can_emit_style_escape (gdb_stdout))
> >     emit_style_escape (applied_style);
> > 
> > then the problem seems to go away.  So I think this style setting is
> > what causes the problem, probably because applied_style has the wrong
> > value here?  The incorrect style seems to start precisely from the
> > first character that exceeds the last column of a line, so I think
> > it's indeed due to the above snippet.
> > 
> > Tom, can you look into this, please?
> > 


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