From e2c04ee000796100890bd176eeb2412f722b7e3f Mon Sep 17 00:00:00 2001 From: Tom Tromey Date: Mon, 12 Jun 2023 17:10:14 -0600 Subject: [PATCH] Style history variable output 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 | 4 +++- gdb/testsuite/gdb.base/style.exp | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/gdb/printcmd.c b/gdb/printcmd.c index 5e9c8a5b222..b9b6a3b8648 100644 --- a/gdb/printcmd.c +++ b/gdb/printcmd.c @@ -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 (); diff --git a/gdb/testsuite/gdb.base/style.exp b/gdb/testsuite/gdb.base/style.exp index 7ee1b44177f..46d0d9ebe8c 100644 --- a/gdb/testsuite/gdb.base/style.exp +++ b/gdb/testsuite/gdb.base/style.exp @@ -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 "] -- 2.30.2