Change TUI window commands to be case-sensitive
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-20 Tom Tromey <tom@tromey.com> * NEWS: Mention case-sensitivity of TUI commands. * 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.
This commit is contained in:
parent
f074b67ec8
commit
78e8cb91cd
@ -1,3 +1,10 @@
|
||||
2019-09-20 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* NEWS: Mention case-sensitivity of TUI commands.
|
||||
* 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.
|
||||
|
||||
2019-09-20 Tom Tromey <tom@tromey.com>
|
||||
|
||||
* tui/tui-source.c (tui_source_window::set_contents): Use
|
||||
|
3
gdb/NEWS
3
gdb/NEWS
@ -186,6 +186,9 @@ maint show test-options-completion-result
|
||||
Commands used by the testsuite to validate the command options
|
||||
framework.
|
||||
|
||||
focus, winheight, +, -, >, <
|
||||
These commands are now case-sensitive.
|
||||
|
||||
* New command options, command completion
|
||||
|
||||
GDB now has a standard infrastructure to support dash-style command
|
||||
|
@ -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);
|
||||
|
@ -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);
|
||||
*win_to_scroll = tui_partial_win_by_name (wname);
|
||||
|
||||
wname = buf_ptr;
|
||||
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 ());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user