This is the mail archive of the
gdb-patches@sourceware.org
mailing list for the GDB project.
Re: [PATCHSET] [2/4] Fix various issue in TUI
- From: Eli Zaretskii <eliz at gnu dot org>
- To: Pedro Alves <palves at redhat dot com>
- Cc: gdb-patches at sourceware dot org
- Date: Tue, 06 Jan 2015 17:55:59 +0200
- Subject: Re: [PATCHSET] [2/4] Fix various issue in TUI
- Authentication-results: sourceware.org; auth=none
- References: <83y4pnbtnc dot fsf at gnu dot org> <54AAE1D9 dot 9000409 at redhat dot com>
- Reply-to: Eli Zaretskii <eliz at gnu dot org>
> Date: Mon, 05 Jan 2015 19:11:21 +0000
> From: Pedro Alves <palves@redhat.com>
>
> > --- gdb/tui/tui-hooks.c~0 2014-06-11 18:34:41 +0300
> > +++ gdb/tui/tui-hooks.c 2014-12-31 14:41:11 +0200
> > @@ -247,12 +247,23 @@
> > tui_display_main ();
> > }
> >
> > +/* Refresh the display when settings important to us change. */
> > +static void
> > +tui_note_setting_change (const char *param, const char *value)
> > +{
> > + if (tui_active
> > + && strncmp (param, "tui ", sizeof ("tui ") - 1) == 0
> > + && tui_update_variables ())
> > + tui_rehighlight_all ();
> > +}
> > +
>
> Please do this from the "set" hook of the relevant commands instead.
> IOW, replace NULL below (and in the other commands):
>
> add_setshow_enum_cmd ("active-border-mode", no_class, tui_border_mode_enums,
> &tui_active_border_mode, _("\
> ...
> NULL,
> show_tui_active_border_mode,
> &tui_setlist, &tui_showlist);
Like this?
2015-01-06 Eli Zaretskii <eliz@gnu.org>
* tui/tui-win.c (tui_set_var_cmd): New function.
(_initialize_tui_win) <border-kind, border-mode>:
<active-border-mode>: Use tui_set_var_cmd as the "set" function.
--- gdb/tui/tui-win.c~2 2015-01-04 08:07:30 +0200
+++ gdb/tui/tui-win.c 2015-01-06 08:03:05 +0200
@@ -346,6 +346,12 @@ tui_get_cmd_list (void)
return &tuilist;
}
+void tui_set_var_cmd (char *null_args, int from_tty, struct cmd_list_element *c)
+{
+ if (tui_update_variables ())
+ tui_rehighlight_all ();
+}
+
/* Function to initialize gdb commands, for tui window
manipulation. */
@@ -422,7 +428,7 @@ This variable controls the border of TUI
space use a white space\n\
ascii use ascii characters + - | for the border\n\
acs use the Alternate Character Set"),
- NULL,
+ tui_set_var_cmd,
show_tui_border_kind,
&tui_setlist, &tui_showlist);
@@ -438,7 +444,7 @@ half use half bright\n\
half-standout use half bright and standout mode\n\
bold use extra bright or bold\n\
bold-standout use extra bright or bold with standout mode"),
- NULL,
+ tui_set_var_cmd,
show_tui_border_mode,
&tui_setlist, &tui_showlist);
@@ -454,7 +460,7 @@ half use half bright\n\
half-standout use half bright and standout mode\n\
bold use extra bright or bold\n\
bold-standout use extra bright or bold with standout mode"),
- NULL,
+ tui_set_var_cmd,
show_tui_active_border_mode,
&tui_setlist, &tui_showlist);
}