From patchwork Tue Sep 10 19:08:57 2019 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 34489 Received: (qmail 27660 invoked by alias); 10 Sep 2019 19:09:22 -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 26341 invoked by uid 89); 10 Sep 2019 19:09:13 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-19.8 required=5.0 tests=AWL, BAYES_00, GIT_PATCH_0, GIT_PATCH_1, GIT_PATCH_2, GIT_PATCH_3, RCVD_IN_DNSWL_NONE, SPF_HELO_PASS autolearn=ham version=3.3.1 spammy=Window X-HELO: gateway33.websitewelcome.com Received: from gateway33.websitewelcome.com (HELO gateway33.websitewelcome.com) (192.185.146.70) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Tue, 10 Sep 2019 19:09:10 +0000 Received: from cm11.websitewelcome.com (cm11.websitewelcome.com [100.42.49.5]) by gateway33.websitewelcome.com (Postfix) with ESMTP id D4778567C13 for ; Tue, 10 Sep 2019 14:09:08 -0500 (CDT) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id 7lVki5weXdnCe7lVkiR9Ff; Tue, 10 Sep 2019 14:09:08 -0500 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tromey.com; s=default; h=References:In-Reply-To:Message-Id:Date:Subject:Cc:To:From: Sender:Reply-To:MIME-Version:Content-Type:Content-Transfer-Encoding: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=TXu8IJKafI+j/Sj7rNCFvf89uJd0weVr64rYNa/wY/E=; b=g/JPbZoBxL0j2PHJDFWZUeNPW9 4DtazJAeKUQ9Wabx+5oaVKHK8W73klXppoTq74HDPhLxUQHf+KGFDA3yj4w6vaYPmaUU2CEVk+WOq dAtgnikI1lkfFznHPtgO1cdxR; Received: from 71-218-73-27.hlrn.qwest.net ([71.218.73.27]:51790 helo=bapiya.Home) by box5379.bluehost.com with esmtpa (Exim 4.92) (envelope-from ) id 1i7lVk-000EfL-Aa; Tue, 10 Sep 2019 14:09:08 -0500 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 20/20] Change TUI window commands to be case-sensitive Date: Tue, 10 Sep 2019 13:08:57 -0600 Message-Id: <20190910190857.6562-21-tom@tromey.com> In-Reply-To: <20190910190857.6562-1-tom@tromey.com> References: <20190910190857.6562-1-tom@tromey.com> The TUI window-related commands like "focus" are case insensitive. This is not the norm in gdb, and I don't see a good reason to have it here. This patch changes the TUI to be case sensitive, like the rest of gdb. gdb/ChangeLog 2019-09-10 Tom Tromey * tui/tui-win.c (tui_set_focus_command): Now case-sensitive. (tui_set_win_height_command, parse_scrolling_args): Likewise. * tui/tui-layout.c (tui_layout_command): Now case-sensitive. --- gdb/ChangeLog | 6 ++ gdb/tui/tui-layout.c | 22 +++---- gdb/tui/tui-win.c | 140 ++++++++++++++++++------------------------- 3 files changed, 73 insertions(+), 95 deletions(-) diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c index 0f3e8d945e8..7aa670ec69d 100644 --- a/gdb/tui/tui-layout.c +++ b/gdb/tui/tui-layout.c @@ -337,29 +337,23 @@ Layout names are:\n\ static void tui_layout_command (const char *layout_name, int from_tty) { - int i; enum tui_layout_type new_layout = UNDEFINED_LAYOUT; enum tui_layout_type cur_layout = tui_current_layout (); - if (layout_name == NULL) + if (layout_name == NULL || *layout_name == '\0') error (_("Usage: layout prev | next | LAYOUT-NAME")); - std::string copy = layout_name; - for (i = 0; i < copy.size (); i++) - copy[i] = toupper (copy[i]); - const char *buf_ptr = copy.c_str (); - /* First check for ambiguous input. */ - if (strlen (buf_ptr) <= 1 && *buf_ptr == 'S') + if (strcmp (layout_name, "s") == 0) error (_("Ambiguous command input.")); - if (subset_compare (buf_ptr, "SRC")) + if (subset_compare (layout_name, "src")) new_layout = SRC_COMMAND; - else if (subset_compare (buf_ptr, "ASM")) + else if (subset_compare (layout_name, "asm")) new_layout = DISASSEM_COMMAND; - else if (subset_compare (buf_ptr, "SPLIT")) + else if (subset_compare (layout_name, "split")) new_layout = SRC_DISASSEM_COMMAND; - else if (subset_compare (buf_ptr, "REGS")) + else if (subset_compare (layout_name, "regs")) { if (cur_layout == SRC_COMMAND || cur_layout == SRC_DATA_COMMAND) @@ -367,9 +361,9 @@ tui_layout_command (const char *layout_name, int from_tty) else new_layout = DISASSEM_DATA_COMMAND; } - else if (subset_compare (buf_ptr, "NEXT")) + else if (subset_compare (layout_name, "next")) new_layout = next_layout (); - else if (subset_compare (buf_ptr, "PREV")) + else if (subset_compare (layout_name, "prev")) new_layout = prev_layout (); else error (_("Unrecognized layout: %s"), layout_name); diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c index aecb7791f0a..37e22c550f9 100644 --- a/gdb/tui/tui-win.c +++ b/gdb/tui/tui-win.c @@ -776,35 +776,27 @@ tui_set_focus_command (const char *arg, int from_tty) if (arg != NULL) { - char *buf_ptr = xstrdup (arg); - int i; struct tui_win_info *win_info = NULL; - for (i = 0; (i < strlen (buf_ptr)); i++) - buf_ptr[i] = tolower (arg[i]); - - if (subset_compare (buf_ptr, "next")) + if (subset_compare (arg, "next")) win_info = tui_next_win (tui_win_with_focus ()); - else if (subset_compare (buf_ptr, "prev")) + else if (subset_compare (arg, "prev")) win_info = tui_prev_win (tui_win_with_focus ()); else - win_info = tui_partial_win_by_name (buf_ptr); + win_info = tui_partial_win_by_name (arg); - if (win_info == NULL || !win_info->is_visible ()) - warning (_("Invalid window specified. \n\ -The window name specified must be valid and visible.\n")); - else - { - tui_set_win_focus_to (win_info); - keypad (TUI_CMD_WIN->handle, (win_info != TUI_CMD_WIN)); - } + if (win_info == NULL) + error (_("Unrecognized window name \"%s\""), arg); + if (!win_info->is_visible ()) + error (_("Window \"%s\" is not visible"), arg); - xfree (buf_ptr); + tui_set_win_focus_to (win_info); + keypad (TUI_CMD_WIN->handle, (win_info != TUI_CMD_WIN)); printf_filtered (_("Focus set to %s window.\n"), tui_win_with_focus ()->name ()); } else - warning (_("Incorrect Number of Arguments.\n%s"), FOCUS_USAGE); + error (_("Incorrect Number of Arguments.\n%s"), FOCUS_USAGE); } static void @@ -927,65 +919,61 @@ tui_set_win_height_command (const char *arg, int from_tty) char *buf = ©[0]; char *buf_ptr = buf; char *wname = NULL; - int new_height, i; + int new_height; struct tui_win_info *win_info; wname = buf_ptr; buf_ptr = strchr (buf_ptr, ' '); if (buf_ptr != NULL) { - *buf_ptr = (char) 0; + *buf_ptr = '\0'; /* Validate the window name. */ - for (i = 0; i < strlen (wname); i++) - wname[i] = tolower (wname[i]); win_info = tui_partial_win_by_name (wname); - if (win_info == NULL || !win_info->is_visible ()) - warning (_("Invalid window specified. \n\ -The window name specified must be valid and visible.\n")); - else + if (win_info == NULL) + error (_("Unrecognized window name \"%s\""), arg); + if (!win_info->is_visible ()) + error (_("Window \"%s\" is not visible"), arg); + + /* Process the size. */ + buf_ptr = skip_spaces (buf_ptr); + + if (*buf_ptr != '\0') { - /* Process the size. */ - while (*(++buf_ptr) == ' ') - ; + bool negate = false; + bool fixed_size = true; + int input_no;; - if (*buf_ptr != (char) 0) + if (*buf_ptr == '+' || *buf_ptr == '-') { - int negate = FALSE; - int fixed_size = TRUE; - int input_no;; - - if (*buf_ptr == '+' || *buf_ptr == '-') - { - if (*buf_ptr == '-') - negate = TRUE; - fixed_size = FALSE; - buf_ptr++; - } - input_no = atoi (buf_ptr); - if (input_no > 0) - { - if (negate) - input_no *= (-1); - if (fixed_size) - new_height = input_no; - else - new_height = win_info->height + input_no; - - /* Now change the window's height, and adjust - all other windows around it. */ - if (tui_adjust_win_heights (win_info, - new_height) == TUI_FAILURE) - warning (_("Invalid window height specified.\n%s"), - WIN_HEIGHT_USAGE); - else - tui_update_gdb_sizes (); - } + if (*buf_ptr == '-') + negate = true; + fixed_size = false; + buf_ptr++; + } + input_no = atoi (buf_ptr); + if (input_no > 0) + { + if (negate) + input_no *= (-1); + if (fixed_size) + new_height = input_no; else + new_height = win_info->height + input_no; + + /* Now change the window's height, and adjust + all other windows around it. */ + if (tui_adjust_win_heights (win_info, + new_height) == TUI_FAILURE) warning (_("Invalid window height specified.\n%s"), WIN_HEIGHT_USAGE); + else + tui_update_gdb_sizes (); } + else + warning (_("Invalid window height specified.\n%s"), + WIN_HEIGHT_USAGE); } } else @@ -1299,7 +1287,7 @@ parse_scrolling_args (const char *arg, buf_ptr = strchr (buf_ptr, ' '); if (buf_ptr != NULL) { - *buf_ptr = (char) 0; + *buf_ptr = '\0'; if (num_to_scroll) *num_to_scroll = atoi (num_str); buf_ptr++; @@ -1313,29 +1301,19 @@ parse_scrolling_args (const char *arg, { const char *wname; - if (*buf_ptr == ' ') - while (*(++buf_ptr) == ' ') - ; + wname = skip_spaces (buf_ptr); - if (*buf_ptr != (char) 0) + if (*wname != '\0') { - /* Validate the window name. */ - for (char *p = buf_ptr; *p != '\0'; p++) - *p = tolower (*p); - - wname = buf_ptr; + *win_to_scroll = tui_partial_win_by_name (wname); + + if (*win_to_scroll == NULL) + error (_("Unrecognized window `%s'"), wname); + if (!(*win_to_scroll)->is_visible ()) + error (_("Window is not visible")); + else if (*win_to_scroll == TUI_CMD_WIN) + *win_to_scroll = *(tui_source_windows ().begin ()); } - else - wname = "?"; - - *win_to_scroll = tui_partial_win_by_name (wname); - - if (*win_to_scroll == NULL) - error (_("Unrecognized window `%s'"), wname); - if (!(*win_to_scroll)->is_visible ()) - error (_("Window is not visible")); - else if (*win_to_scroll == TUI_CMD_WIN) - *win_to_scroll = *(tui_source_windows ().begin ()); } } }