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);
|
: 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
|
int
|
||||||
window_internal_height (struct window *w)
|
window_internal_height (struct window *w)
|
||||||
{
|
{
|
||||||
int ht = w->total_lines;
|
int ht = w->total_lines;
|
||||||
|
|
||||||
if (!MINI_WINDOW_P (w))
|
if (window_wants_mode_line (w))
|
||||||
{
|
--ht;
|
||||||
if (!NILP (w->parent)
|
|
||||||
|| WINDOWP (w->contents)
|
|
||||||
|| !NILP (w->next)
|
|
||||||
|| !NILP (w->prev)
|
|
||||||
|| window_wants_mode_line (w))
|
|
||||||
--ht;
|
|
||||||
|
|
||||||
if (window_wants_header_line (w))
|
if (window_wants_header_line (w))
|
||||||
--ht;
|
--ht;
|
||||||
}
|
|
||||||
|
|
||||||
return ht;
|
return ht;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Reference in a new issue