[PATCH] Notify observers that directories have changed when using "directory" CLI command

Jan Vrany jan.vrany@labware.com
Thu Oct 1 12:52:47 GMT 2020


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.
---
 gdb/ChangeLog                                 | 5 +++++
 gdb/source.c                                  | 1 +
 gdb/testsuite/ChangeLog                       | 5 +++++
 gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp | 8 ++++++++
 4 files changed, 19 insertions(+)

diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index 9c802c57ef..259cdd1981 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,8 @@
+2020-10-01  Jan Vrany  <jan.vrany@labware.com>
+
+	* source.c (directory_command): Notify observers that "directories"
+	parameter has changed.
+
 2020-09-29  Tom Tromey  <tom@tromey.com>
 
 	* dwarf2/read.c (lookup_dwo_id, get_type_unit_group)
diff --git a/gdb/source.c b/gdb/source.c
index 0c2b5a4f83..131aebb09b 100644
--- a/gdb/source.c
+++ b/gdb/source.c
@@ -460,6 +460,7 @@ directory_command (const char *dirname, int from_tty)
     {
       mod_path (dirname, &source_path);
       forget_cached_source_info ();
+      gdb::observers::command_param_changed.notify ("directories", source_path);
     }
   if (from_tty)
     show_directories_1 ((char *) 0, from_tty);
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index 2046c9b8e6..f39c8eb7c7 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,8 @@
+2020-10-01  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-09-30  Gary Benson <gbenson@redhat.com>
 
 	* gdb.dwarf2/dw2-double-set-die-type.S (.Ldie_3e0):
diff --git a/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp b/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
index 031d396dba..78795dc293 100644
--- a/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
+++ b/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
@@ -102,6 +102,14 @@ 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\""
+	mi_gdb_test "directory /usr/src/gdb" \
+	    ".*=cmd-param-changed,param=\"directories\",value=\".*\".*\\^done" \
+	    "\"directory\""
+
 	mi_gdb_exit
     }
 }
-- 
2.28.0



More information about the Gdb-patches mailing list