Fix window scrolling on TTY frames when there's no mode line
* src/window.c (window_internal_height): Remove tests for next, prev, and parent pointers, as they are unrelated to whether a window has a mode line. (Bug#33363)
This commit is contained in:
parent
df7ed10e4f
commit
ea1a014982
1 changed files with 8 additions and 12 deletions
20
src/window.c
20
src/window.c
|
@ -4934,25 +4934,21 @@ window_wants_header_line (struct window *w)
|
|||
: 0);
|
||||
}
|
||||
|
||||
/* Return number of lines of text (not counting mode lines) in W. */
|
||||
/* Return number of lines of text in window W, not counting the mode
|
||||
line and header line, if any. Do NOT use this for windows on GUI
|
||||
frames; use window_body_height instead. This function is only for
|
||||
windows on TTY frames, where it is much more efficient. */
|
||||
|
||||
int
|
||||
window_internal_height (struct window *w)
|
||||
{
|
||||
int ht = w->total_lines;
|
||||
|
||||
if (!MINI_WINDOW_P (w))
|
||||
{
|
||||
if (!NILP (w->parent)
|
||||
|| WINDOWP (w->contents)
|
||||
|| !NILP (w->next)
|
||||
|| !NILP (w->prev)
|
||||
|| window_wants_mode_line (w))
|
||||
--ht;
|
||||
if (window_wants_mode_line (w))
|
||||
--ht;
|
||||
|
||||
if (window_wants_header_line (w))
|
||||
--ht;
|
||||
}
|
||||
if (window_wants_header_line (w))
|
||||
--ht;
|
||||
|
||||
return ht;
|
||||
}
|
||||
|
|
Loading…
Add table
Reference in a new issue