mirror of
https://sourceware.org/git/binutils-gdb.git
synced 2025-03-25 14:01:00 +08:00
gdb: make cli_styling static within cli/cli-style.c
The cli_styling variable is controlled by 'set style enabled on|off' user setting, and is currently globally visible. In a couple of places we access this variable directly, though in ui-file.c the accesses are all performed through term_cli_styling(), which is a function that wraps checking cli_styling along with a check that GDB's terminal supports styling. In a future commit, I'd plan to add a new parameter to gdb.execute() which will allow styling to be temporarily suppressed. In an earlier proposal, I made gdb.execute() disable styling by changing the value of cli_styling, however, this approach has a problem. If gdb.execute() is used to run 'show style enabled', the changing cli_styling will change what is printed. Similarly, if gdb.execute() is used to execute 'set style enabled on|off' then having gdb.execute() save and restore the value of cli_styling will undo the adjustment from 'set style enabled ...'. So what I plan to do in the future, is add a new control flag which can be used to temporarily disable styling. To make this new control variable easier to add, lets force everyone to call term_cli_styling() to check if styling is enabled or not. To force everyone to use term_cli_styling() this commit makes cli_styling static within gdb/cli/cli-style.c. Approved-By: Tom Tromey <tom@tromey.com>
This commit is contained in:
parent
050c30f4db
commit
a6924ac89d
@ -27,9 +27,9 @@
|
||||
/* True if styling is enabled. */
|
||||
|
||||
#if defined (__MSDOS__)
|
||||
bool cli_styling = false;
|
||||
static bool cli_styling = false;
|
||||
#else
|
||||
bool cli_styling = true;
|
||||
static bool cli_styling = true;
|
||||
#endif
|
||||
|
||||
/* True if source styling is enabled. Note that this is only
|
||||
@ -80,6 +80,22 @@ terminal_supports_styling ()
|
||||
|
||||
/* See cli/cli-style.h. */
|
||||
|
||||
void
|
||||
disable_cli_styling ()
|
||||
{
|
||||
cli_styling = false;
|
||||
}
|
||||
|
||||
/* See cli/cli-style.h. */
|
||||
|
||||
bool
|
||||
term_cli_styling ()
|
||||
{
|
||||
return cli_styling;
|
||||
}
|
||||
|
||||
/* See cli/cli-style.h. */
|
||||
|
||||
void
|
||||
disable_styling_from_environment ()
|
||||
{
|
||||
|
@ -157,13 +157,18 @@ extern bool source_styling;
|
||||
/* True if disassembler styling is enabled. */
|
||||
extern bool disassembler_styling;
|
||||
|
||||
/* True if styling is enabled. */
|
||||
extern bool cli_styling;
|
||||
|
||||
/* Check for environment variables that indicate styling should start as
|
||||
disabled. If any are found then disable styling. Styling is never
|
||||
enabled by this call. If styling was already disabled then it remains
|
||||
disabled after this call. */
|
||||
extern void disable_styling_from_environment ();
|
||||
|
||||
/* Equivalent to 'set style enabled off'. Can be used during GDB's start
|
||||
up if a command line option, or environment variable, indicates that
|
||||
styling should be turned off. */
|
||||
extern void disable_cli_styling ();
|
||||
|
||||
/* Return true styled output is currently enabled. */
|
||||
extern bool term_cli_styling ();
|
||||
|
||||
#endif /* GDB_CLI_CLI_STYLE_H */
|
||||
|
@ -1027,7 +1027,7 @@ captured_main_1 (struct captured_main_args *context)
|
||||
quiet = 1;
|
||||
|
||||
/* Disable all output styling when running in batch mode. */
|
||||
cli_styling = false;
|
||||
disable_cli_styling ();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -80,7 +80,7 @@ box_win (struct tui_win_info *win_info,
|
||||
|
||||
/* tui_apply_style resets the style entirely, so be sure to call it
|
||||
before applying ATTRS. */
|
||||
if (cli_styling)
|
||||
if (term_cli_styling ())
|
||||
tui_apply_style (win, (highlight_flag
|
||||
? tui_active_border_style.style ()
|
||||
: tui_border_style.style ()));
|
||||
|
@ -180,16 +180,6 @@ null_file::write_async_safe (const char *buf, long sizeof_buf)
|
||||
|
||||
|
||||
|
||||
/* Return true if styling is currently enabled. */
|
||||
|
||||
static bool
|
||||
term_cli_styling ()
|
||||
{
|
||||
return cli_styling;
|
||||
}
|
||||
|
||||
|
||||
|
||||
string_file::~string_file ()
|
||||
{}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user