mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-24 12:12:56 +08:00
Use error_no_arg in TUI
This changes a couple of TUI commands to use error_no_arg. The commands are also simplified a bit, and changed 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-02-22 Tom Tromey <tom@tromey.com> * 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
This commit is contained in:
@ -1,3 +1,10 @@
|
|||||||
|
2020-02-22 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
|
* 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.
|
||||||
|
|
||||||
2020-02-22 Tom Tromey <tom@tromey.com>
|
2020-02-22 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* tui/tui-layout.c (extract_display_start_addr): Rewrite.
|
* tui/tui-layout.c (extract_display_start_addr): Rewrite.
|
||||||
|
@ -68,9 +68,6 @@ static void parse_scrolling_args (const char *,
|
|||||||
int *);
|
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
|
#ifndef ACS_LRCORNER
|
||||||
# define ACS_LRCORNER '+'
|
# define ACS_LRCORNER '+'
|
||||||
#endif
|
#endif
|
||||||
@ -707,29 +704,27 @@ tui_set_focus_command (const char *arg, int from_tty)
|
|||||||
{
|
{
|
||||||
tui_enable ();
|
tui_enable ();
|
||||||
|
|
||||||
if (arg != NULL)
|
if (arg == NULL)
|
||||||
{
|
error_no_arg (_("name of window to focus"));
|
||||||
struct tui_win_info *win_info = NULL;
|
|
||||||
|
|
||||||
if (subset_compare (arg, "next"))
|
struct tui_win_info *win_info = NULL;
|
||||||
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 (win_info == NULL)
|
if (subset_compare (arg, "next"))
|
||||||
error (_("Unrecognized window name \"%s\""), arg);
|
win_info = tui_next_win (tui_win_with_focus ());
|
||||||
if (!win_info->is_visible ())
|
else if (subset_compare (arg, "prev"))
|
||||||
error (_("Window \"%s\" is not visible"), arg);
|
win_info = tui_prev_win (tui_win_with_focus ());
|
||||||
|
|
||||||
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 ());
|
|
||||||
}
|
|
||||||
else
|
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
|
static void
|
||||||
@ -875,66 +870,59 @@ tui_set_win_height_command (const char *arg, int from_tty)
|
|||||||
{
|
{
|
||||||
/* Make sure the curses mode is enabled. */
|
/* Make sure the curses mode is enabled. */
|
||||||
tui_enable ();
|
tui_enable ();
|
||||||
if (arg != NULL)
|
if (arg == NULL)
|
||||||
|
error_no_arg (_("name of window"));
|
||||||
|
|
||||||
|
const char *buf = arg;
|
||||||
|
const char *buf_ptr = buf;
|
||||||
|
int new_height;
|
||||||
|
struct tui_win_info *win_info;
|
||||||
|
|
||||||
|
buf_ptr = skip_to_space (buf_ptr);
|
||||||
|
|
||||||
|
/* Validate the window name. */
|
||||||
|
gdb::string_view wname (buf, buf_ptr - buf);
|
||||||
|
win_info = tui_partial_win_by_name (wname);
|
||||||
|
|
||||||
|
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')
|
||||||
{
|
{
|
||||||
const char *buf = arg;
|
bool negate = false;
|
||||||
const char *buf_ptr = buf;
|
bool fixed_size = true;
|
||||||
int new_height;
|
int input_no;;
|
||||||
struct tui_win_info *win_info;
|
|
||||||
|
|
||||||
buf_ptr = strchr (buf_ptr, ' ');
|
if (*buf_ptr == '+' || *buf_ptr == '-')
|
||||||
if (buf_ptr != NULL)
|
|
||||||
{
|
{
|
||||||
/* Validate the window name. */
|
if (*buf_ptr == '-')
|
||||||
gdb::string_view wname (buf, buf_ptr - buf);
|
negate = true;
|
||||||
win_info = tui_partial_win_by_name (wname);
|
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;
|
||||||
|
|
||||||
if (win_info == NULL)
|
/* Now change the window's height, and adjust
|
||||||
error (_("Unrecognized window name \"%s\""), arg);
|
all other windows around it. */
|
||||||
if (!win_info->is_visible ())
|
tui_adjust_window_height (win_info, new_height);
|
||||||
error (_("Window \"%s\" is not visible"), arg);
|
tui_update_gdb_sizes ();
|
||||||
|
|
||||||
/* 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
|
|
||||||
warning (_("Invalid window height specified.\n%s"),
|
|
||||||
WIN_HEIGHT_USAGE);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
printf_filtered (WIN_HEIGHT_USAGE);
|
error (_("Invalid window height specified"));
|
||||||
}
|
}
|
||||||
else
|
|
||||||
printf_filtered (WIN_HEIGHT_USAGE);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* See tui-data.h. */
|
/* See tui-data.h. */
|
||||||
@ -1041,25 +1029,17 @@ Usage: tabset N"));
|
|||||||
deprecate_cmd (cmd, "set tui tab-width");
|
deprecate_cmd (cmd, "set tui tab-width");
|
||||||
|
|
||||||
cmd = add_com ("winheight", class_tui, tui_set_win_height_command, _("\
|
cmd = add_com ("winheight", class_tui, tui_set_win_height_command, _("\
|
||||||
Set or modify the height of a specified window.\n"
|
Set or modify the height of a specified window.\n\
|
||||||
WIN_HEIGHT_USAGE
|
Usage: winheight WINDOW-NAME [+ | -] NUM-LINES\n\
|
||||||
"Window names are:\n\
|
Use \"info win\" to see the names of the windows currently being displayed."));
|
||||||
src : the source window\n\
|
|
||||||
cmd : the command window\n\
|
|
||||||
asm : the disassembly window\n\
|
|
||||||
regs : the register display"));
|
|
||||||
add_com_alias ("wh", "winheight", class_tui, 0);
|
add_com_alias ("wh", "winheight", class_tui, 0);
|
||||||
set_cmd_completer (cmd, winheight_completer);
|
set_cmd_completer (cmd, winheight_completer);
|
||||||
add_info ("win", tui_all_windows_info,
|
add_info ("win", tui_all_windows_info,
|
||||||
_("List of all displayed windows."));
|
_("List of all displayed windows."));
|
||||||
cmd = add_com ("focus", class_tui, tui_set_focus_command, _("\
|
cmd = add_com ("focus", class_tui, tui_set_focus_command, _("\
|
||||||
Set focus to named window or next/prev window.\n"
|
Set focus to named window or next/prev window.\n\
|
||||||
FOCUS_USAGE
|
Usage: focus [WINDOW-NAME | next | prev]\n\
|
||||||
"Valid Window names are:\n\
|
Use \"info win\" to see the names of the windows currently being displayed."));
|
||||||
src : the source window\n\
|
|
||||||
asm : the disassembly window\n\
|
|
||||||
regs : the register display\n\
|
|
||||||
cmd : the command window"));
|
|
||||||
add_com_alias ("fs", "focus", class_tui, 0);
|
add_com_alias ("fs", "focus", class_tui, 0);
|
||||||
set_cmd_completer (cmd, focus_completer);
|
set_cmd_completer (cmd, focus_completer);
|
||||||
add_com ("+", class_tui, tui_scroll_forward_command, _("\
|
add_com ("+", class_tui, tui_scroll_forward_command, _("\
|
||||||
|
Reference in New Issue
Block a user