summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEli Zaretskii <eliz@gnu.org>2018-11-19 20:12:04 +0200
committerEli Zaretskii <eliz@gnu.org>2018-11-19 20:12:04 +0200
commitea1a0149825048da940365b79948e71cfc366385 (patch)
tree020ac4f48ba04c0ab03c13e5e520a49b8ef46445
parentdf7ed10e4f15d3ea8b4426f7721bafe60bf8deeb (diff)
downloademacs-ea1a0149825048da940365b79948e71cfc366385.tar.gz
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)
-rw-r--r--src/window.c20
1 files changed, 8 insertions, 12 deletions
diff --git a/src/window.c b/src/window.c
index 9026a7b5f2a..9cde2c5ecc4 100644
--- a/src/window.c
+++ b/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;
}