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: [PATCHSET] [2/4] Fix various issue in TUI


> 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);
 }


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