From patchwork Fri Jan 16 16:30:10 2015 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Eli Zaretskii X-Patchwork-Id: 4713 Received: (qmail 21793 invoked by alias); 16 Jan 2015 16:29:58 -0000 Mailing-List: contact gdb-patches-help@sourceware.org; run by ezmlm Precedence: bulk List-Id: List-Unsubscribe: List-Subscribe: List-Archive: List-Post: List-Help: , Sender: gdb-patches-owner@sourceware.org Delivered-To: mailing list gdb-patches@sourceware.org Received: (qmail 21784 invoked by uid 89); 16 Jan 2015 16:29:57 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-2.6 required=5.0 tests=AWL, BAYES_00, RCVD_IN_DNSWL_NONE, SPF_SOFTFAIL autolearn=no version=3.3.2 X-HELO: mtaout21.012.net.il Received: from mtaout21.012.net.il (HELO mtaout21.012.net.il) (80.179.55.169) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Fri, 16 Jan 2015 16:29:55 +0000 Received: from conversion-daemon.a-mtaout21.012.net.il by a-mtaout21.012.net.il (HyperSendmail v2007.08) id <0NIA003002MBZS00@a-mtaout21.012.net.il> for gdb-patches@sourceware.org; Fri, 16 Jan 2015 18:29:53 +0200 (IST) Received: from HOME-C4E4A596F7 ([87.69.4.28]) by a-mtaout21.012.net.il (HyperSendmail v2007.08) with ESMTPA id <0NIA003WZ35SS580@a-mtaout21.012.net.il>; Fri, 16 Jan 2015 18:29:53 +0200 (IST) Date: Fri, 16 Jan 2015 18:30:10 +0200 From: Eli Zaretskii Subject: Re: [PATCHSET] [2/4] Fix various issue in TUI In-reply-to: <54AD392C.1030209@redhat.com> To: Pedro Alves Cc: gdb-patches@sourceware.org Reply-to: Eli Zaretskii Message-id: <83oapy1yel.fsf@gnu.org> References: <83y4pnbtnc.fsf@gnu.org> <54AAE1D9.9000409@redhat.com> <834ms39a40.fsf@gnu.org> <54AD392C.1030209@redhat.com> X-IsSubscribed: yes > Date: Wed, 07 Jan 2015 13:48:28 +0000 > From: Pedro Alves > CC: gdb-patches@sourceware.org > > > +void tui_set_var_cmd (char *null_args, int from_tty, struct cmd_list_element *c) > > Line break after "void". Misses an intro comment, maybe something > like: > > /* The set_func hook of "set tui ..." settings that affect > the TUI display. */ Fixed. > > +{ > > + if (tui_update_variables ()) > > + tui_rehighlight_all (); > > The tui_rehighlight_all function is missing in this patch. > Did you indend for this to be tui_refresh_all_win? No, I meant tui_rehighlight_all from the original patch. See below. > Is this OK to call when the tui is not enabled? I added tui_active to the condition. Here's what I pushed: commit 6cdb25f4df143e8d98bd71bf943bbe61c702e239 Author: Eli Zaretskii Date: Fri Jan 16 18:24:16 2015 +0200 Make setting TUI border attributes take effect immediately gdb/ 2015-01-16 Eli Zaretskii * tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New functions. (_initialize_tui_win) : : Use tui_set_var_cmd as the "set" function. * tui/tui-win.h: Add prototype for tui_rehighlight_all. diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 661f9b6..e45f5c1 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,5 +1,11 @@ 2015-01-16 Eli Zaretskii + * tui/tui-win.c (tui_rehighlight_all, tui_set_var_cmd): New + functions. + (_initialize_tui_win) : + : Use tui_set_var_cmd as the "set" function. + * tui/tui-win.h: Add prototype for tui_rehighlight_all. + * tui/tui-win.c (tui_scroll_left_command, tui_scroll_right_command): Doc fix. (tui_set_tab_width_command): Delete and recreate the source and diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c index 96fa801..7e9bd1e 100644 --- a/gdb/tui/tui-win.c +++ b/gdb/tui/tui-win.c @@ -344,6 +344,15 @@ struct cmd_list_element ** return &tuilist; } +/* The set_func hook of "set tui ..." commands that affect the window + borders on the TUI display. */ +void +tui_set_var_cmd (char *null_args, int from_tty, struct cmd_list_element *c) +{ + if (tui_update_variables () && tui_active) + tui_rehighlight_all (); +} + /* Function to initialize gdb commands, for tui window manipulation. */ @@ -420,7 +429,7 @@ Set the width (in characters) of tab stops.\n\ 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); @@ -436,7 +445,7 @@ Set the width (in characters) of tab stops.\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); @@ -452,7 +461,7 @@ Set the width (in characters) of tab stops.\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); } @@ -646,6 +655,14 @@ Set the width (in characters) of tab stops.\n\ tui_show_locator_content (); } +void +tui_rehighlight_all (void) +{ + enum tui_win_type type; + + for (type = SRC_WIN; type < MAX_MAJOR_WINDOWS; type++) + tui_check_and_display_highlight_if_needed (tui_win_list[type]); +} /* Resize all the windows based on the terminal size. This function gets called from within the readline sinwinch handler. */ diff --git a/gdb/tui/tui-win.h b/gdb/tui/tui-win.h index 6601d4b..7d77a00 100644 --- a/gdb/tui/tui-win.h +++ b/gdb/tui/tui-win.h @@ -55,4 +55,7 @@ extern void tui_scroll (enum tui_scroll_direction, /* Create or get the TUI command list. */ struct cmd_list_element **tui_get_cmd_list (void); +/* Set a TUI variable. */ +void tui_set_var_cmd (char *, int, struct cmd_list_element *); + #endif