Notify observers that directories have changed when using "directory" CLI command
gdb/ChangeLog * source.c (directory_command): Notify observers that "directories" parameter has changed. gdb/testsuite/ChangeLog * gdb.mi/mi-cmd-param-changed.exp: Check that notification is is emmited for both 'set directories' and 'directory' commands.
This commit is contained in:
parent
b270168504
commit
f5c4b229c6
4 changed files with 30 additions and 2 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2020-10-09 Jan Vrany <jan.vrany@labware.com>
|
||||||
|
|
||||||
|
* source.c (directory_command): Notify observers that "directories"
|
||||||
|
parameter has changed.
|
||||||
|
|
||||||
2020-10-08 Tom Tromey <tom@tromey.com>
|
2020-10-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* cli/cli-cmds.c (print_disassembly): Style function name and
|
* cli/cli-cmds.c (print_disassembly): Style function name and
|
||||||
|
|
11
gdb/source.c
11
gdb/source.c
|
@ -446,6 +446,7 @@ init_source_path (void)
|
||||||
static void
|
static void
|
||||||
directory_command (const char *dirname, int from_tty)
|
directory_command (const char *dirname, int from_tty)
|
||||||
{
|
{
|
||||||
|
bool value_changed = false;
|
||||||
dont_repeat ();
|
dont_repeat ();
|
||||||
/* FIXME, this goes to "delete dir"... */
|
/* FIXME, this goes to "delete dir"... */
|
||||||
if (dirname == 0)
|
if (dirname == 0)
|
||||||
|
@ -454,15 +455,21 @@ directory_command (const char *dirname, int from_tty)
|
||||||
{
|
{
|
||||||
xfree (source_path);
|
xfree (source_path);
|
||||||
init_source_path ();
|
init_source_path ();
|
||||||
|
value_changed = true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
mod_path (dirname, &source_path);
|
mod_path (dirname, &source_path);
|
||||||
forget_cached_source_info ();
|
forget_cached_source_info ();
|
||||||
|
value_changed = true;
|
||||||
|
}
|
||||||
|
if (value_changed)
|
||||||
|
{
|
||||||
|
gdb::observers::command_param_changed.notify ("directories", source_path);
|
||||||
|
if (from_tty)
|
||||||
|
show_directories_1 ((char *) 0, from_tty);
|
||||||
}
|
}
|
||||||
if (from_tty)
|
|
||||||
show_directories_1 ((char *) 0, from_tty);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Add a path given with the -d command line switch.
|
/* Add a path given with the -d command line switch.
|
||||||
|
|
|
@ -1,3 +1,8 @@
|
||||||
|
2020-10-09 Jan Vrany <jan.vrany@labware.com>
|
||||||
|
|
||||||
|
* gdb.mi/mi-cmd-param-changed.exp: Check that notification is
|
||||||
|
is emmited for both 'set directories' and 'directory' commands.
|
||||||
|
|
||||||
2020-10-08 Tom Tromey <tom@tromey.com>
|
2020-10-08 Tom Tromey <tom@tromey.com>
|
||||||
|
|
||||||
* gdb.base/style.exp: Check that "main"'s name is styled.
|
* gdb.base/style.exp: Check that "main"'s name is styled.
|
||||||
|
|
|
@ -102,6 +102,17 @@ proc test_command_param_changed { } {
|
||||||
".*=cmd-param-changed,param=\"check type\",value=\"on\".*\\^done" \
|
".*=cmd-param-changed,param=\"check type\",value=\"on\".*\\^done" \
|
||||||
"\"set ch type on\""
|
"\"set ch type on\""
|
||||||
|
|
||||||
|
# Notification is emitted for both 'set directories' and 'directory'.
|
||||||
|
mi_gdb_test "set directories \$cdir:\$cwd:/tmp" \
|
||||||
|
".*=cmd-param-changed,param=\"directories\",value=\".*\".*\\^done" \
|
||||||
|
"\"set directories \$cdir:\$cwd:/tmp\""
|
||||||
|
mi_gdb_test "directory /usr/src/gdb" \
|
||||||
|
".*=cmd-param-changed,param=\"directories\",value=\".*\".*\\^done" \
|
||||||
|
"\"directory /usr/src/gdb\""
|
||||||
|
mi_gdb_test "directory" \
|
||||||
|
".*=cmd-param-changed,param=\"directories\",value=\".*\".*\\^done" \
|
||||||
|
"\"directory\""
|
||||||
|
|
||||||
mi_gdb_exit
|
mi_gdb_exit
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue