[gdb/build] Remove dependency on _rl_term_autowrap
Commit deb1ba4e38
("[gdb/tui] Fix TUI resizing for TERM=ansi") introduced a
dependency on readline private variable _rl_term_autowrap.
There is precedent for this, but it's something we want to get rid of
(PR build/10723).
Remove the dependency on _rl_term_autowrap, and instead calculate
readline_hidden_cols by comparing the environment variable COLS with cols as
returned by rl_get_screen_size.
Tested on x86_64-linux.
Bug: https://sourceware.org/bugzilla/show_bug.cgi?id=10723
This commit is contained in:
parent
86a6f9a9fb
commit
14e61dbbbb
1 changed files with 11 additions and 8 deletions
19
gdb/utils.c
19
gdb/utils.c
|
@ -1110,10 +1110,6 @@ static bool filter_initialized = false;
|
|||
|
||||
|
||||
|
||||
/* See readline's rlprivate.h. */
|
||||
|
||||
extern "C" int _rl_term_autowrap;
|
||||
|
||||
/* See utils.h. */
|
||||
|
||||
int readline_hidden_cols = 0;
|
||||
|
@ -1154,10 +1150,17 @@ init_page_info (void)
|
|||
(because rl_change_environment defaults to 1)
|
||||
- may report one less than the detected screen width in
|
||||
rl_get_screen_size (when _rl_term_autowrap == 0).
|
||||
We could set readline_hidden_cols by comparing COLUMNS to cols as
|
||||
returned by rl_get_screen_size, but instead simply use
|
||||
_rl_term_autowrap. */
|
||||
readline_hidden_cols = _rl_term_autowrap ? 0 : 1;
|
||||
We could use _rl_term_autowrap, but we want to avoid introducing
|
||||
another dependency on readline private variables, so set
|
||||
readline_hidden_cols by comparing COLUMNS to cols as returned by
|
||||
rl_get_screen_size. */
|
||||
const char *columns_env_str = getenv ("COLUMNS");
|
||||
gdb_assert (columns_env_str != nullptr);
|
||||
int columns_env_val = atoi (columns_env_str);
|
||||
gdb_assert (columns_env_val != 0);
|
||||
readline_hidden_cols = columns_env_val - cols;
|
||||
gdb_assert (readline_hidden_cols >= 0);
|
||||
gdb_assert (readline_hidden_cols <= 1);
|
||||
|
||||
lines_per_page = rows;
|
||||
chars_per_line = cols + readline_hidden_cols;
|
||||
|
|
Loading…
Add table
Reference in a new issue