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: [PATCH 0/4] layout command changes


On 05/21/2015 09:12 AM, Pedro Alves wrote:
> On 05/21/2015 12:17 AM, Andrew Burgess wrote:
>> This patch set replaces an earlier patch I posted here:
>>   https://sourceware.org/ml/gdb-patches/2015-04/msg00185.html
>>
>> In the previous patch I had to jump through some hoops in order to
>> support completion of the layout names like $FREGS.  This was pretty
>> annoying as I had not realised these layouts existed until I started
>> writting the completer code...
>>
>> ...but it turns out that those layout names don't work anyway, and
>> have not done so for some time.  I didn't figure out exactly when they
>> broke, but I believe they were broken in 6.8.
>>
>> Still, it doesn't matter, as we have the 'tui regs' command, which
>> does work, and does allow the register set displayed in tui to be
>> changed.  This is for the best anyway (I think), personally, I felt
>> that managing both the layout, and the choice of register set all from
>> the layout command was too much overloading.
>>
>> The first patch in this series removes the $FREGS style register set
>> names from the layout command, and cleans up all of the code relating
>> to them.
> 
> Looks like this was really meant to switch to the matching registers
> layout when the user did "display $fpregs", etc. instead of manually
> specifying that layout.  We have:
> 
> static void
> display_command (char *arg, int from_tty)
> {
>   struct format_data fmt;
>   struct expression *expr;
>   struct display *newobj;
>   int display_it = 1;
>   const char *exp = arg;
> 
> #if defined(TUI)
>   /* NOTE: cagney/2003-02-13 The `tui_active' was previously
>      `tui_version'.  */
>   if (tui_active && exp != NULL && *exp == '$')
>     display_it = (tui_set_layout_for_display_command (exp) == TUI_FAILURE);
> #endif
> 
> Doesn't your series effectively make this bit in display_command dead?
> (while before it would switch on the registers layout).  (We should probably
> rename tui_set_layout_for_display_command too.)
> 
> I had never noticed these special register layouts before either.  I'm not
> at all adverse to removing them.  Not all expressions that start with $ are
> registers, and probably a better idea would be to have
> a separate "displays" window (so displays would go to that window
> instead of the command window when the TUI is active), so that the tui
> could neatly show watched variables/random expressions too.

I read the whole series now (the complete_on_enum version), and it otherwise
looks all good to me.

Thanks,
Pedro Alves


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