diff options
author | Eli Zaretskii <eliz@gnu.org> | 2018-11-19 20:12:04 +0200 |
---|---|---|
committer | Eli Zaretskii <eliz@gnu.org> | 2018-11-19 20:12:04 +0200 |
commit | ea1a0149825048da940365b79948e71cfc366385 (patch) | |
tree | 020ac4f48ba04c0ab03c13e5e520a49b8ef46445 | |
parent | df7ed10e4f15d3ea8b4426f7721bafe60bf8deeb (diff) | |
download | emacs-ea1a0149825048da940365b79948e71cfc366385.tar.gz emacs-ea1a0149825048da940365b79948e71cfc366385.tar.bz2 emacs-ea1a0149825048da940365b79948e71cfc366385.zip |
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.c | 20 |
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; } |