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:
Jan Vrany 2020-10-09 06:47:30 +01:00
parent b270168504
commit f5c4b229c6
4 changed files with 30 additions and 2 deletions

View File

@ -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>
* cli/cli-cmds.c (print_disassembly): Style function name and

View File

@ -446,6 +446,7 @@ init_source_path (void)
static void
directory_command (const char *dirname, int from_tty)
{
bool value_changed = false;
dont_repeat ();
/* FIXME, this goes to "delete dir"... */
if (dirname == 0)
@ -454,15 +455,21 @@ directory_command (const char *dirname, int from_tty)
{
xfree (source_path);
init_source_path ();
value_changed = true;
}
}
else
{
mod_path (dirname, &source_path);
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.

View File

@ -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>
* gdb.base/style.exp: Check that "main"'s name is styled.

View File

@ -102,6 +102,17 @@ proc test_command_param_changed { } {
".*=cmd-param-changed,param=\"check type\",value=\"on\".*\\^done" \
"\"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
}
}