mirror of
https://github.com/espressif/binutils-gdb.git
synced 2025-06-07 07:58:54 +08:00
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.
This commit is contained in:
@ -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>
|
2020-01-03 Hannes Domani <ssbssa@yahoo.de>
|
||||||
|
|
||||||
* solib-target.c (struct lm_info_target):
|
* 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);
|
print_sys_errmsg (new_datadir, save_errno);
|
||||||
}
|
}
|
||||||
else if (!S_ISDIR (st.st_mode))
|
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 ();
|
gdb_datadir = gdb_realpath (new_datadir).get ();
|
||||||
|
|
||||||
|
@ -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>
|
2019-12-29 Bernd Edlinger <bernd.edlinger@hotmail.de>
|
||||||
|
|
||||||
* gdb.base/line65535.exp: New file.
|
* gdb.base/line65535.exp: New file.
|
||||||
|
@ -139,4 +139,10 @@ save_vars { env(TERM) } {
|
|||||||
|
|
||||||
gdb_test "show logging file" \
|
gdb_test "show logging file" \
|
||||||
"The current logfile is \"[style .*? 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]\"\\..*"
|
||||||
}
|
}
|
||||||
|
16
gdb/top.c
16
gdb/top.c
@ -55,6 +55,7 @@
|
|||||||
#include "gdbsupport/scope-exit.h"
|
#include "gdbsupport/scope-exit.h"
|
||||||
#include "gdbarch.h"
|
#include "gdbarch.h"
|
||||||
#include "gdbsupport/pathstuff.h"
|
#include "gdbsupport/pathstuff.h"
|
||||||
|
#include "cli/cli-style.h"
|
||||||
|
|
||||||
/* readline include files. */
|
/* readline include files. */
|
||||||
#include "readline/readline.h"
|
#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)
|
struct cmd_list_element *c, const char *value)
|
||||||
{
|
{
|
||||||
fprintf_filtered (file, _("The filename in which to record "
|
fprintf_filtered (file, _("The filename in which to record "
|
||||||
"the command history is \"%s\".\n"),
|
"the command history is \"%ps\".\n"),
|
||||||
value);
|
styled_string (file_name_style.style (), value));
|
||||||
}
|
}
|
||||||
|
|
||||||
/* This is like readline(), but it has some gdb-specific behavior.
|
/* This is like readline(), but it has some gdb-specific behavior.
|
||||||
@ -1192,8 +1193,10 @@ gdb_safe_append_history (void)
|
|||||||
saved_errno = errno;
|
saved_errno = errno;
|
||||||
if (ret < 0 && saved_errno != ENOENT)
|
if (ret < 0 && saved_errno != ENOENT)
|
||||||
{
|
{
|
||||||
warning (_("Could not rename %s to %s: %s"),
|
warning (_("Could not rename %ps to %ps: %s"),
|
||||||
history_filename, local_history_filename.c_str (),
|
styled_string (file_name_style.style (), history_filename),
|
||||||
|
styled_string (file_name_style.style (),
|
||||||
|
local_history_filename.c_str ()),
|
||||||
safe_strerror (saved_errno));
|
safe_strerror (saved_errno));
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
@ -2094,8 +2097,9 @@ static void
|
|||||||
show_gdb_datadir (struct ui_file *file, int from_tty,
|
show_gdb_datadir (struct ui_file *file, int from_tty,
|
||||||
struct cmd_list_element *c, const char *value)
|
struct cmd_list_element *c, const char *value)
|
||||||
{
|
{
|
||||||
fprintf_filtered (file, _("GDB's data directory is \"%s\".\n"),
|
fprintf_filtered (file, _("GDB's data directory is \"%ps\".\n"),
|
||||||
gdb_datadir.c_str ());
|
styled_string (file_name_style.style (),
|
||||||
|
gdb_datadir.c_str ()));
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
@ -302,7 +302,7 @@ stdio_file::isatty ()
|
|||||||
bool
|
bool
|
||||||
stdio_file::can_emit_style_escape ()
|
stdio_file::can_emit_style_escape ()
|
||||||
{
|
{
|
||||||
return (this == gdb_stdout
|
return ((this == gdb_stdout || this == gdb_stderr)
|
||||||
&& this->isatty ()
|
&& this->isatty ()
|
||||||
&& term_cli_styling ());
|
&& term_cli_styling ());
|
||||||
}
|
}
|
||||||
@ -391,7 +391,7 @@ tee_file::term_out ()
|
|||||||
bool
|
bool
|
||||||
tee_file::can_emit_style_escape ()
|
tee_file::can_emit_style_escape ()
|
||||||
{
|
{
|
||||||
return (this == gdb_stdout
|
return ((this == gdb_stdout || this == gdb_stderr)
|
||||||
&& m_one->term_out ()
|
&& m_one->term_out ()
|
||||||
&& term_cli_styling ());
|
&& term_cli_styling ());
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user