unofficial mirror of bug-gnu-emacs@gnu.org 
 help / color / mirror / code / Atom feed
From: Alan Mackenzie <acm@muc.de>
To: Eli Zaretskii <eliz@gnu.org>
Cc: 51590@debbugs.gnu.org, juri@linkov.net
Subject: bug#51590: follow-mode is broken with header-line and tab-line
Date: Mon, 8 Nov 2021 17:59:44 +0000	[thread overview]
Message-ID: <YYllkK1NLWYJ00OB@ACM> (raw)
In-Reply-To: <83bl2xbhz1.fsf@gnu.org>

Hello, Eli and Martin.

On Sat, Nov 06, 2021 at 14:12:50 +0200, Eli Zaretskii wrote:
> > Date: Sat, 6 Nov 2021 11:50:48 +0000
> > Cc: juri@linkov.net, 51590@debbugs.gnu.org
> > From: Alan Mackenzie <acm@muc.de>

[ .... ]

> > OK.  But I think there's confusion in the manual and doc strings, and
> > even the code, and that it's not just me.

This confusion being the meanings of "window body" and "window text
area", in particular as to whether or not they include any header line or
tab line.

> _After_ my today's changes?  If so, please show where is the confusing
> text.

I've done a survey of window.c, keyboard.c, window.el for all occurrences
of "text area" and "body" in function names, doc strings, some comments,
and parameter names.  The source I've grepped is an almost up to date
copy of the emacs-28 branch.  The function name is at the left, followed
by annotations for text area and body.  "BIG" means the term includes the
header and tab lines, "small" means it does not, "?" means it is not
immediately clear, blank means it is irrelevant or not mentioned.

Function                       Text Area            Body
--------                       ---------            ----
Fwindow_body_width
Fwindow_body_height                small         (small)
Fwindow_old_body_pixel_width
Fwindow_old_body_pixel_height          ?
Fwindow_lines_pixel_dimensions                  confused.

Fwindow_text_height                small
Fset_window_fringes
window_body_height                                 small
window_body_width
window_change_record_windows                           ?

run_window_change_functions
Vwindow_size_change_functions
Vwindow_state_change_functions
Vwindow_state_change_hook
Vwindow_configuration_change_hook


make_lispy_position		  small
make_lispy_event                                       ?
read_key_sequence                 small
Fposn_at_x_y                        BIG


window-body-size                      ?
window-edges                          ?                ?
window-absolute-body-pixel-edges      ?                ?
window-largest-empty-rectangle        ?
window-preserve-size                                   ?

window-body-edges                                      ?
window-body-pixel-edges                                ?


It seems clear that, at least in the places where the meaning of "text
area" and "body" are clear, that they refer to the area which doesn't
include the header line and tab line.

Fposn_at_x_y stands out as the only function with BIG.  Maybe the picture
would change on examining the elisp manual.  Maybe some of the unclear
annotations would resolve to BIG, but that doesn't seem all that likely.

Given this, it seems it would be better to amend the documentation of
Fposn_at_x_y to refer to the "text area _plus_ any header line or tab
line".

-- 
Alan Mackenzie (Nuremberg, Germany).





  parent reply	other threads:[~2021-11-08 17:59 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-11-03 18:24 bug#51590: Tab-line breaks windows of follow-mode Juri Linkov
2021-11-03 18:35 ` Eli Zaretskii
2021-11-04 17:29   ` bug#51590: follow-mode is broken with header-line and tab-line Juri Linkov
2021-11-04 18:46     ` Eli Zaretskii
2021-11-04 19:06       ` Alan Mackenzie
2021-11-05 21:45       ` Alan Mackenzie
2021-11-06  7:00         ` Eli Zaretskii
2021-11-06 11:50           ` Alan Mackenzie
2021-11-06 12:12             ` Eli Zaretskii
2021-11-06 18:31               ` martin rudalics
2021-11-06 18:40                 ` Eli Zaretskii
2021-11-08 15:36                   ` martin rudalics
2021-11-08 17:32                     ` martin rudalics
2021-11-08 18:47                     ` Eli Zaretskii
2021-11-09 10:14                       ` martin rudalics
2021-11-06 18:44                 ` martin rudalics
2021-11-08 17:59               ` Alan Mackenzie [this message]
2021-11-08 18:23                 ` Eli Zaretskii
2021-11-09 10:12                   ` martin rudalics
2021-11-09 10:10                 ` martin rudalics
2021-11-04 18:52     ` martin rudalics
2021-11-07 12:48     ` Alan Mackenzie
2021-11-07 13:14       ` Eli Zaretskii
2021-11-07 14:28         ` Alan Mackenzie
2021-11-07 17:46       ` Juri Linkov
2021-11-07 19:44         ` Alan Mackenzie
2021-11-07 19:56           ` Juri Linkov
2021-11-08  7:13             ` Alan Mackenzie
2021-11-05  7:42 ` Stefan Kangas
2021-11-05  8:55   ` Juri Linkov
2021-11-05 10:15     ` Stefan Kangas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/emacs/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=YYllkK1NLWYJ00OB@ACM \
    --to=acm@muc.de \
    --cc=51590@debbugs.gnu.org \
    --cc=eliz@gnu.org \
    --cc=juri@linkov.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/emacs.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).