diff options
author | Philippe Waroquiers <philippe.waroquiers@skynet.be> | 2019-12-15 17:58:16 +0100 |
---|---|---|
committer | Philippe Waroquiers <philippe.waroquiers@skynet.be> | 2020-01-03 21:13:21 +0100 |
commit | 6ec1d75e05a646eb602de4034366ec5fec7545ce (patch) | |
tree | 69c29a3159e27912cd1faa5d665543b37ff07c36 | |
parent | 44f81a76542dbeada2541a05de191ae0ac0fbc2c (diff) | |
download | gdb-6ec1d75e05a646eb602de4034366ec5fec7545ce.zip gdb-6ec1d75e05a646eb602de4034366ec5fec7545ce.tar.gz gdb-6ec1d75e05a646eb602de4034366ec5fec7545ce.tar.bz2 |
Ensure GDB warnings are styled.
While handling the comments of Tom related to
[RFC] Have an option to tell GDB to detect and possibly handle mismatched exec-files.
https://sourceware.org/ml/gdb-patches/2019-12/msg00621.html
I saw that GDB warnings are produced ignoring the given styles.
This patch:
* ensures that style markups are properly handled by "warning".
* changes 'set/show data-directory' so that file style is used
in warnings and in 'show message'
* changes all other messages in top.c to use file style when appropriate.
* Uses the above data-directory changes in gdb.base/style.exp
2020-01-03 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* ui-file.c (stdio_file::can_emit_style_escape)
(tee_file::can_emit_style_escape): Ensure style is used also on
gdb_stderr when gdb_stderr is a tty supporting styling, similarly
to gdb_stdout.
* main.c (set_gdb_data_directory): Use file style to output the
warning that the given pathname is not a directory.
* top.c (show_history_filename, gdb_safe_append_history)
(show_gdb_datadir): Use file style.
2020-01-03 Philippe Waroquiers <philippe.waroquiers@skynet.be>
* gdb.base/style.exp: Test that warnings are styled.
-rw-r--r-- | gdb/ChangeLog | 11 | ||||
-rw-r--r-- | gdb/main.c | 3 | ||||
-rw-r--r-- | gdb/testsuite/ChangeLog | 4 | ||||
-rw-r--r-- | gdb/testsuite/gdb.base/style.exp | 6 | ||||
-rw-r--r-- | gdb/top.c | 16 | ||||
-rw-r--r-- | gdb/ui-file.c | 4 |
6 files changed, 35 insertions, 9 deletions
diff --git a/gdb/ChangeLog b/gdb/ChangeLog index 3b26a31..7bd8897 100644 --- a/gdb/ChangeLog +++ b/gdb/ChangeLog @@ -1,3 +1,14 @@ +2020-01-03 Philippe Waroquiers <philippe.waroquiers@skynet.be> + + * ui-file.c (stdio_file::can_emit_style_escape) + (tee_file::can_emit_style_escape): Ensure style is used also on + gdb_stderr when gdb_stderr is a tty supporting styling, similarly + to gdb_stdout. + * main.c (set_gdb_data_directory): Use file style to output the + warning that the given pathname is not a directory. + * top.c (show_history_filename, gdb_safe_append_history) + (show_gdb_datadir): Use file style. + 2020-01-03 Hannes Domani <ssbssa@yahoo.de> * solib-target.c (struct lm_info_target): @@ -124,7 +124,8 @@ set_gdb_data_directory (const char *new_datadir) print_sys_errmsg (new_datadir, save_errno); } else if (!S_ISDIR (st.st_mode)) - warning (_("%s is not a directory."), new_datadir); + warning (_("%ps is not a directory."), + styled_string (file_name_style.style (), new_datadir)); gdb_datadir = gdb_realpath (new_datadir).get (); diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog index f7835f3..78f9700 100644 --- a/gdb/testsuite/ChangeLog +++ b/gdb/testsuite/ChangeLog @@ -1,3 +1,7 @@ +2020-01-03 Philippe Waroquiers <philippe.waroquiers@skynet.be> + + * gdb.base/style.exp: Test that warnings are styled. + 2019-12-29 Bernd Edlinger <bernd.edlinger@hotmail.de> * gdb.base/line65535.exp: New file. diff --git a/gdb/testsuite/gdb.base/style.exp b/gdb/testsuite/gdb.base/style.exp index 17b9538..0457c3d 100644 --- a/gdb/testsuite/gdb.base/style.exp +++ b/gdb/testsuite/gdb.base/style.exp @@ -139,4 +139,10 @@ save_vars { env(TERM) } { gdb_test "show logging file" \ "The current logfile is \"[style .*? file]\"\\..*" + + # Check warnings are styled by setting a rubbish data directory. + gdb_test "set data-directory Makefile" \ + "warning: [style .*? file] is not a directory\\..*" + gdb_test "show data-directory" \ + "GDB's data directory is \"[style .*? file]\"\\..*" } @@ -55,6 +55,7 @@ #include "gdbsupport/scope-exit.h" #include "gdbarch.h" #include "gdbsupport/pathstuff.h" +#include "cli/cli-style.h" /* readline include files. */ #include "readline/readline.h" @@ -924,8 +925,8 @@ show_history_filename (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) { fprintf_filtered (file, _("The filename in which to record " - "the command history is \"%s\".\n"), - value); + "the command history is \"%ps\".\n"), + styled_string (file_name_style.style (), value)); } /* This is like readline(), but it has some gdb-specific behavior. @@ -1192,8 +1193,10 @@ gdb_safe_append_history (void) saved_errno = errno; if (ret < 0 && saved_errno != ENOENT) { - warning (_("Could not rename %s to %s: %s"), - history_filename, local_history_filename.c_str (), + warning (_("Could not rename %ps to %ps: %s"), + styled_string (file_name_style.style (), history_filename), + styled_string (file_name_style.style (), + local_history_filename.c_str ()), safe_strerror (saved_errno)); } else @@ -2094,8 +2097,9 @@ static void show_gdb_datadir (struct ui_file *file, int from_tty, struct cmd_list_element *c, const char *value) { - fprintf_filtered (file, _("GDB's data directory is \"%s\".\n"), - gdb_datadir.c_str ()); + fprintf_filtered (file, _("GDB's data directory is \"%ps\".\n"), + styled_string (file_name_style.style (), + gdb_datadir.c_str ())); } static void diff --git a/gdb/ui-file.c b/gdb/ui-file.c index 10192a9..af128b0 100644 --- a/gdb/ui-file.c +++ b/gdb/ui-file.c @@ -302,7 +302,7 @@ stdio_file::isatty () bool stdio_file::can_emit_style_escape () { - return (this == gdb_stdout + return ((this == gdb_stdout || this == gdb_stderr) && this->isatty () && term_cli_styling ()); } @@ -391,7 +391,7 @@ tee_file::term_out () bool tee_file::can_emit_style_escape () { - return (this == gdb_stdout + return ((this == gdb_stdout || this == gdb_stderr) && m_one->term_out () && term_cli_styling ()); } |