From patchwork Sat Jan 4 18:34:08 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Tom Tromey X-Patchwork-Id: 37192 Received: (qmail 2504 invoked by alias); 4 Jan 2020 18:34:35 -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 990 invoked by uid 89); 4 Jan 2020 18:34:27 -0000 Authentication-Results: sourceware.org; auth=none X-Spam-SWARE-Status: No, score=-21.4 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=Valid X-HELO: gateway24.websitewelcome.com Received: from gateway24.websitewelcome.com (HELO gateway24.websitewelcome.com) (192.185.51.172) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 04 Jan 2020 18:34:19 +0000 Received: from cm12.websitewelcome.com (cm12.websitewelcome.com [100.42.49.8]) by gateway24.websitewelcome.com (Postfix) with ESMTP id 04C33C5A49 for ; Sat, 4 Jan 2020 12:34:18 -0600 (CST) Received: from box5379.bluehost.com ([162.241.216.53]) by cmsmtp with SMTP id noFdiWgF1W4frnoFdinK2v; Sat, 04 Jan 2020 12:34:18 -0600 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=bT/egK46VUp1w7LHkGK9Z2/8qCoJJAYcWYKMXPTzwEI=; b=ss5/4DO/Zg1GZZYJ2eYqulsXnt XQbc9v82tGMQ2PsoTfn677qj1zDF2qIqzTGM8adKNjtOnZdU/KYy9Gd4wWubPqGP4fG4VS+5HHOLn 7bwQzUNAvXyhybKPfKRrzYaKS; Received: from 75-166-123-50.hlrn.qwest.net ([75.166.123.50]:48942 helo=bapiya.Home) by box5379.bluehost.com with esmtpsa (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256) (Exim 4.92) (envelope-from ) id 1inoFd-0026Lh-Ow; Sat, 04 Jan 2020 11:34:17 -0700 From: Tom Tromey To: gdb-patches@sourceware.org Cc: Tom Tromey Subject: [PATCH 22/24] Use error_no_arg in TUI Date: Sat, 4 Jan 2020 11:34:08 -0700 Message-Id: <20200104183410.17114-23-tom@tromey.com> In-Reply-To: <20200104183410.17114-1-tom@tromey.com> References: <20200104183410.17114-1-tom@tromey.com> This changes a couple of TUI commands to use error_no_arg. The commands are also simplified a bit, and chnaged to use other gdb CLI utility functions like skip_to_space. This lets us removes a couple of defines that don't interact properly with gettext. 2020-01-04 Tom Tromey * tui/tui-win.c (tui_set_focus_command) (tui_set_win_height_command): Use error_no_arg. (_initialize_tui_win): Update help text. (FOCUS_USAGE, WIN_HEIGHT_USAGE): Don't define. Change-Id: I2bf95c2e5cfe1472d068388fa39f0cf07591b76c --- gdb/ChangeLog | 7 ++ gdb/tui/tui-win.c | 160 ++++++++++++++++++++-------------------------- 2 files changed, 77 insertions(+), 90 deletions(-) diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c index 1cd0878b1b9..4f9478b62a0 100644 --- a/gdb/tui/tui-win.c +++ b/gdb/tui/tui-win.c @@ -68,9 +68,6 @@ static void parse_scrolling_args (const char *, int *); -#define WIN_HEIGHT_USAGE "Usage: winheight WINDOW-NAME [+ | -] NUM-LINES\n" -#define FOCUS_USAGE "Usage: focus [WINDOW-NAME | next | prev]\n" - #ifndef ACS_LRCORNER # define ACS_LRCORNER '+' #endif @@ -707,29 +704,27 @@ tui_set_focus_command (const char *arg, int from_tty) { tui_enable (); - if (arg != NULL) - { - struct tui_win_info *win_info = NULL; - - if (subset_compare (arg, "next")) - win_info = tui_next_win (tui_win_with_focus ()); - else if (subset_compare (arg, "prev")) - win_info = tui_prev_win (tui_win_with_focus ()); - else - win_info = tui_partial_win_by_name (arg); + if (arg == NULL) + error_no_arg (_("name of window to focus")); - if (win_info == NULL) - error (_("Unrecognized window name \"%s\""), arg); - if (!win_info->is_visible ()) - error (_("Window \"%s\" is not visible"), arg); + struct tui_win_info *win_info = NULL; - tui_set_win_focus_to (win_info); - keypad (TUI_CMD_WIN->handle.get (), win_info != TUI_CMD_WIN); - printf_filtered (_("Focus set to %s window.\n"), - tui_win_with_focus ()->name ()); - } + if (subset_compare (arg, "next")) + win_info = tui_next_win (tui_win_with_focus ()); + else if (subset_compare (arg, "prev")) + win_info = tui_prev_win (tui_win_with_focus ()); else - error (_("Incorrect Number of Arguments.\n%s"), FOCUS_USAGE); + win_info = tui_partial_win_by_name (arg); + + if (win_info == NULL) + error (_("Unrecognized window name \"%s\""), arg); + if (!win_info->is_visible ()) + error (_("Window \"%s\" is not visible"), arg); + + tui_set_win_focus_to (win_info); + keypad (TUI_CMD_WIN->handle.get (), win_info != TUI_CMD_WIN); + printf_filtered (_("Focus set to %s window.\n"), + tui_win_with_focus ()->name ()); } static void @@ -875,66 +870,59 @@ tui_set_win_height_command (const char *arg, int from_tty) { /* Make sure the curses mode is enabled. */ tui_enable (); - if (arg != NULL) - { - const char *buf = arg; - const char *buf_ptr = buf; - int new_height; - struct tui_win_info *win_info; + if (arg == NULL) + error_no_arg (_("name of window")); - buf_ptr = strchr (buf_ptr, ' '); - if (buf_ptr != NULL) - { - /* Validate the window name. */ - gdb::string_view wname (buf, buf_ptr - buf); - win_info = tui_partial_win_by_name (wname); + const char *buf = arg; + const char *buf_ptr = buf; + int new_height; + struct tui_win_info *win_info; - if (win_info == NULL) - error (_("Unrecognized window name \"%s\""), arg); - if (!win_info->is_visible ()) - error (_("Window \"%s\" is not visible"), arg); + buf_ptr = skip_to_space (buf_ptr); - /* Process the size. */ - buf_ptr = skip_spaces (buf_ptr); + /* Validate the window name. */ + gdb::string_view wname (buf, buf_ptr - buf); + win_info = tui_partial_win_by_name (wname); - if (*buf_ptr != '\0') - { - bool negate = false; - bool 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. */ - tui_adjust_window_height (win_info, new_height); - tui_update_gdb_sizes (); - } - else - warning (_("Invalid window height specified.\n%s"), - WIN_HEIGHT_USAGE); - } + 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') + { + bool negate = false; + bool 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. */ + tui_adjust_window_height (win_info, new_height); + tui_update_gdb_sizes (); } else - printf_filtered (WIN_HEIGHT_USAGE); + error (_("Invalid window height specified")); } - else - printf_filtered (WIN_HEIGHT_USAGE); } /* See tui-data.h. */ @@ -1040,25 +1028,17 @@ Usage: tabset N")); deprecate_cmd (cmd, "set tui tab-width"); cmd = add_com ("winheight", class_tui, tui_set_win_height_command, _("\ -Set or modify the height of a specified window.\n" -WIN_HEIGHT_USAGE -"Window names are:\n\ - src : the source window\n\ - cmd : the command window\n\ - asm : the disassembly window\n\ - regs : the register display")); +Set or modify the height of a specified window.\n\ +Usage: winheight WINDOW-NAME [+ | -] NUM-LINES\n\ +Use \"info win\" to see the names of the windows currently being displayed.")); add_com_alias ("wh", "winheight", class_tui, 0); set_cmd_completer (cmd, winheight_completer); add_info ("win", tui_all_windows_info, _("List of all displayed windows.")); cmd = add_com ("focus", class_tui, tui_set_focus_command, _("\ -Set focus to named window or next/prev window.\n" -FOCUS_USAGE -"Valid Window names are:\n\ - src : the source window\n\ - asm : the disassembly window\n\ - regs : the register display\n\ - cmd : the command window")); +Set focus to named window or next/prev window.\n\ +Usage: focus [WINDOW-NAME | next | prev]\n\ +Use \"info win\" to see the names of the windows currently being displayed.")); add_com_alias ("fs", "focus", class_tui, 0); set_cmd_completer (cmd, focus_completer); add_com ("+", class_tui, tui_scroll_forward_command, _("\