Style history variable output
authorTom Tromey <tom@tromey.com>
Mon, 12 Jun 2023 23:10:14 +0000 (17:10 -0600)
committerTom Tromey <tom@tromey.com>
Sun, 22 Oct 2023 15:03:42 +0000 (09:03 -0600)
When printing a value, I think the history reference -- the "$1" in
the output -- should be styled using the "variable" style.  This patch
implements this.

gdb/printcmd.c
gdb/testsuite/gdb.base/style.exp

index 5e9c8a5b222c370ca755774bb98b838dad593881..b9b6a3b8648bebfb5349d963a8a4ef99760ae619 100644 (file)
@@ -1254,7 +1254,9 @@ print_value (value *val, const value_print_options &opts)
 
   annotate_value_history_begin (histindex, val->type ());
 
-  gdb_printf ("$%d = ", histindex);
+  std::string idx = string_printf ("$%d", histindex);
+  gdb_printf ("%ps = ", styled_string (variable_name_style.style (),
+                                      idx.c_str ()));
 
   annotate_value_history_value ();
 
index 7ee1b44177f756a86609497e4137d8c8e11a6838..46d0d9ebe8cfdcae1b3228d65271f148fd24785c 100644 (file)
@@ -206,8 +206,9 @@ proc run_style_tests { } {
        set sfield [limited_style string_field variable]
        set efield [limited_style e_field variable]
        set evalue [limited_style VALUE_TWO variable]
+       set lhs [limited_style "\\\$$decimal" variable]
        gdb_test "print struct_value" \
-           "\{$ifield = 23,.*$sfield = .*,.*$efield = $evalue.*"
+           "$lhs = \{$ifield = 23,.*$sfield = .*,.*$efield = $evalue.*"
 
        set ffield [limited_style field variable]
        set cstart [string_to_regexp "/* XXX "]